数据类型
基本数据类型
基本又分为:
整数型 | 位数 | 取值范围 |
---|---|---|
byte | 8 | -2^7 ~ 2^7-1 |
short | 16 | -2^15 ~ 2^15-1 |
int | 32 | -2^31 ~ 2^31-1 |
long | 64 | -2^63 ~ 2^63-1 |
浮点型 | 位数 | 取值范围 |
---|---|---|
float | 32 | -2^31 ~ 2^31-1 |
double | 64 | -2^63 ~ 2^63-1 |
字符型 | 位数 | 取值范围 |
---|---|---|
char | 16 | 0 ~ 2^16-1 |
布尔类型 | 位数 | 取值范围 |
---|---|---|
boolean | 8 | true | false |
引用数据类型
Java中除了基本数据类型以外,其他的类型都有自己的方法和属性,这种我们就叫他引用数据类型。
String是Java自带的引用数据类型,表示一个字符串。
数据类型转换
自动转换(隐式转换)
小的数据类型转大的数据类型会自动转换
byte b = 3;
int i = 10;
int sum = b + i; //自动转换
System.out.println(sum);
long l = 1024;
float f = 2145.15F; //浮点型默认的数值为double类型,需要在数值后面加F转换为float类型
float sum = l + f; //浮点型最小的float整数型最大的long的取值范围比都大
System.out.println(sum);
char c = 'Z';
int i = 124;
//char类型在向高长度类型转换时,会自转换为ASCII码值,再进行其他类型的转换
int sum = c + i;
System.out.println(sum);
boolean类型不能和其他的数据类型转换
强制转换
大数据类型转小数据
高低转换会导致精度丢失,不同类型之间的转换,可能会导致精度的下降
int i = 124;
byte b = (byte)i; //强制转换需要注意数据类型的取值范围
System.out.println(b);