基本数据类型 | 占字节数 | 占位数 | 最小值 | 最大值 | 包装类型 | 默认值 |
boolean | 1字节 | 8位 | Boolean | false | ||
byte | 1字节 | 8位 | -128 | 127 | Byte | 0 |
char | 2字节 | 16位 | \u0000 | \uffff | Character | \u0000 |
short | 2字节 | 16位 | -2^15 | 2^15-1 | Short | 0 |
int | 4字节 | 32位 | -2^31 | 2^31-1 | Integer | 0 |
float | 4字节 | 32位 | Float | 0.0f | ||
long | 8字节 | 64位 | -2^63 | 2^63-1 | Long | 0L |
double | 8字节 | 64位 | Double | 0.0d |
1 public static void main(String[] args) { 2 // byte 3 System.out.println("基本数据类型: " + Byte.TYPE); 4 System.out.println("二进制位数: " + Byte.SIZE); 5 System.out.println("包装类型: java.lang.Byte"); 6 System.out.println("最小值: Byte.MIN_VALUE=" + Byte.MIN_VALUE); 7 System.out.println("最大值: Byte.MAX_VALUE=" + Byte.MAX_VALUE); 8 System.out.println(); 9 10 // char 11 System.out.println("基本数据类型: " + Character.TYPE); 12 System.out.println("二进制位数: " + Character.SIZE); 13 System.out.println("包装类型: java.lang.Character"); 14 System.out.println("最小值: Character.MIN_VALUE=" + (int) Character.MIN_VALUE); 15 System.out.println("最大值: Character.MAX_VALUE=" + (int) Character.MAX_VALUE); 16 System.out.println(); 17 18 // short 19 System.out.println("基本数据类型: " + Short.TYPE); 20 System.out.println("二进制位数: " + Short.SIZE); 21 System.out.println("包装类型: java.lang.Short"); 22 System.out.println("最小值: Short.MIN_VALUE=" + Short.MIN_VALUE); 23 System.out.println("最大值: Short.MAX_VALUE=" + Short.MAX_VALUE); 24 System.out.println(); 25 26 // int 27 System.out.println("基本数据类型: " + Integer.TYPE); 28 System.out.println("二进制位数: " + Integer.SIZE); 29 System.out.println("包装类型: java.lang.Integer"); 30 System.out.println("最小值: Integer.MIN_VALUE=" + Integer.MIN_VALUE); 31 System.out.println("最大值: Integer.MAX_VALUE=" + Integer.MAX_VALUE); 32 System.out.println(); 33 34 // float 35 System.out.println("基本数据类型: " + Float.TYPE); 36 System.out.println("二进制位数: " + Float.SIZE); 37 System.out.println("包装类型: java.lang.Float"); 38 System.out.println("最小值: Float.MIN_VALUE=" + Float.MIN_VALUE); 39 System.out.println("最大值: Float.MAX_VALUE=" + Float.MAX_VALUE); 40 System.out.println(); 41 42 // long 43 System.out.println("基本数据类型: " + Long.TYPE); 44 System.out.println("二进制位数: " + Long.SIZE); 45 System.out.println("包装类型: java.lang.Long"); 46 System.out.println("最小值: Long.MIN_VALUE=" + Long.MIN_VALUE); 47 System.out.println("最大值: Long.MAX_VALUE=" + Long.MAX_VALUE); 48 System.out.println(); 49 50 // double 51 System.out.println("基本数据类型: " + Double.TYPE); 52 System.out.println("二进制位数: " + Double.SIZE); 53 System.out.println("包装类型: java.lang.Double"); 54 System.out.println("最小值: Double.MIN_VALUE=" + Double.MIN_VALUE); 55 System.out.println("最大值: Double.MAX_VALUE=" + Double.MAX_VALUE); 56 System.out.println(); 57 }
转换规则:
第一点:不能对boolean进行类型转换。
第二点:不能把类型转换成其它对象类型。
第三点:把容量大的类型转换成容量小的类型,比较进行强制转换。
第四点:强制类型转换可能会损失精度。
第五点:从低到高(byte, short, char —> int —> long —> float —> double)
1)自动类型转换(小转大)
1 byte b = 127; 2 int i = b; 3 long l = i; 4 double d = l;
2)强制类型转换(大转小)
1 double d = 127.0; 2 long l = (long)d; 3 int i = (int)l; 4 byte b = (byte)i;
原文:https://www.cnblogs.com/liumb/p/13414342.html