【java】「小马哥每日一问」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
注:每期的「小马哥每日一问」将累计在「小马哥技术周报」 直播中解答
回答
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,之前周报里分享过。。
以上是 【java】「小马哥每日一问」2019.07.09 期 的全部内容, 来源链接: utcz.com/a/72159.html