第一章
Java的介绍与前景
Java是1995年由Sun公司推出的一门极富创造力的面向对象的程序设计语言,最初的名字为OAK,由詹姆斯.戈士林博士亲手设计的。
Java的特性与版本
Java是最好的跨平台开源编程语言
Java代码.java通过编译生成字节码文件.class运行结果
二,常量与变量
1,标识符与关键字
①.标识符
-
标识符是由字母,下划线,美元符号和数字组成
-
数字不能为开头
-
要注意避开关键字
-
关键字 关键字又称保留字,是java语言中已经被赋予特定意义的一些单词,不可以把这些单词作为标识符来使用。
-
,变量
成员变量:成员变量在整个类中都有效
局部变量:局部变量只在当前代码块中有效
建一个part类,设置两个名称不同的变量
-
常量
常量在整个程序中只能被赋值一次,且不能改变,如果一个常量已经被赋值了之后再次给它赋值就会报错,然后强行运行就会报错
三,常用的运算符
Java的常用运算符包括
- 算术运算符: 用于数学运算,包括 +(加法)、-(减法)、*(乘法)、/(除法)和 %(取模)。
- 赋值运算符: 用于给变量赋值,包括 =(赋值)、+=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)和 %=(模等于)。
- 比较运算符: 用于比较两个值,包括 ==(等于)、!=(不等于)、<(小于)、>(大于)、<=(小于等于)和 >=(大于等于)。
- 逻辑运算符: 用于逻辑操作,包括 &&(逻辑与)、||(逻辑或)和 !(逻辑非)。
- 位运算符: 用于按位操作二进制数据,包括 &(按位与)、|(按位或)、^(按位异或)、~(按位非)、<<(左移)和 >>(右移)。
- 三元运算符: 用于条件判断,格式为 condition ? value1 : value2。如果条件为真,则返回 value1,否则返回 value2。
- 类型运算符: 用于检查变量或值的类型,包括 instanceof。
- 此外,Java还支持条件运算符 ? : 和位运算符 & 、|、 ^、~、 << >>。这些运算符在特定情况下非常有用。
四,流程控制语句
在Java程序中,JVM默认总是顺序执行以分号;结束的语句。但是,在实际的代码中,程序经常需要做条件判断、循环,因此,需要有多种流程控制语句,来实现程序的跳转和循环等功能。\n\n 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块
1 ,f语句可以分为简单的if条件语句,if....else语句和if....else if的语句;
if (condition) {
// 如果条件为真,执行此代码块
} else {
// 如果条件为假,执行此代码块
}
if (condition1) {
// 如果条件1为真,执行此代码块
} else if (condition2) {
// 如果条件2为真,执行此代码块
} else {
// 如果条件1和条件2都为假,执行此代码块
}
2、循环语句:使用for、while和do-while语句重复执行代码块。
for (int i = 0; i < 10; i++) {
// 执行此代码块10次
}
while (condition) {
// 当条件为真时,执行此代码块
}
do {
// 执行此代码块
} while (condition);
3、转移语句:使用break和continue语句控制循环的流程。break用于完全退出循环,而continue用于跳过当前循环的剩余部分并进入下一次循环
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // 当 i 等于 5 时完全退出循环
}
}
for (int i = 0; i < 10; i++) {
if (i == 5) {
continue; // 当 i 等于 5 时跳过剩余的循环体,进入下一次循环
}
}
五,数组
1,一维数组的声明
数组元素的类型【】 数组名
数组元素的类型 数组名 【】
2,一维分配内存
数组名=new 数组元素的类型【数组长度】
分配内存同时设置初始值
数组名=new 数组元素的类型【】{值1,值2,...,值n}
3,一维数组元素赋值
数组名[ 索引 ](类似于序号)=值;
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 12 out of bounds for length 12
at GetDay.main(GetDay.java:8)//数组越界
解决方案将数字换为数组名.lenght
4,二维数组的声明
数组元素的类型【】 数组名
数组元素的类型 数组名 【】
5,二维数组分配内存
数组名=new 数组元素的类型[行数][列数]
二维数组分配内存同时设置初始值
6,二维数组元素赋值
数组名[ 索引 ]= {值1,值2,...};
数组名[ 行号 ][ 列号 ]= 值 ;
7,替换数组元素
Arrays.fill(数组名,值);
8,替换部分数组元素:前改后不改
Arrays.fill(数组名,前索引,后索引,值);
9,复制数组元素:空位补0 溢出去掉
新数组名=Arrays.copyOf(旧数组名,新数组长度);
10,复制数组部分元素:前在后不在
新数组名=Arrays。copyOFRange(旧数组名,前索引,后索引);
11,数组元素排序
Arrays.sort(数组名);
12,查询数组元素:先排序再查询
索引= Arrays.binarySearch(数组名,值);
13,查询数组元素:先排序再查询,前含后不含
索引= Arrays.binarySearch(数组名,前索引,后索引,值);