「小马哥每日一问」2019.07.09 期
问题描述
public class Loopy {
public static void main(String[] args) {
final int start = Integer.MAX_VALUE - 100;
final int end = Integer.MAX_VALUE;
int count = 0;
for (int i = start; i <= end; i++)
count++;
System.out.println(count);
}
}
以上程序输出内容是?
(a) 100
(b) 101
(c) 以上都不是
(d) 99
注:每期的「小马哥每日一问」将累计在「小马哥技术周报」 直播中解答
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(13)
C。 在i=end的时候进入循环后 i++后,就会一直满足 <=end
我选C
因为两短一长选最长
选C,IDEA好智能啊= =
c, i<=end 永远成立
c,楼上+1
C, i<=end is always true
C,
因为Integer的底层使用的是补码,补码第一位是符号。
选择 c i的值无法超过Integer.MAX_VALUE i增加到后面会变成负数,永远比最大值小。
C,因为i不会超过integer的最大值。
c 永远不会大于max value
把end 换成 Integer.Max_VALUE i 属于int 所以 i <= end is always 'true'
选c。Integer.Max_VALUE + 1会变成Integer.Min_VALUE,循环会一直循环下去。
选c,之前周报里分享过。。