一、基本数据类型
基本数据类型可以理解为能直接使用。比如:
public class Test{
public static void main(String[] args){
int age = 18;
System.out.println(age); //直接使用
int otherAge = age + 10; //再次运算
}
}
常见的基本数据类型有:
1.整数型:
byte | short | int(默认) | long | |
---|---|---|---|---|
范围 | -128 ~ 127 | -32768 ~ 32767 | -2147483648 ~ 2147483647 | -9223372036854775808 ~ 9223372036854775807 |
字节 | 1个字节 | 2个字节 | 4个字节 | 8个字节 |
2.浮点型(小数点)
float | double(默认) | |
---|---|---|
范围 | 十进制里有7位小数点 | 十进制里有16位小数点 |
字节 | 4个字节 | 8个字节 |
3.字符型
char | |
---|---|
范围 | 0~65535 |
字节 | 2个字节 |
4.布尔型
boolean | |
---|---|
范围 | |
字节 | 1个字节 |
注意:类型转换问题
1.大变小(强制转换)
public class Test{
public static void main(String[] args){
int age = 18;
byte otherAge = age; //报错,byte比int小
byte otherAge = (byte)age; //正确,强制将age转换为byte类型
byte ages = 28; //正确,28在byte范围内,并不是int
}
}
2.小变大(自动转换)
public class Test{
public static void main(String[] args){
int age = 18;
long othersAge = age; //正确,long比int大
byte num = 10; //正确,10在byte范围内,10并不是int类型
short nums = num; //正确,byte比short小
}
}
如果需要将大的数转为小的数,比如将int类型变为byte类型,需要强转,但是可能会丢失精度,谨慎使用。
二、引用数据类型
比如:String、对象、数组、枚举、集合、包装类等等。
public class Test{
public static void main(String[] args){
Test test = new Test(); //对象
String name = "李四"; //String
int[] money = new int[10]; //数组
ArrayList<Interget> other = new ArrayList(); //集合
}
}