为了账号安全,请及时绑定邮箱和手机立即绑定

Java中Integer的最大值和最小值

Java中Integer的最大值和最小值

慕田峪7331174 2019-04-07 09:38:40
从JDK1.0开始,Integer中就定义了MIN_VALUE和MAX-VALUE两个常量:/***Aconstantholdingtheminimumvaluean{@codeint}can*have,-231.*/publicstaticfinalintMIN_VALUE=0x80000000;/***Aconstantholdingthemaximumvaluean{@codeint}can*have,231-1.*/publicstaticfinalintMAX_VALUE=0x7fffffff;Q1:谁能给解释一下,这两个常量为什么会分别定义成0x80000000和0x7fffffff。Q2:java.lang.String的最大长度是多少?Q3:如下代码能抛出异常吗?为什么intx=Integer.MAX_VALUE+10;if(x>=Integer.MAX_VALUE||x
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

Q1:
四字节的整形有符号是-2^31~2^31-1(MIN_VALUE和MAX-VALUE的注释里也写了),查下对应边界的补码二进制表示就清楚了
Q2:
java用的不多,不太清楚,应该可以很长,附上String的关键字段
/**Thevalueisusedforcharacterstorage.*/
privatefinalcharvalue[];
/**Theoffsetisthefirstindexofthestoragethatisused.*/
privatefinalintoffset;
/**ThecountisthenumberofcharactersintheString.*/
privatefinalintcount;
/**Cachethehashcodeforthestring*/
privateinthash;//Defaultto0
Q3:
intx=Integer.MAX_VALUE+10;x溢出了,x实际为-2^31+9,if条件不成立,不会抛出异常。
                            
查看完整回答
反对 回复 2019-04-07
  • 2 回答
  • 0 关注
  • 1219 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号