java - 插入循环时数组中的值

标签 java

我不明白为什么下面程序中的 myArray[i] 只打印了 0 3 次。

int[] myArray = new int[6];
for (int i = 0; i <= 5; i++) {
    myArray[i] = i++;
    System.out.println("myArray:"+myArray[i]); 
    //need to know how to print this object myArray[i]?     
}  
System.out.println("Outside for" +Arrays.toString(myArray));    

我的输出是:

myArray:0
myArray:0
myArray:0
Outside for[0, 0, 2, 0, 4, 0]

我不明白为什么 myArray 总是 0..

最佳答案

java中int的默认值为零。因此,您的 int 数组在其所有索引中都被初始化为零。在循环的第一次迭代期间,以下是您的变量状态...

myArray = [0, 0, 0, 0, 0, 0];
i = 0;

i 的值为 0,因此将零插入 myArray[0]。然后我递增。现在您正在打印 myArray[1] 的值为“0”。在循环结束时,以下是变量的状态...

myArray = [0, 0, 0, 0, 0, 0];
i = 1;

现在 i 的值通过 for 循环递增并且 i 的值变为 2。现在你插入的值 2 是 myArray[2]。然后 i 的值由于后递增运算符而递增。循环执行后,这是变量的状态。

myArray = [0, 0, 2, 0, 0, 0];
i = 3;

现在 i 的值通过 for 循环递增并且 i 的值变为 4。现在您要插入的值 4 是 myArray[4]。然后 i 的值由于后递增运算符而递增。循环执行后,这是变量的状态。

myArray = [0, 0, 2, 0, 4, 0];
i = 5;

现在 i 的值增加并且 for 循环的条件被打破。然后打印数组的值...输出以下数据...

Outside for[0, 0, 2, 0, 4, 0]

由于后递增操作,您的 myArray 值始终打印下一个位置的值。由于 int 的默认值为零,因此您总是在输出中打印零。

如果您删除后增量操作,我想您会找到您正在尝试的。以下链接提供了增量在 Java 中的工作方式...

link

这里是关于如何使用 eclipse IDE 调试应用程序的链接...

link

关于java - 插入循环时数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36833763/

相关文章:

java - 不接受错误的SDK许可证

java - IntelliJ IDEA 11 是否能够插入命名空间?

javascript - Spring 框架——未找到 JavaScript 文件的映射

java - Eclipse 导出工具与命令行 jar 工具

Java 绘制的对象未正确更新

java - 在浏览器中工作的 RestTemplate GET 请求中的 handshake_failure

Java Scanner 分隔符和 System.in

Java循环遍历具有子文件夹的文件夹中的同名文件

Java URL 连接 : how can I find out the size of a web file?

Java JSchException : Auth cancel