按索引访问Java数组位置的值

时间:2016-02-21 09:43:32

标签: java arrays

我对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]);
} 

我理解为什么:

  1. for循环遍历&#34;值&#34;。
  2. 中的值
  3. 循环保持循环,直到i小于数组中的最后一个值。
  4. 但我不明白为什么我需要在values[i]声明中写System.out.println()。是什么告诉Java可以在数组i中使用values[]

    很抱歉,如果这对你来说是一个微不足道的问题,但这是我能想到的最好的地方。

5 个答案:

答案 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]);

它只会替换ivalues[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,这将继续。