我对Java非常陌生,我只是在稍微努力解决数组问题。我已经获得了一段代码,这些代码是我在撰写教程时写的,但我很难理解它,如果有人能向我解释,我会很高兴。
我尝试过各种不同的方法(向我的鸭子解释,写下来等等)并且仍然无法理解它。我通常不会问,而且我总是非常努力地自己解决这个问题,但这次我无法弄清楚。
int[] values = new int[3];
values[0] = 10;
values[1] = 20;
values[3] = 30;
for(int i = 0; i < values.length; i++) {
System.out.println(values[i]);
}
我理解为什么:
但我不明白为什么我需要在values[i]
声明中写System.out.println()
。是什么告诉Java可以在数组i
中使用values[]
?
很抱歉,如果这对你来说是一个微不足道的问题,但这是我能想到的最好的地方。
答案 0 :(得分:1)
Java知道值是一种数组类型。 Java中的数组是由整数索引的,所以这里我们有一个名为 i 的整数。 i 从0变为小于 values.length (在本例中为3)。所以我将是0,1和2。
使用0,1和2索引值等同于:
values[0]
values[1]
values[2]
答案 1 :(得分:0)
由于JAVA不是一个心灵阅读器,除非你告诉你想要打印哪个索引的java值JAVA将无法理解:)
所以你提到了values[0]
,values[1]
等索引
答案 2 :(得分:0)
values
是数组名称,&#39; i&#39;是索引。
values[0]
将打印 10 。 values[1]
将打印 20 。
请参阅以下链接以获取更多信息:
还学习如何调试java代码。
答案 3 :(得分:0)
让我试着用一个简单的方法来解释: 只要您使用以下声明:
int[] values = new int[3];
并为其赋值,内存中将有三个整数大小的内存块。
将i
初始化为零,并在for
循环中进行每次迭代,
将执行语句System.out.println(values[i]);
它只会替换i
中values[i]
的当前值values[0]
作为第一轮等。
因此它将检查我之前谈到的内存中已经分配的值并打印它。
答案 4 :(得分:0)
System.out.println(values[i]);
告诉系统打印数组中给定索引处的值。
如果我们说System.out.println(values[0]);
,则打印索引0处的值10。
打印出数组中的所有值,而不是手动输入每个值的索引,如值[1],值[2]。我们使用for语句for(int i = 0; i < values.length; i++)
创建变量i
并为其赋值0
,因此在第一次循环运行时,values[i]
为values[0]
。
在第一次循环运行之后,由于for语句的i
部分,i++
从0增加到1。在第二次运行values[i]
是values[1]
,打印的是索引1处的值20,只要i < values.lenght;
返回true,这将继续。