码迷,mamicode.com
首页 > 编程语言 > 详细

Java数据类型深入剖析

时间:2015-06-18 09:38:23      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:java   基本类型   

原生类型 占位数 是否带符号位 最小值 最大值 默认值 包装类 备注
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
建议使用包装类Character而不要使用原始类型char,char会把一个字符只作为字符,使用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个人感觉是标错了!


Java数据类型深入剖析

标签:java   基本类型   

原文地址:http://blog.csdn.net/u012643122/article/details/46543639

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!