我才刚刚开始,所以这将是一个初学者的问题:)
我上过这节课,但是代码中有些我不理解的东西。
int[] values;
values = new int[3];
values[0] = 10;
values[1] = 20;
values[2] = 30;
System.out.println(values[0]);
System.out.println(values[1]);
System.out.println(values[2]);
这是我了解的基本阵列课程。但是他说,还有另一种打印出这些值的方法。通过使用for
循环。
for(int i=0; i<values.length; i++)
System.out.println(values[i])
这是我不理解的部分。
values.length
?是3
还是2
?Thnx
答案 0 :(得分:1)
由于Java中的数组是零索引的,所以具有[10, 20, 30]
的数组,即索引{{1}处的10
,索引0
处的20
,以及索引为1
的{{1}}的长度为30
。长度只是数组中元素的数量。
现在,为什么在这里只有一个打印语句,可以更直观地看到循环的作用。
只要满足循环条件,循环便每次使用新值2
来简单地执行其中的代码。
所以你可以想到这个
3
要翻译为此
i
但是,因为您会注意到,同一个函数只能使用不同的输入多次使用,所以我们只能编写一次函数,并通过循环使用不同的输入多次运行该函数。
答案 1 :(得分:0)
在旁注中,几乎应该始终使用带有for语句的BLOCK,即使其中只有一行。
所以代替:
for(int i=0; i<values.length; i++)
System.out.println(values[i]);
您会这样做:
for(int i=0; i<values.length; i++)
{
System.out.println(values[i]);
}
默认情况下,for循环仅在循环内紧随其后的那一行运行。压痕仅仅是美学的。如果要运行多行,则将它们全部包含在方括号中。
许多初学者跳过方括号,然后在其上添加一行...如下图所示,但希望这两行都可以在循环中运行:
for(int i=0; i<values.length; i++)
System.out.println("Value: "); // only this line is within the loop
System.out.println(values[i]); // this line is simply indented, and stands alone
通过养成良好的习惯,并始终在方括号中添加for循环,可以避免因上述代码而对奇怪的问题进行故障排除的时间。