A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

唐智超

初级黑马

  • 黑马币:15

  • 帖子:7

  • 精华:0

本帖最后由 唐智超 于 2015-5-28 00:04 编辑

如果你认为Long存储的范围更大那你就错了,先来看看下表:
  
原生类型
  
占位数
最小值
最大值
默认值
包装类
备注
boolean
1
false
true
false
Boolean
常用
char
16,带符号数
\u0000=0
\uFFFF=2^15*2-1=65535
\u0000
Character
处理字符串以及时经常使用,常用
byte
8,带符号数
-2^7=-128
2^7-1=127

Byte
IO流中经常使用,常用
short
16,带符号数
-2^15
2^15-1
0
Short
历史遗留,不常用
int
32,带符号数
-2^31
2^31-1
0
Integer
常用
long
64,带符号数
-2^63
2^63-1
0
Long
int无法存储的情况下使用,常用
float
32
1.4E-45f
3.4028235E38(38个整数位)
0.0f
Float
在对内存要求高的程序中使用,不常用
double
64
4.9E-324
1.7976931348623157E308(308个整数位)
0.0
Double
常用


从表中可得出:
Long的最大值2的63次方-1即9223372036854775807,整数位只有19位,而float的最大值的整数部分达到了38位。
所以肯定是Float能存储的值更大。

3 个回复

倒序浏览
被Long这东西坑了不是一回两会了
回复 使用道具 举报
float的取值范围大,因为float为浮点型,在内存中的存储规则与整形的不同。
回复 使用道具 举报
首先什么是范围?如果说能存的做大值,当然是long,能存数的多少感觉意义不大。float存储小数,比如从0到1有无数个。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马