java二维数组的初始化

Python012

java二维数组的初始化,第1张

你试试这样写:int[][] a=new int[3][]

然后你可以定义三个内部的一维数组比如:

a[0]=new int[]{0,1,2,5,6,7,8}

a[1]=new int[]{4,5,2,3,1}

a[2]=new int[]{9,1,7}

但是不能有3索引了,为什么?

因为长度已经被限制了只能是3个,内嵌的数组长度可以随意的!

回头看你说的这个:

int[][] a=new int[3][2]

也就是说,你这个3代表二位数组的长度,已经被限制了

但是后面这个2代表内置的数组元素个数,这个是可以变换的

a[0]=new int[]{0,1,2,3}所以这个是合法的!

//总结了一下你看看:

import java.util.Arrays

public class TwoArr {

public static void main(String[] args) {

//1

int[][] arr1={}

sop(arr1,1)

//2

int[][] arr2 = new int[][]{{1,2}, {2, 3}, {4, 5}}

sop(arr2,2)

//3

int[][] arr3 = {{1,2},{2, 3},{4, 5}}

sop(arr3,3)

//4

int[][] arr4=new int[3][2]

sop(arr4,4)

arr4[0]=new int[]{1,2,3,4}

sop(arr4,4)

//5

int[][] arr5= {{0,0},{0,0},{0,0}}

sop(arr5,5)

arr5[1]=new int[]{8,9,7,10}

sop(arr5,5)

//6

int[][] arr6= new int[][]{{0,0},{0,0},{0,0}}

sop(arr6,6)

arr6[0]=new int[] {8,7,9,5}

arr6[1]=new int[] {8,7,9,5}

arr6[2]=new int[] {8,7,9,5}

sop(arr6,6)

//7

int[][] arr7 =new int[3][]

arr7[0]=new int[]{1,2}

arr7[1]=new int[]{3,4}

arr7[2]=new int[]{5,6}

sop(arr7,7)

}

private static void sop(int[][] arr,int count) {

System.out.print("arr"+count+":[")

for(int[] a:arr) {

System.out.print(Arrays.toString(a))

}

System.out.println("]")

System.out.println()

}

}

//2,3,4,5,6完全一个意思,区别就只是书写上,下面看看测试的效果!

int a[][] = new int[3][2]表示定义一个三行二列的二维数组,但是a[0] = {1,6}是对一维数组进行赋值,而a是二维数组无法使用一维数组的赋值方法,所以程序会报错。

该代码的正确方法应该是:

int a[][] = new int[3][2]

a[0][0]=1

a[0][1]=6

扩展资料

java定义二维数组的方法:

1、动态初始化

数据类型 数组名 [ ][ ] = new 数据类型[m][n]

数据类型 [ ][ ]  数组名 = new 数据类型[m][n]

数据类型 [ ]   数组名 [ ] = new 数据类型[m][n]

举例:int [ ][ ]  arr=new  int [5][3]  也可以理解为“5行3例”

2、 静态初始化

数据类型 [ ][ ]   数组名 = {{元素1,元素2....},{元素1,元素2....},{元素1,元素2....}.....}

举例:int [ ][ ]  arr={{22,15,32,20,18},{12,21,25,19,33},{14,58,34,24,66},}

参考资料来源:百度百科——二维数组

可以。

数组是一个容器,用来存储数据的。现在数组中存储的不再是int,double..的类型了,而是存储的数组。数组中的元素还是数组,我们把它称之为数组中的数组,也就做二维数组。维度增加了一层。简单的来说二维数组就是元素为一维数组的数组。