基本数据类型
4大类8种
数据类型 | 关键字 | 取值范围 | 内存占用(字节) |
整数 | byte | -128 ~ 127 | 1 |
short | -32768 ~ 32767 | 2 | |
int (默认) | -2147483648 ~ 2147482647 (10位数) | 4 | |
long | -9223372036854775808 ~ -9223372036854775807 (19位数) | 8 | |
浮点数 | float | 1.401298e - 45 ~ 3.402823e + 38 | 4 |
double (默认) | 4.9000000e -324 ~ 1.797693e + 308 | 8 | |
字符 | char | 0 ~ 65535 | 2 |
布尔 | boolean | true, flase | 1 |
引用数据类型 (包装类)
基本数据类型 | 引用数据类型 (包装类) |
byte | Byte |
short | Short |
int | INTEGER |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | boolean |
集合与泛型只支持引用数据类型
自动装箱与拆箱
自动装箱: 基本类型的数据和变量可以直接赋值给包装类型的变量
自动拆箱:包装类型的变量可以直接赋值给基本类型的变量
public class Test {
public static void main(String[] args) {
Integer a = 1; //自动装箱
int b = a; //自动拆箱
}
}
包装类特有功能
包装类的默认值可以为null,容错率更高
可以将基本类型数据转化为字符串
public class Test {
public static void main(String[] args) {
int number = 10; //自动装箱
String num = Integer.toString(number);
}
}
可以将字符串类型的数值转化为真实的数据类型 (十分有用)
public class Test {
public static void main(String[] args) {
String num1 = "3";
String num2 = "3.1415926";
int num1_int = Integer.parseInt(num1);
double num2_double = Double.parseDouble(num2);
// .valueOf()方法可以输入String或者基本类型数据, 更为方便
Integer num_integer = Integer.valueOf(num1);
Double num2_d = Double.valueOf(num2);
}
}