八种基本数据类型及其类型转换
数据类型 | 关键字 | 内存占用 | 封装类 | 默认值(零值) | 取值范围 |
---|---|---|---|---|---|
整数类型 | Byte | 1 | Byte | (byte)0 | -128~127 |
short | 2 | Short | (short)0 | -32768~32767 | |
int(默认) | 4 | Integer | 0 | -2的31次方~ 2的31次方-1 | |
long | 8 | Long | 0L | -2的63次方~ 2的63次方-1 | |
浮点类型 | float | 4 | Float | 0.0F | 负数:-3.402823E+38到-1.401298E-45 ,正数:1.401298E-45到3.402823E+38 |
double(默认) | 8 | Double | 0.0D | 负数:-1.797693E+308到-4.9000000E-45 ,正数:4.9000000E-45到1.797693E+308 | |
字符类型 | char | 2 | Character | ‘\u0000’(对应数字0,输出为空) | 0~65535 |
布尔类型 | boolean | 1 | Boolean | flase | true,flase |
说明:
- E+38表示是乘以10的38次方,E-45表示乘以10的负45次方。
- 在Java中整数默认都是int类型,浮点数默认都是double类型。
类型转换
- 自动类型转换
转换前的数据类型低于转换后的数据类型(低级转高级)
double num = 10; // 将int类型的10直接赋值给double类型
System.out.println(num); // 输出10.0
- 强制类型转换
把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。
强制类型转换格式:目标数据类型 变量名 = (目标数据类型)值或者变量;
double num1 = 5.5; int num2 = (int) num1; // 将double类型的num1强制转换为int类型
System.out.println(num2); // 输出5(小数位直接舍弃)