作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 for each 循环中,输出为 6。但是,我认为输出为 0,因为至少对于一维数组,for each 循环仅遍历数组。如果“f”只是循环中的局部变量,如何编辑“g”?
int[][] g = new int[7][7];
for(int[] f : g) {
for(int h = 0; h < f.length; h++)
f[h] = 6;
}
System.out.println(g[4][6]);
最佳答案
尽管 Java 是 pass-by-value ,如果您传递的值是对可变数据类型的引用,则它们可以被改变。
如您所知,f
是您在增强型 for 循环中迭代的值,但它表示包含在二维数组内的每个元素 g
.
在这种情况下,它是您的 int[]
那是可变的。您正在主动将二维数组中的值完全编辑为另一个值。
关于java - For Each Loop 编辑原始二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36347299/
我是一名优秀的程序员,十分优秀!