基本数据类型 :
整数类型一般默认int
浮点数类型一般默认double
整数类型一般默认int
布尔类型一般默认false
所占字节和求值范围 :
1、八种基本数据类型中,除 boolean 类型不能转换,剩下七种类型之间都可以进行转换
2、如果整数型字面量没有超出 byte,short,char 的取值范围,可以直接将其赋值给byte,short,char 类型的变量;
3、小容量向大容量转换称为自动类型转换。
容量从小到大的排序为:
byte < short(char) <int < long < float < double
其中 short 和 char 都占用两个字节,但是 char 可以表示更大的正整数;
4、大容量转换成小容量,称为强制类型转换,编写时必须添加“强制类型转换符”,但运行时可能出现精度损失,谨慎使用;
public class IntTest{
public static void main(String[] ages){
long l = 12;//自动转换
System.out.println(l);
long l1 = 12L;//没有转换,声明的long类型
System.out.println(l1);
long l2 = (long)12;//强制转换
System.out.println(l2);
}
}
5、byte,short,char 类型混合运算时,先各自转换成 int 类型再做运算;
6、多种数据类型混合运算,各自先转换成容量最大的那一种再做运算;
我们平时生活中用到的数字都是十进制,但是在java中想用二进制、八进制或者十六进制表示:
二进制需要在前面加0b;
八进制在前面加0;
十进制什么都不用加;
十六进制需要在前面加0x;
public class IntTest{
public static void main(String[] ages){
int i3 = 0b10;//二进制
System.out.println(i3);
int i = 10;//十进制
System.out.println(i);
int i1 = 010;//八进制
System.out.println(i1);
int i2 = 0x10;//十六进制
System.out.println(i2);
}
}