文章目录
- 一、什么是二维数组
- 二、二维数组的声明形式
- 三、二维数组的创建
- (1)静态初始化
- (2)动态初始化
- 四、二维数组的输入
- 五、二维数组在内存中的存储方式
一、什么是二维数组
一维数组的声明是int[] arr,int[] arr = {0,1,2,3,…};通过一维数组的形式和表达式
我们知道二维数组的声明其实就是int[][] arr,int[][] arr={{1,2,3},{2,3,4},{3,4,5}}
二、二维数组的声明形式
1.数据类型[][] 数组名 例如 :int[][] arr, String[][] arr
2.数据类型 数组名[][] 例如:int arr[][] ,String arr[][]
三、二维数组的创建
(1)静态初始化
int[][] arr={{1,2,3},{2,3,4}};for(int i =0;i<arr.length;i++){for(int j = 0;j<arr[i].length;j++){System.out.print(arr[i][j]+" ");}System.out.println();}
运行结果如下:
1 2 3
2 3 4
(2)动态初始化
public static void main(String[] args) {int [][] arr =new int [2][2];for(int i=0;i<arr.length;i++){for(int j=0;j<arr[i].length;j++){System.out.print(arr[i][j]+" ");}System.out.println();}}
运行结果如下:
0 0
0 0
四、二维数组的输入
public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int [][] arr =new int [5][5];for(int i=0;i<arr.length;i++){for(int j=0;j<arr[i].length;j++){arr[i][j] = scanner.nextInt();}}System.out.println("所输入的二维数组是:");for (int i =0;i<arr.length;i++){for(int j =0;j<arr[i].length;j++){System.out.print(arr[i][j]+" ");}System.out.println();}}
运行结果如下:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
所输入的二维数组是:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
五、二维数组在内存中的存储方式
对于一个二维数组来说,数组名中存放的是对应二维数组的地址(即一维数组引用被存放的地址),该地址被存放在jvm的栈内存中,arr[i]即为一维数组的引用,其中存放的是一维数组元素的地址,该地址被存放在jvm的堆内存中.