Java语言基础阶段性知识点总结(一)

本文详细介绍了Java编程中的标识符构成、命名规范,包括大小写敏感、命名建议,以及算术、赋值、比较、逻辑和三元运算符的使用。同时涵盖了流程控制(顺序、分支、循环)、数组概念、类与对象、成员变量与局部变量的区别等内容。

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)成员变量的生命周期与对象的生命周期一致,当对象销毁时才会销毁。 因为局部变量会随方法被调入到栈桢中,所以局部变量的生命周期会跟栈 桢的生命周期一致。当栈桢弹出时,栈桢就从栈中销毁了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值