原生类型 | 占位数 | 是否带符号位 | 最小值 | 最大值 | 默认值 | 包装类 | 备注 | |
boolean | 1 | 不带 | —— | —— | false | Boolean | boolean类型是孤独的皇后,她无法和其他类型转换 | |
byte | 8 | 带 | -2^7=-128=Byte.MIN_VALUE | 2^7-1=127=Byte.MAX_VALUE | 0 | Byte | IO流中经常使用 | |
char | 16 | 不带 | ‘\u0000‘=0=Character.MIN_VALUE | ‘\uFFFF‘=2^15*2-1=65535=Character.MAX_VALUE | ‘\u0000‘ | Character |
|
|
short | 16 | 带 | -2^15=Short.MIN_VALUE | 2^15-1=Short.MAX_VALUE | 0 | Short | 历史遗留类型,不再被使用 | |
int | 32 | 带 | -2^31=Integer.MIN_VALUE | 2^31-1=Integer.MAX_VALUE | 0 | Integer | ||
long | 64 | 带 | -2^63=Long.MIN_VALUE | 2^63-1=Long.MAX_VALUE | 0 | Long | 在int无法存储的情况下使用 | |
float | 32 | 带 | 1.4E-45f=Float.MIN_VALUE | 3.4028235E38=Float.MAX_VALUE | 0.0f | Float | 在对内存要求高对精度要求不高时使用 | |
double | 64 | 带 | 4.9E-324=Double.MIN_VALUE | 1.7976931348623157E308==Double.MAX_VALUE | 0.0d | Double | ||
备注 |
float虽然和int占位一样,但float能存储的值比int大太多,可以参见Integer.MAX_VALUE和Float.MAX_VALUE,不但如此float比long都大很多,另外double又比long大n倍。 所以,long存放不了的数字可以存放在float或double中。 |
此处boolean和char不带符号数是我自己加的,虽然Java核心技术卷一是说:“Java没有任何无符号类型”,可是boolean只有一位,只能放自己,怎么放符号位?从char的取值范围上看,char肯定是个无符号数的取值范围啊! |
nEm表示n*10的m次方,nE-m表示n*10的m次方分之一 Java核心技术卷一上标明了float类型的取值范围是±3.40282347E38个人感觉是标错了! |
nEm表示n*10的m次方,nE-m表示n*10的m次方分之一 Java核心技术卷一上标明了float类型的取值范围是±3.40282347E38个人感觉是标错了! |
原文地址:http://blog.csdn.net/u012643122/article/details/46543639