如何使用foreach循环以最简单的方式打印二维数组?
用foreach循环打印Java二维数组的简单方法
嘿,这个问题问得很到位!你完全可以用类似一维数组的foreach循环来打印二维数组,只是得先搞清楚二维数组的本质——它其实是数组的数组,这也是你之前的代码无法正常输出的原因:你直接遍历int[][]拿到的每个元素是一个int[]一维数组,System.out.println()会默认打印数组的哈希值,而不是里面的元素。
下面给你两种简单的实现方式:
方法1:嵌套foreach循环(最贴近一维数组的遍历逻辑)
这是最直观的方式,外层foreach遍历二维数组的每一行(也就是每个一维数组),内层foreach遍历该行的每个元素:
int[][] numbers= { {1, 2, 3}, {4, 5, 6} }; for (int[] row : numbers) { // 遍历当前行的每个元素 for (int num : row) { System.out.print(num + " "); } // 每行打印完换行,保持格式清晰 System.out.println(); }
输出结果:
1 2 3 4 5 6
方法2:借助Arrays.toString()简化代码
如果你不想写内层循环,可以用Java标准库的Arrays.toString()方法,它能直接把一维数组转换成可读性强的字符串:
import java.util.Arrays; public class Print2DArray { public static void main(String[] args) { int[][] numbers= { {1, 2, 3}, {4, 5, 6} }; for (int[] row : numbers) { System.out.println(Arrays.toString(row)); } } }
输出结果:
[1, 2, 3] [4, 5, 6]
这种方式代码更简洁,适合快速查看数组内容,如果需要自定义格式(比如去掉方括号),可以再对Arrays.toString()的结果做简单处理。
内容的提问来源于stack exchange,提问作者Sami
相关产品推荐
相关产品推荐

