Java 基础模拟测试

Java 基础模拟测试,java,Java,给定以下代码。此代码由“JavaTest1234”运行。结果如何? public class Test { public static void main(String args[]) { for (int i = 1; i < args.length; i++) { System.out.print(i + " "); } } } 公共类测试{ 公共静态void main(字符串参数[]){ 对于(int i=1;i

给定以下代码。此代码由“JavaTest1234”运行。结果如何?

public class Test { 

public static void main(String args[]) {

for (int i = 1; i < args.length; i++) {

         System.out.print(i + " ");
        }
    }
}
公共类测试{
公共静态void main(字符串参数[]){
对于(int i=1;i
A) 编译失败

B) 在运行时引发异常

C) 1 2 3

D) 1 2

E) 2 3

这是来自SCJP,给出的答案是“1 2 3”。但是它应该是“12”,因为args.length=3,所以循环将执行2次,输出为“12”。如果我错了,请纠正我


我感谢你的帮助

参数。长度实际上是4。怎么可能是3?

参数。长度
4
“1”
“2”
“3”
,和
“4”
。由于此循环以
1
开始,因此第一个参数
1
被有效跳过,循环运行3次,而不是2次,即最后3个元素各运行一次。

是参数长度为4。对于数组,索引以0开头。你可能会对此感到困惑。当计算数组长度时,它从1开始,而不是从0开始。在本例中,args.length=4。数组的长度是数组中的元素数,在本例中为-4。由于计数器从1开始(应该在3停止),它将打印1、2、3

为什么您认为
args.length
是3?运行程序时传递多少个参数?
javatest1234
说有4个参数。所以
args.length
是4。循环运行3次。