2023019202 ZYT
标识符
Java中标识符是为了方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个字符。
标识符构成
- 由字母(A-Z和a-z)、数字(0-9)、下划线“_”、美元符号“$”或者“¥”组成(各符号之间没有空格)。
- 首字符可以是字母、下划线和美元符号,但不能是数字,后面可以是任何字母、数字、美元符号或者下划线。
标识符命名规则
1)标识符不能以数字作为首字母开头
2)标识符严格区分大小写。
3)使用java关键字或保留字
命名规范:
4)建议:标识符号需要做到英文的“见名知意”
5)大驼峰命名法:首字母大写,后面组合的每个单词首字母大写---类名
6)小驼峰命名法:首字母小写,后面组合的每个单词首字母大写---方法名
7)变量命名规范:全部小写
关键字
Java语言中的关键字对Java编译器有特殊的意义,它们用来表示一种数据类型或者表示程序的结构等,如 int、float、if、else......
在Java中目前一共有53个关键字:其中由51+2个保留字=53个关键字。
48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。
3个特殊直接量:true、false、null。
2个保留字:goto、const。
保留字
是为java预留的关键字,虽然没有作为关键字,但是在以后的升级版本中有可能作为关键字。
注:由于Java区分大小写,因此public是关键字,而Public则不是关键字。但是为了程序的清晰以及可读性,要尽量避免使用关键字的其他形式来命名。
运算符
含义: 一种特殊的运算符号,用来表示数据的运算、赋值和比较
运算符分类:算术运算符、赋值运算符、比较运算符、逻辑运算符、三元运算符
算术运算符

++单独使用时:
++在前面和后面没有什么区别,都是对变量进行自增+1
++参与其他数值运算时:
++在前面,先对变量自加1,再参与运算
++在后面,先参与运算,自身再自加1
赋值运算符

比较运算符

使用过程中,需要注意:
= 是赋值符号,不能进行比较运算
== 是比较符号,比较的是两边数据的:类型和数值(或者存储地址)
逻辑运算符

使用过程中,需要注意:--“短路现象”
整个表达式的结果,由表达式 1 的结果就能确定!那这种现象就叫“短路现象”。
结果 A = 表达式 1 && 表达式 2;
如果表达式 1 的结果为 false,则不用计算表达式 2,结果 A 的值就是 false
结果 B = 表达式 1 || 表达式 2;
如果表达式 1 的结果是 true,则不用计算表达式 2,结果 B 的值就是 true
条件运算符
条件运算符也被称为三元运算符,或者也叫三目运算符。
该运算符有 3 个表达式,格式:
数据类型 变量名 = 布尔类型的表达式 1 ? 表达式 2 : 表达式 3;
计算方式:
布尔类型的表达式 1 的结果如果是 true,那三元运算整体结果是表达式 2,并赋 值给变量
布尔类型的表达式 1 的结果如果是 false,那三元运算整体结果是表达式 3,并赋 值给变量
例如: double x = 10 > 20 ? 3.14 : 4.14 ;
x 的值应该为:4.14
流程控制
java的流程有顺序结构、分支结构和循环结构
顺序结构
顺序结构是指代码按照从上到下的顺序依次执行,这是最基本的程序流程控制。
分支结构
if
if结构

if...else...结构

if...else if...else结构

switch
switch语句也是根据不同的条件选择不同的执行路径,它适用于多个选项的情况,并且比if-else语句更加简洁清晰。
switch (表达式) {
case 值1:
// 当表达式的值等于值1时执行的语句
break;
case 值2:
// 当表达式的值等于值2时执行的语句
break;
...
default:
// 当表达式的值都不等于以上各个值时执行的语句
}
循环结构
for循环
for循环是一个特定次数的循环,可以用于遍历数组或执行其他需要固定次数的操作。for循环的基本语法如下:
for (初始化; 条件; 迭代) {
// 循环体语句
}
例如:
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
在这个例子中,i从0开始,每次递增1,直到i的值等于10为止,循环结束。
while循环
while循环会在满足条件时一直执行代码块,它的基本语法如下:
while (条件) {
// 循环体语句
}
例如:
int i = 0;
while (i < 10) {
System.out.println(i);
i++;
}
在这个例子中,i从0开始,每次循环先判断i是否小于10,如果成立则执行循环体语句,并将i的值加1,直到i的值大于等于10为止,循环结束。
do…while循环
do-while循环与while循环类似,但它会先执行一次代码块,然后再根据条件判断是否继续执行。do-while循环的基本语法如下:
do {
// 循环体语句
} while (条件);
例如:
int i = 0;
do {
System.out.println(i);
i++;
} while (i < 10);
在这个例子中,先执行一次循环体语句,然后判断i是否小于10,如果成立则继续执行循环体语句,并将i的值加1,直到i的值大于等于10为止,循环结束。
注意:
break、continue、return间的区别
break 用在循环中,终止整个循环的运行!
如果是多层循环嵌套时, break 只结束直接包含它的那个循环,其他循环不受影响。
continue 用在循环中,跳过当前次循环,继续执行下次循环!循环是不会被终止的!
return 可以用来给方法,做返回值的返回!也可以用在循环结构或者分支结构中,用来终止程序 的,注意它终止的是当前循环结构或者分支结构所在的方法。
作为方法返回值返回时,后面必须跟需要返回的值;
但是如果只是用来终止程序的 ,return后面是不能跟任何值或者变量的。
while和do-while语句的区别
while 与 do-while 都是用于执行循环结构的语句,区别在于:
(1) while循环 先判断再执行,而 do-while循环先执行一次,再判断。
(2)那么,当初始情况不满足循环条件时, while循环就一次都不会执行,而 do-while循环不管 任何情况都至少会执行一次。
数组
数组是数据的集合,一个容器,用来存储任何类型的数据,包括原始数据类型和引用数据类型,但是一旦指定了数组的类型之后,就只能用来存储指定类型的数据。
数组声明的三种方式:
- 数据类型[] 数组名 = new 数据类型[长度];
- 数据类型[] 数组名 = {数据,数据,…,数据};
- 数据类型[] 数组名 = new 数据类型长度[] {数据,数据,…,数据};
一维数组:
数组变量的声明:
语法:数据类型[] 数组名;,如:int[] num;、double[] d;、String[] str;
数组对象的创建:
语法:数组名 = new 数据类型[长度];,如:num = new int[4];,数组声明其长度后不可改变
赋值:语法:数组名[下标] = 数据;,如:num[0] = 3;
二维数组:
还没整明白
Arrays 类提供了许多用于操作数组的常用方法。以下是一些常用的 Arrays 方法: equals():比较两个数组是否相等。 toString():将数组转换为字符串表示形式
数组常用方法
Arrays 类提供了许多用于操作数组的常用方法。以下是一些常用的 Arrays 方法:
toString():将数组转换为字符串表示形式

equals():比较两个数组是否相等。

copyOf():复制数组并创建一个新数组

sort():对数组元素进行排序

binarySearch():在已排序的数组中使用二分查找算法查找指定元素的索引

length:是数组的固有属性,表示数组存储元素的多少(长度)

访问数组的元素
数组通过下标来访问内部元素

访问数组的所有元素

输出数组的内容
toString():将数组转换为字符串表示形式

修改数组的元素

数组的复制
System.arraycopy() 是Java中一个用于数组复制的方法。
它可以将一个数组的元素复制到另一个数组中。
下面是 System.arraycopy() 的使用方式和示例:
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
参数说明:
src:源数组,即要复制元素的原始数组。
srcPos:源数组中的起始位置,从该位置开始复制元素。
dest:目标数组,即要将元素复制到的目标数组。
destPos:目标数组中的起始位置,从该位置开始将元素复制。
length:要复制的元素数量。

这种复制方式也叫“扩容”。
但本质是申请了一个新数组,只不过包含了旧数组的所有元素
Arrays.copyOf() 是Java中一个用于数组复制的方法。它可以创建一个新数组,并 将原始数组的元素复制到新数组中。下面是 Arrays.copyOf() 的使用方式和示例:
Arrays.copyOf(T[] original, int newLength)
参数说明:
original:原始数组,即要复制元素的数组。
newLength:新数组的长度。

数组的排序
Arrays.sort() 是Java中一个用于数组排序的方法。它可以对数组中的元素进 行升序排序。
下面是 Arrays.sort() 的使用方式和示例:
Arrays.sort(T[] array)
参数说明:
array:要排序的数组。

方法
类与对象
1、类
具有相似内部状态和运动规律的实体的集合(或统称为抽象)。 具有相同属性和行为事物的统称。
2、对象
某一个具体事物的存在 ,在现实世界中可以是看得见摸得着的。 可以是直接使用的
3、类和对象的关系
类是对象的模板,对象是类的实例,对象不能离开类
4、类和对象的创建
1)类定义的语法格式:
public class 类名 {
//可编写0至n个属性
数据类型 变量名1;
数据类型 变量名2;
//可编写0至n个方法
修饰符 返回值类型 方法名(参数){
执行语句;
}
}
2)创建对象的语法格式: 类名 对象名 = new 类名();
3)访问属性的语法格式为: 对象名.属性名
4)访问方法的语法格式为: 对象名.方法名 接下来以一个具体的案例来演示一下类的定义和对象的创建过程。
5、案列
1)定义一个学生类
public class Student {
String name; //姓名属性
String gender; //性别属性
int age; //年龄属性
//方法
public void showInfo(){
System.out.println(name+","+gender+","+age);
}
}
2)写一个测试类
public class Demo1 {
public static void main(String[] args) {
Student student=new Student(); //创建一个对象student,该student属于Student类
student.name="张三"; //设置对象的属性
student.gender="男";
student.age=20;
student.showInfo(); //调用对象的方法
}
}
对象的内存图解
代码:
public static void main(String[] args) {
Student student=new Student();
student.name="张三";
student.gender="男";
student.age=20;
student.showInfo();
}

成员变量与局部变量
1、成员变量类中的属性
2、局部变量 方法中的变量
3、成员变量与局部变量的异同?
1)成员变量是类中的成员,当类创建对象之后,会默认给成员变量设置初 始值。不同的数据类型初始值不同。局部变量,是方法中的变量,默认情 况下不会设置初始值,那么在使用该变量时,必须要手工的设置初始值。
2)成员变量的生命周期与对象的生命周期一致,当对象销毁时才会销毁。 因为局部变量会随方法被调入到栈桢中,所以局部变量的生命周期会跟栈 桢的生命周期一致。当栈桢弹出时,栈桢就从栈中销毁了
本文详细介绍了Java编程中的标识符构成、命名规范,包括大小写敏感、命名建议,以及算术、赋值、比较、逻辑和三元运算符的使用。同时涵盖了流程控制(顺序、分支、循环)、数组概念、类与对象、成员变量与局部变量的区别等内容。

950

被折叠的 条评论
为什么被折叠?



