定义:
二维数组和多于二维数组的数组统称为多维数组.
5.3.1二维数组
1.二维数组的创建
(一)声明二维数组方法:1,数组元素类型 数组名字[][];
2,数组元素类型 [][]数组名字;
<例>:int myarr[][];
(二)为二维数组分配内存
<例>:1, a=new int[2][4];//为二维数组分配内存空间,分配后二维数组a拥有两个长度是4的一维数组.
2, a=new int[2][];
a[0]=new int[2];
a[1]=new int[3];
2.二维数组的初始化
方法与一维数组类似,同样可以使用大括号完成二维数组的初始化.
语法: type arrayname[][]={value1,value2,```valuen};
*1,type:数组数据类型.
*2,arrayname:数组名称,一个合法的标识符.
*3,value:数组中各元素的值.
<例>:int marr[][]={{12,0},{45,10}};
//12 0
45 10
对于整个二维数组,创建成功后系统会自动赋给数组中每个元素初始化值0.
3.遍历二维数组
(1)利用for嵌套
(2)利用foreach
foreach简写为for:for(变量类型[]变量名1:数组名)
{
for(变量类型[]变量名2:变量名1)
{
System.out.println();
}
}
package 基本数据类型; public class 二维数组 { public static void main(String[] args) { //二维数组 //行 列 int [][]e=new int [2][3]; e[0][0]=0; e[0][1]=1; e[0][2]=2; e[1][0]=3; e[1][1]=4; e[1][2]=5; System.out.println("e[0][1]="+e[0][1]); System.out.println("e.length="+e.length); System.out.println("e[0].length="+e[0].length); //遍历二维数组 //(方法一) for(int i=0;i<=1;i++) { for(int j=0;j<=2;j++) { System.out.print("e[i][j]="+e[i][j]+" "); } System.out.println(); } //方法二 for(int []t:e) { for(int y:t) { System.out.print(y+""); } System.out.println(); } //赋值方式(最常用) int[][]k=new int[][]{{1,2,3,4},{5,6,7},{8,9},{0}}; //遍历不规则的二维数组用foreach简单,for嵌套难处理 for(int []t:k) { for(int y:t) { System.out.print(y+" "); } System.out.println(); } } } 答案: e[0][1]=1 e.length=2 e[0].length=3 e[i][j]=0 e[i][j]=1 e[i][j]=2 e[i][j]=3 e[i][j]=4 e[i][j]=5 012 345 1 2 3 4 5 6 7 8 9 0
练习:
1 //练习 创建二维数组,将所有元素之和输出 2 int arr[][]=new int[][]{{1,2,3},{4,5,6}}; 3 int sum=0; 4 for(int []i:arr) 5 { 6 for(int j:i) 7 { 8 System.out.print(j+" "); 9 sum+=j; 10 } 11 } 12 System.out.println("数组和是:"+sum); 13 14 15 16 输出:1 2 3 4 5 6 数组和是:21