10. java基础知识(下)
文章目录
- 一、一带而过
- 二、字符串类型String
- 1. 简单了解
- 2. 关于结束符'\0'
- 3. 自动类型转换与强制类型转换
- 三、API文档与import导包
- 1. API文档
- 2. import导包
- 四、java中的数组
- 1. 创建
- 2. 遍历
- 3. 补充
- 4. Arrays类
- ① 简单介绍
- ② 练习
- 五、方法的重载
- 六、规范约束
- 七、内容出处
一、一带而过
① java中没有指针的概念,引用类型可以简单理解为其替代品
② java中常量定义为final;c语言的c11标准中,用const定义常量
java菜鸟教程
③ 正则表达式需要自己去谷歌上了解一下–很重要 不过在公司开发时一般会让我们直接用别人的,很少让自己写。
二、字符串类型String
1. 简单了解
c语言中是没有这个数据类型的
c语言中的字符串怎么保存
练习方式:
① 菜鸟教程
② java官方文档 – 内容比较新
中文版
package com.practice.demo;public class Main {public static void main(String args[]){String str1 = "Hello";String Str2 = " Word";System.out.println("str1 = " + str1);System.out.println("Str2.length() = " + Str2.length());System.out.println(str1 + Str2);System.out.println(str1.concat(Str2));char[] chars = str1.toCharArray();System.out.println("chars = " + chars);for(int i = 0; i < str1.length(); ++i){System.out.println("chars = " + chars[i]);}System.out.println("str1.toUpperCase() = " + str1.toUpperCase());}
}
2. 关于结束符’\0’
c语言:字符串是字符数组,需要通过’\0’标记字符串结尾。在定义字符数组时也需要给’\0’预留出位置,否则就会出现不可预料的后果。‘\0’也可以防止内存访问越界。
java语言:虽然Java的String类也是基于字符数组的方式实现的(这里说的是String这个数据类型的内部实现方式),但是java里没有’\0’这回事。因为java是面向对象语言,所以java中的String类不仅是一个字符数组,它是一个封装了字符数组的不可变对象,它内部通过字符数组和其它元数据(如:length)来管理字符串。length属性直接存储字符串的长度,可以直接根据这个长度判断字符串的结束位置。我们遍历字符串时,可以通过length判断字符串长度,从而避免越界访问
3. 自动类型转换与强制类型转换
使用时都需要注意,用不好就容易出错:
自动类型转换:从低到高
强制类型转换:从低到高
小品:主角与配角
可以结合这个小品理解:
前半段 – int(朱时茂) 与 char(陈佩斯) 上个世纪char也曾辉煌过,但是现在实际开发过程中,除了开发底层的一些东西时会用到char,其余时候几乎不常用
后半段 – String(朱时茂) 与 char(陈佩斯) 实际开发过程中,明明有写好的函数,非得自己写
三、API文档与import导包
1. API文档
jar包:创建java项目时通常会让我们导入jar包,这里面存放我们开发需要的一些库函数之类的东西
API文档:jar包中内容的说明文档
2. import导包
等同于c语言中#include<>的作用。假设我在demo包里开发,现在我想用tool包里的东西,此时就需要使用import导包。jar包里的东西默认所有包都可以直接用,因此不需要另外用import导包
例如:
我在Main.java中使用Student.java里的内容不需要用import导包,因为Main.java和Student.java同属于demo包。
但是我要在Main.java里使用Teachar.java里的内容就需要用import导包,因为Main.java在demo包里,而Teacher.java在tool包里,它俩不属于同一个包。
我们都知道.length()方法在java.lang包里,但是在Main.java里用它时不需要用import导包。这是因为java.lang已经包含在我们创建项目时导入的jar包里了,这个jar包里所有的东西默认是可以直接用的。
不同的目录下可以有同名的java类,导包时注意不要导错。
例如:
四、java中的数组
1. 创建
① 声明:
② 初始化:
2. 遍历
3. 补充
上述java数组其实不是特别常用,因为它属于静态数组。
4. Arrays类
① 简单介绍
Arrays是java自带的一个库,它里面提供了一些查询、排序等方法,帮助我们进行开发工作。
位置:
② 练习
五、方法的重载
方法:其实就是c里面的函数,只不过在java里换了个名字而已
方法的重载:一是方法名相同,二是参数个数或者参数类型不同。跟函数的返回值无关。
java的底层源码也用到了重载:
好处:只需要定义一个方法名就可以应对不同的输入情况,用起来更方便。
六、规范约束
该部分具体内容可以参看阿里java开发手册
补充:驼峰命名法起源于:Perl语言(脚本语言中的瑞士军刀)
七、内容出处
java
相关文章:
10. java基础知识(下)
文章目录 一、一带而过二、字符串类型String1. 简单了解2. 关于结束符\03. 自动类型转换与强制类型转换 三、API文档与import导包1. API文档2. import导包 四、java中的数组1. 创建2. 遍历3. 补充4. Arrays类① 简单介绍② 练习 五、方法的重载六、规范约束七、内容出处 一、一…...
kafka 在Linux安上的装部署
一、前言 Kafka 是一个分布式流处理平台,在大数据领域有着广泛的应用。在 Linux 系统上安装部署 Kafka 可以为我们搭建高效的数据处理环境。本教程将详细介绍在 Linux 中安装和部署 Kafka 的步骤。 二、准备工作 2.1 系统要求 确保你的 Linux 系统已经安装并配置…...
kill-start系统进程的研究
kill/start系统进程的研究 声明:内容的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 目录 kill/start系统进程的研究Windows系统进程简介特点系统进程 tas…...
【系统架构设计师】2024年下半年真题论文: 论面向服务的架构设计(包括解题思路和参考素材)
更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 真题题目(2024年下半年 试题1)解题思路论文素材参考面向服务的架构(SOA)概念和特征面向服务的架构关键技术面向服务的架构设计原则面向服务的架构设计案例分析SOA设计面临的挑战与应对策略真题题目(2024年下半…...
吴恩达深度学习笔记:序列模型(Sequence Models) 1.1-1.2
目录 第五门课 序列模型(Sequence Models)第一周 循环序列模型(Recurrent Neural Networks)1.1 为什么选择序列模型?(Why Sequence Models?)1.2 数学符号(Notation) 第五门课 序列模型(Sequenc…...
【Spring】Spring Web MVC基础入门~(含大量例子)
阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 一:什么是Spring Web MVC 1:Servlet 2:总结 二:MVC …...
使用ThorUi
摘要: 官网 今天遇到一个老项目,使用的是ThorUi组件库!之前没有用过这组件库,所以记录一下不同框架是使用情况! ThorUI 是一个基于 Thorium 的 UI 框架,用于构建跨平台的桌面应用程序。如果你打算使用 Thor…...
【Promise】自定义promise
文章目录 1 定义整体结构2 Promise 构造函数的实现3 promise.then()与promise.catch()的实现4 Promise.resolve()与Promise.reject()的实现5 Promise.all与Promise.race()的实现6 Promise.resolveDelay()与Promise.rejectDelay()的实现 1 定义整体结构 /*自定义 Promise */ (f…...
Docker容器部署Windows系统教程
本章教程,使用Docker容器部署一个Windows操作系统容器。 一、拉取容器 dockurr/windows:latest二、运行容器 docker run -dit --name win11 -v $PWD:/share -v /opt/iso/win11.iso:/custom.iso -p 3389:3389 -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-tim…...
js id数组转字符串
在 JavaScript 中,将数组转换为字符串有几种常见的方法。每种方法都有其特定的用途和格式。以下是一些常用的方法: 1. Array.prototype.join(separator) join 方法将数组的所有元素连接成一个字符串,并使用指定的分隔符(默认为逗…...
如何在 Android 上增加 SELinux 权限
SELinux(Security-Enhanced Linux)是一种强制访问控制(MAC)机制,它为 Android 系统提供了额外的安全层。通过 SELinux,系统管理员可以定义细粒度的安全策略,限制进程对文件、网络和其他资源的访…...
MySQL:数据类型建表
问题:我想建一个名为create和database的库可以吗? 如果按照一般的类型来建带有关键字的库 就会出现报错 如果我们这样写的话:关键词 ,则会建库成功。 选择要进行操作的数据库 use数据库 判断选择的库是否成功 删除数据库 drop…...
Linux:版本控制器git的简单使用+gdb/cgdb调试器的使用
一,版本控制器git 1.1概念 为了能够更方便我们管理不同版本的文件,便有了版本控制器。所谓的版本控制器,就是能让你 了解到⼀个文件的历史,以及它的发展过程的系统。通俗的讲就是⼀个可以记录工程的每⼀次改动和版本迭代的⼀个…...
【React.js】AntDesignPro左侧菜单栏栏目名称不显示的解决方案
作者:CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境:WebStorm 目录 问题概述 原因 解决方案 解决方法 潜在问题修改 最终效果呈现 额外内容 管理员界面路由配置 WebStorm背景更换 法一: 法二: 问题概…...
力扣力扣力:91.解码方法
91. 解码方法 - 力扣(LeetCode) 在完成动态规划入门之后,我们先整一个中档题,也是前面简单题的变体。 分析思路: 在拿到最终结果之前,我们应该明确什么样的数字序列能够解码。 规则1:由于只有…...
一些面试题总结(二)
21、TCP的四次挥手? 在断开TCP连接时,需要通过四次挥手来断开,过程是: (1)客户端向服务端发送FIN1和序列号SEQx的数据包,用来关闭客户端到服务端的数据传送。然后客户端进入 FIN-WAIT-1 状态。 (2)服务端接收FIN后,…...
Hive-testbench套件使用文档
Hive-testbench套件使用文档 hive-testbench 是hortonworks的一个开源项目,用于测试和基准测试 Apache Hive 的工具集。它提供了一系列的测试数据集和查询样例,用于评估和比较 Hive 在不同配置和环境下的性能。hive-testbench 的主要目标是模拟真实的大规模数据集和复杂查询…...
大数据新视界 -- 大数据大厂之 Impala 性能优化:新技术融合的无限可能(下)(12/30)
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
Python | Leetcode Python题解之第540题有序数组中的单一元素
题目: 题解: class Solution:def singleNonDuplicate(self, nums: List[int]) -> int:low, high 0, len(nums) - 1while low < high:mid (low high) // 2mid - mid & 1if nums[mid] nums[mid 1]:low mid 2else:high midreturn nums[l…...
AHB Matrix 四星级 验证笔记(2.4) Tt3.3AHB总线协议测试时的 并行数据
文章目录 前言一、代码二、错误1.地址范围2. 并行执行线程中变量覆盖的情况3.有关incr的beat 前言 来源路科验证本节搞定 T3.3 AHB总线协议的覆盖:AHB_PROTOCOL_COVER 即测试ahb slave接口和master接口支持(尽可能)全部的ahb协议传输场景&am…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...


















