目录
1. 语法基础
1.1 标识符
1.1.1 概念:
是给包、类、变量、方法、接口等起名字(自己起的)的字符序列。
1.1.2 命名规则和规范
1、命名/组合规则
主要由英文大小写字母(a-z 、 A-Z)、中文汉字、数字(0-9)、美元符号$、下划线组成;
注意:
① 数字不能用做开头,也不可以单独使用;
② 关键字不可用作标识符,区分大小写可以使用(因为Java严格区分大小写),但是容易产生冲突,不建议使用;
③ 美元符号$不可以随便使用;
④ 不建议使用中文汉字命名。
2、命名规范(见名知意)
(1)大驼峰命名法(Upper Camel Case):每个单词的首字母都要大写,如类名、接口名等;
(2)小驼峰命名法(Lower Camel Case):第一个单词全部小写,从第二个单词开始每个单词的首字母都要大写,如变量名、方法名等;
(3)其他命名法:①常量命名法:每个单词全部大写,且单词之间用下划线进行分割,如MAX_VALUE;②包名命名法:每个单词全部小写,如com.csdn.test,每一级的包名之间用点进行分隔。
1.2 关键字
关键字是Java中被赋予了特殊含义的单词。如类定义相关的(class、implements、extends等)、权限修饰符(private、public、protect等)、基本数据类型(byte、short、int等)、控制结构语句(if、else、switch等)等等。
注意:
①关键字全部小写;
②goto和const是特殊的关键字,没有特定的含义,又称为保留字;
③eclipse、ideal等开发工具对于关键字会有特殊的高亮显示。
1.3 注释
1.3.1 概念
解释说明程序的,不会影响程序的编译运行。
1.3.2 分类
1、行注释——注释一行内容
格式://注释内容
2、块注释——注释多行内容
格式:/*注释内容*/
3、文档注释——注释多行内容
格式:/**注释内容*/
文档注释一般用于类、方法、属性等位置进行解释说明,需要时可以将其提取成一个说明文档。
注意:
① 块注释可以嵌套行注释,即 /* 注释内容1 //注释内容2 */ ;
② 块注释和文档注释不可以嵌套自身注释,也不可以相互嵌套,因为嵌套使用容易分不清楚注释的结束点在哪;
③注释可以帮助我们理清编码思路,可以提高代码的可读性。
1.4 变量和常量
1.4.1 概念
是可以通过一个自定义的名称来指向具体的数据值的量;
变量是引用可以发生变化的量;
格式:数据类型 变量名 = 初始化值;
例:int num = 2;//一个名为num的变量
常量是引用不可以发生变化的量。
格式:final 数据类型 常量名 = 初始化值;
例:final int PI = 3.141592653589793;//圆周率
1.4.2 成员变量和局部变量
1、概念
成员变量:又称实例变量,定义在类中、方法外;
局部变量:定义在方法、代码块和语句结构中的变量。
2、区别
(1)定义的位置不同
成员变量:在类中方法外;
局部变量:在方法、代码块、语句结构中。
(2)作用域不同
成员变量:作用于整个类;
局部变量:作用于某个方法、某个代码块、某个语句结构中。
(3)内存中的位置不同
成员变量:对象的堆内存中;
局部变量:方法、代码块或语句结构调用/执行时,在栈中开辟的空间。
(4)默认值不同(是因为内存中的位置不同所带来的不同)
成员变量:在堆中创建,程序会给出对应类型的默认值;
局部变量:在栈中创建,程序不会给出默认值,因此局部变量必须手动初始化。
(5)生命周期
成员变量:创建对象时,随之创建。只要对象存在,则成员变量会一致存储在对象的内存中;当没有引用指向地址时,在不确定的时间,会由垃圾回收器将对象内存释放,成员变量也会随之消亡。
局部变量:当方法(代码块、语句结构等)执行时,创建局部变量;当方法(代码块、语句
结构等)执行完成后,方法(代码块、语句结构等)的内存释放,局部变量也会随之消亡。
(6)调用方式不同
成员变量:在本类的方法中调用成员变量,需要引用this关键字来调用;在子类的方法中调用父类的成员变量,需要引用super关键字来调用。
局部变量:直接引用变量名来调用。
class Person{
public int age = 3;
}
class Chinese extends Person{
public int age = 2;
public void test(){
int age=1;
System.out.println(age);//获取的是test方法的局部变量age = 1
System.out.println(this.age);//获取的是本类(Chinese类)的成员变量age = 2
System.out.println(super.age);//获取的是父类(Person类)的成员变量age = 3
}
}
(7)成员变量和局部变量可以同名,因为作用域不同,两者互不影响。