欢迎来到 Android人的问与答 ,在这里提问或帮助他人解答。 Question2Answer的1.6.x和1.7.x版本的中文翻译包我修改更新:

Question2answer

如何使用中文语言包

Q2A 1.6.x - Chinese Simplified (简体中文)

Q2A 1.7.x - Chinese Simplified (简体中文)


国内服务器推荐 阿里云服务器
国外服务器推荐 DigitalOcean
VPN推荐 正版Green VPN
阿里云推荐码:ldvq50

java里,当long遇上了int

0 喜欢 0 不喜欢
144 浏览

long switchState = 0xf0000000000L;

int result = (switchState & 0xff00000000L) > 0 ? 0x01 : 0x00;

你觉得result是多少?1

result = (switchState & 0xff000000) > 0 ? 0x01 : 0x00;

你觉得result是多少?1 【还是没有完全领悟这个情况。】

result = (switchState & 0xff000000L) > 0 ? 0x01 : 0x00;

你觉得result是多少?0

 你答对没? 最后两个表达式,真是坑啊。nnd。

 

 

long 是长整型,在怎么长本身也是整型,12.10的整形部分是12,当然结果是12,

 

byte: 八位整数 -128——127,可用来节省内存的使用。
short: 16位整数 -32768——32,767,也比较省内存。
int: 32位整数 -2,147,483,648——2,147,483,647,一般来说整数都够用了
long: 64位整数 -9,223,372,036,854,775,808—— 9,223,372,036,854,775,807,一般不需要用
float: 32位浮点,如果浮点需要节省内存用这个。
Double: 64位浮点,一般非整数浮点可用这个。

 

但是要记住float和double都不是精确的,如果要储存钱一类的必须精确的,用java.math.BigDecimal

最新提问 1月 18, 2015 分类:Java基础 | 用户: forlong401 (7,050 分)

登录 或者 注册 后回答这个问题。

...