1. 关键字(keyword)
- 关键字:被Java语言赋予特殊含义的字符串。
- 注意点:关键字都是小写的!
- Java规范了50个关键字(包含了goto、const两个保留字)
- 额外的三个字面量true、false、null虽然不是关键字,但是我们也把他们看做是关键字。
2. 标识符
- 凡是可以自己命名的地方,都是标识符。
- 标识符都有哪些位置?类名、变量名、包名、方法名、接口名、常量名等
- 标识符的命名规则
(如果不遵守,编译不通过。要求大家遵守)
由26个英文字母大小写,0-9 ,_或 $ 组成
数字不可以开头。
不可以使用关键字和保留字,但能包含关键字和保留字。
Java中严格区分大小写,长度无限制。
标识符不能包含空格。
- 标识符的命名规范
(如果不遵守规范,不影响程序的编译和运行。建议大家遵守,否则容易被鄙视)
包名:多单词组成时所有字母都小写:xxxyyyzzz。
例如:java.lang、com.atguigu.bean类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
例如:HelloWorld,String,System等变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
例如:age,name,bookName,main,binarySearch,getName常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
例如:MAX_VALUE,PI,DEFAULT_CAPACITY
- 标识符在声明时,要见名知意!
3. 变量的基本使用
- 内存中的一个存储区域,该区域的数据可以在同一类型范围内不断变化
- 变量的构成包含三个要素:数据类型 变量名 变量值
- Java中变量声明的格式:数据类型 变量名 = 变量值;
- Java是一门强类型的语言。即每一个变量都规定了具体的类型。
- 使用变量注意:
- Java中每个变量必须先声明,后使用。
- 使用变量名来访问这块区域的数据。
- 变量的作用域:其定义所在的一对{ }内。
- 变量只有在其作用域内才有效。出了作用域,变量不可以再被调用。
- 同一个作用域内,不能定义重名的变量。
4. 基本数据类型的变量
变量按照数据类型来分:
基本数据类型:整型(byte \ short \ int \ long ) 、浮点型(float \ double ) 、字符型char 、布尔型boolean引用数据类型:类(class)、接口(interface)、数组(array); 注解(annotation)、枚举(enum)、记录(record)
- 整型变量
//1. 整型的使用:
//byte(1个字节=8bit,-128~127) \ short(2字节) \ int(4字节) \ long(8字节)byte b1 = 12;b1 = 127;
//①声明变量以后,给变量赋的值必须在变量类型所允许的范围内变化。
//b1 = 128;//因为超出了byte的范围,所以报错//② 给long类型变量赋值时,要求以"l"或"L"结尾
short s1 = 123;
int i1 = 1234;
long l1 = 12313123L;
System.out.println(l1);//③ 实际开发中,如果没有特殊需求的话,推荐大家使用int类型来定义整型变量。//④ 默认情况下,整型常量都是int类型
//int i2 = i1 + 2;
- 浮点类型
//2. 浮点型的使用:
// float(4字节) / double (8字节)
//① float虽然占用的空间比long小,但是表数范围比long大,进而float精度不高。//② 给float类型变量赋值时,要求以"f"或"F"结尾。否则,编译不通过
double d1 = 123.456;
//d1 = 123.456456456456456456; //体会double的精度也有限
System.out.println(d1);float f1 = 123.456f;
System.out.println(f1);//③ 实际开发中,如果没有特殊需求的话,推荐大家使用double类型来定义浮点型变量。//④ 默认情况下,浮点型常量都是double类型
double d2 = d1 + 12.34; //12.34是常量,是double类型
- char类型(字符类型)
//3.字符类型的使用:char (2字节)
//① 一般情况下,我们使用一对''表示一个具体的字符。
//说明:char定义变量的话,''内有且只能有一个字符
char c1 = 'a';//编译不通过
//char c2 = '';
//char c3 = 'ab';//② char类型变量的定义方式
//方式1:最常见的方式
char c4 = '中';
char c5 = '1';
char c6 = 'す';//方式2:直接使用Unicode值来表示字符型常量
char c7 = '\u0023';
System.out.println(c7);//方式3:使用转义字符
char c8 = '\n';
char c9 = '\t';
System.out.println("hello" + c8 + "world");
System.out.println("hello" + c9 + "world");//方式4:使用字符对应的ascii码值进行赋值
char c10 = 'a';
System.out.println(c10 + 1);char c11 = 97;
System.out.println(c10 == c11);//true
- 布尔类型(boolean)
//① 不谈boolean占用内存空间的大小
//② boolean类型只能取两个值之一:true 、 false
boolean b1 = true;
boolean b2 = false;//③ 开发中,我们常常在if-else结构、循环结构中使用boolean类型
boolean isMarried = false;
if(isMarried){System.out.println("很遗憾,不是单身了");
}else{System.out.println("不错,可以多谈几个女朋友了");
}
5. 基本数据类型变量间的运算规则
5.1 自动类型提升规则
byte、short、char ---> int ---> long ---> float ---> double
说明:
① 容量小的变量和容量大的变量做运算时,运算的结果是容量大的变量的数据类型。
(此时的容量小、容量大指的是存储数据的范围的大小,并非占用内存空间的大小。比如:float的容量要大于long的容量)
② byte、short、char 三者之间的变量做运算,结果是int类型。
③ 不管是自动类型提升规则,还是强制类型转换规则都只针对于基本数据类型中的7种进行操作(除了boolean类型)
5.2 强制类型转换规则
说明:
①看做是自动类型提升规则的逆运算
② 如果需要将容量大类型的变量转换为容量小的类型的变量时,就需要使用强制类型转换
③ 强制类型转换需要使用一对()表示
④ 使用强转符转换时,可能造成精度的损失
6. String与8种基本数据类型变量间的运算
- String的理解
String,即为字符串类型。
声明String类型的变量,可以使用一对""表示。
一对""内可以声明0个、1个或多个字符
- String与基本数据类型变量间的运算
String类型是可以与8种基本数据类型的变量做运算的。
String只能与8种基本数据类型的变量做连接运算:+
连接运算的结果只能是String类型。
7. 进制(了解)
- 计算机中存储和运算的
所有数据
都要转为二进制
。包括数字、字符、图片、声音、视频等。
7.1 常见的几种进制
-
熟悉:
-
十进制(decimal)
- 数字组成:0-9
- 进位规则:满十进一
-
二进制(binary)
- 数字组成:0-1
- 进位规则:满二进一,以
0b
或0B
开头
-
八进制(octal):很少使用
- 数字组成:0-7
- 进位规则:满八进一,以数字
0
开头表示
-
十六进制
- 数字组成:0-9,a-f
- 进位规则:满十六进一,以
0x
或0X
开头表示。此处的 a-f 不区分大小写
-
7.2 二进制与十进制间的转换
熟悉:二进制与十进制间的转换(见ppt)
-
表示二进制整数时,最高位为符号位。0:正数;1:负数。
-
二进制整数在存储时,涉及到原码、反码、补码。
-
正数:三码合一。
-
负数:负数的原码,除符号位外,各个位取反,得到负数的反码。
负数的反码+1,得到负数的补码。
-
-
计算机底层都是以二进制
补码
的形式存储数据的。
7.3 二进制与其它进制间的转换
- 了解:二进制与八进制、十六进制间的转换