一. 标识符
1. 标识符的使用
例如:类名,变量名,方法名,接口名,包名
2. 标识符的命名规则(不遵守直接报错)
- 由 26 个英文字母大小写,0-9 ,_或 $ 组成。
- 数字不可以开头。
- 不可以使用关键字和保留字,但能包含关键字和保留字。
- Java 中严格区分大小写,长度无限制。
- 标识符不能包含空格。
3. 命名规范(遵守不会报错)
- 包名:多单词组成时所有字母都小写:xxxyyyzzz
- 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
- 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
4. 关键字和保留字
1. 注意保留字都是小写
2. 关键字查看网站:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
3. 保留字:goto 、const
5.Tip
- 为了提高阅读性,起名字要“见名知意”。
- java 采用 unicode 字符集,也可以使用汉字声明,但是不建议使用。
二. 变量
1. 定义变量的格式
数据类型 变量名 = 变量值;
int var = 10;
2. 变量的分类
按数据类型
- 基本数据类型
- 数值型
- 整数类型 (byte \ short \ int \ long)
- 浮点类型 (float \ double)
- 字符型 (char)
- 布尔型 (boolean)
- 数值型
- 引用数据类型
- 类 (class) (字符串在这里)
- 接口 (interface)
- 数组 (array)
按声明的位置(后面细讲)
- 成员变量
- 局部变量
3. 整数
1. 整数类型
类 型 | 占用存储空间 | 表数范围 |
---|---|---|
byte | 1 字节=8bit 位 | -128 ~ 127 |
short | 2 字节 | -215 ~215-1 |
int | 4 字节 | -231 ~ 231-1 (约 21 亿) |
long | 8 字节 | -263 ~ 263-1 |
2. 声明 long 型后面加‘l’或‘L’,不加则默认为 int 型。(long l1 = 1234567890L)
4.浮点
1. 浮点类型
类 型 | 占用存储空间 | 表数范围 |
---|---|---|
单精度 float | 4 字节 | -3.403E38 ~ 3.403E38 |
双精度 double | 8 字节 | -1.798E308 ~ 1.798E308 |
2. 声明 float 型后面加‘f’或‘F’,不加则默认为 double 型。(float f1 = 12.3F)
3. float 表示的数值范围比 long 大
5. 字符
1. 字符类型
类 型 | 占用存储空间 |
---|---|
char | 2 字节 |
2. 定义使用单引号 ‘’ (char c1 = ‘a’)
3. 三种表现形式
- 一个字符(数字也算字符)
- 转义字符(\n \t)
- 直接用 Unicode 值来表示字符型常量 (\u0043)
5. 布尔类型
1. 只允许取值 true 和 false。
2. 通常在条件判断,循环结构中使用。
6. Tip
- 变量必须先声明,后使用。
- 变量都定义在其作用域内。出了作用域,则失效。
- 同一个作用域内,不可以声明两个同名的变量。
三. 基本数据类型的运算规则
1. 自动类型提升
当容量小的数据类型的变量和容量大的做运算时,结果自动提升为容量大的
byte , short , char -> int -> long -> float -> double
当 byte , short , char 做运算时结果都是 int
2. 强制类型转化(自动类型提升的逆运算)
1. 需要使用强转符:()
2. 强制转化类型,可能有精度损失
- 被截断了
- 数据溢出