Java数据类型分析
八大基本数据类型:
-
-
byte
-
short
-
int
-
long
-
-
小数
-
float单精度
-
-
引用数据类型:除了基本类型以外的其他类型
字符串
数组
对象
| 字节数 | 数值范围 | |
| byte | 1 | -128~127 |
| short | 2 |
-32768~32767 (-2^15~2^15-1) |
| int(默认) | 4 |
-2147483648~2147483647 (-2^31 ~ 2^31-1) |
| long | 8 | -2^63 ~ 2^63-1 |
| float | 4 | 负数范围:-3.4x10^38~-1.4x10^-45,正数范围:1.4x10^-45~3.4x10^38 |
| double(默认) | 8 | -1.7x10^308~-4.9x10^-324,正数范围:4.9x10^-324~1.7x10^308 |
| boolean | 1 | 值为true或者false,true表示为真,false表示假 |
| char | 要保证写入字符集和读取字符集一致 | |
注意:
- 若要定义一个long型,需要在数字后加一个L。
- 小数在计算机表示是不精确的,需要精确运算以及大整数运算时,应该使用BigDecimal类。
- Java中小数默认类型是double,如果要使用float需要在最后加一个f。
- long类型虽然有8个字节,但是存储的范围比float小,因为float使用指数存储。
- java中,字符串在不同字符编码中字母和汉字占字节数情况:
- ①Unicode:字母 2 汉字 2 占位符 2
- ②GBK: 字母1 汉字2
- ③UTF-8:字母1 汉字3
-
小的向大的转化,自动转换
规则:byte→short→int→long→float→double
-
大的向小的转换,需要强制转换,但是需要合理,同类型
-
大的向小的转换,就会不合理,可能会出现回转,例如int向byte转换,128可能输出-127
-
char 型向int转换,得到原ASCII码,不需要强制转换。
-
int 向char转化需要强制转换
-
对byte类型只能进行++操作,不然还需要进行数据转换
/
// 经典面试题 byte b1 = 1; // b1++; b1 = (byte) (b1 + 1); System.out.println(b1); // b1++; 与 b1 = b1 + 1; // 自增会自动转换类型,而+法不会,需要强转类型 } }

浙公网安备 33010602011771号