1.数据类型
- 1.1基本数据类型
- 整数型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)
- 浮点型:float(4字节)、double(8字节)
- 字符型:char(2字节)
- 布尔类型:boolean(1字节)
short和char都是两字节,实际容量相同,但是short有符号类型,char是无符号类型,所以char能表示更大的数值。
- 1.2引用数据类型
java中除了基本数据类型,都是引用类型,比如String。
2.字符型
- 字符编码
- 为什么需要字符编码?
- 字符对应的是“文字”,需要将“文字”转换为计算机能识别的二进制,所以需要字符编码。
- 字符编码,起到将“文字”和特定的二进制的对应关系。
- 过程
- 编码
- 解码(编码和解码方式不同,会出现乱码现象,因为使用了不同的对应关系,解码错误)
- 编码方式
- ASCII
- ISO-8859—1
- GBK
- Unicode(统一编码方式utf-8、utf-16、utf-32)
- 为什么需要字符编码?
- 用单引号
''
括起来 - 转义字符
- 本质还是一个字符
'\u4e2d'
——\u表示后边跟的为使用Unicode编码方式表示的字符
3.进制
- 二进制
0b
- 十进制
- 八进制
01
- 十六进制
0x
4.整型
在java中,所有整型的字面量都默认当作int类型处理。如果希望按long类型处理,需要用
L
后缀。
如:int a = 0;
和long b = 1L;
5.类型转换
- 自动类型转换
- 小容量类型可以自动转换为大容量类型。
- 如:
long a = 100;
(将int类型字面量自动类型转换为long类型字面量,并赋给long类型变量a)
- 强类型转换
- 大容量类型不可以自动转换为小容量类型,需要使用强制类型转换,会损失精度。
- 如:
long a = 100L;
int b = (int)a;