八个基本类型
- 逻辑型 boolean
- 字符型 char
- 整数型 byte, short, int, long
- 浮点型 double, float
类型 | 长度 |
---|---|
boolean | 8 bits |
byte | 8 bits |
short | 16 bits |
char | 16 bits |
int | 32 bits |
long | 64 bits |
float | 32 bits |
double | 64 bits |
boolean类型只有true和false两个值可供选择。
char类型使用Unicode编码,它为每一个字符指定了唯一的数值,char类型可以和整形相互转换,可以使用单引号”来标记一个字符,保留字的字符和不能直接输入的字符,在使用时前面加转义符。
整数型数据根据具体的数据长度要求选择适当的类型来存储,可以节省资源。当整数的大小超出了其表示范围时,就会产生溢出,处理方法如加上L,变成long类型。
生活中有需要用到小数的情形时,整数类型就不满足要求了,这时需要使用浮点类型。浮点文字包括小数点或下列各项之一:
- E或e (增加指数值)
- F或f (float)
- D或d (double)
基本类型的默认值
类型 | 默认值 |
---|---|
boolean | false |
byte | byte(0) |
short | short(0) |
char | \u000 (空,”) |
int | 0 |
long | 0l |
float | 0.0f |
double | 0.0d |
虽然在变量声明没有赋初值时,系统会自动赋予默认值,但是不建议这么做,因为这样就无法判断变量是否已经分配应有的值了,所以最好避免未赋值变量的存在。
数据类型的转换
java的数据类型转换分为自动类型转换和强制类型转换:
- 自动类型转换
条件:
(1)转换前的数据类型和转换后的数据类型兼容。
(2)转换后的数据类型的表示范围比转换前的大。
注意:
整数型数据和浮点型数据的运算结果是浮点类型的。
任何数据I类型遇到string类型数据都向其转型。 - 强制类型转换
强制类型转换只要在需要转换的变量的前面加上要转换成的数据类型即可。由于是高精度向低精度的转换,所以可能引起附值的异常。