鉴于以下代码。此代码由“java Test 1 2 3 4”运行。结果是什么?
public class Test {
public static void main(String args[]) {
for (int i = 1; i < args.length; i++) {
System.out.print(i + " ");
}
}
}
A)编译失败。
B)在运行时抛出异常。
C)1 2 3
D)1 2
E)2 3
这是来自SCJP,答案是“1 2 3”。但它应该是“1 2”,因为args.length = 3,所以循环将执行2次,输出为“1 2”。如果我错了,请纠正我。
感谢您的帮助。
答案 0 :(得分:1)
args.length
是4
,"1"
,"2"
,"3"
和"4"
。因为这个循环以1
开头,所以第一个参数1
被有效地跳过,循环运行3次,而不是2次,也就是说,最后3个元素一次运行。
答案 1 :(得分:0)
args.length
实际上是4.它怎么可能是3?
答案 2 :(得分:0)
是args length是4.对于数组,索引从0开始。你可能对此感到困惑。计算数组长度时,它以1而不是0开始。
答案 3 :(得分:0)
args.length = 4。数组的长度是其中的元素数 - 在这种情况下为4。由于计数器从1开始(并且应该在3处停止),它将打印1,2,3