二维数组
二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素。
使用方式1: 动态初始化
(1)语法: 类型 数组名[][]=new 类型[大小][大小]
(2)比如: int a[][]=new int[2][3]
(3)例子
语法: 类型 数组名[][]=new 类型[大小][大小]
比如: int a[][]=new int[2][3]
使用演示
int arr[][] = new int[15][8]; //= => arr => {{0,0,0}, {0,0,0}}
//知识点
// 使用 arr.length 得到 二维数组有几个一维数组
System.out.println("arr.length=" + arr.length);
// 使用 arr[0].length
System.out.println("arr[0].length=" + arr[0].length);// 3
//输出, 灵活的输出方式
for( int i = 0; i < arr.length; i++ ) {
for( int j = 0;j < arr[i].length; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
使用方式2: 动态初始化
(1)先声明:类型 数组名[][];
(2)再定义(开辟空间) 数组名 = new 类型[大小][大小]
(3)赋值(有默认值,比如int 类型的就是0)
(4)使用演示
int arr[][] ;
arr = new int[15][8];
(1)完成该案例
二维数组使用
1
2 2
3 3 3
//第一种方式
int arr2[][] = {{1}, {2,2}, {3,3,3}}; //直接指定
for( int i = 0; i < arr2.length; i++) {
for( int j = 0; j < arr2[i].length; j++) {
System.out.print(arr2[i][j] + "\t");
}
System.out.println();
}
//第二种方式
int arr3[][] = new int[12][];
for (int i = 0; i < arr3.length ; i++ ) {
arr3[i] = new int[i+1];
//赋值, 给 arr3[i]赋值
for( int j = 0; j < arr3[i].length ; j++) {
arr3[i][j] = i + 1;
}
}
System.out.println("\n\n");
//输出效果arr3
for( int i = 0; i < arr3.length; i++) {
for( int j = 0;j < arr3[i].length; j++) {
System.out.print(arr3[i][j] + "\t");
}
System.out.println();
}
使用方式4: 静态初始化
(1)定义 类型 数组名[][] = {{值1,值2…},{值1,值2…},{值1,值2…}}
(2)使用即可 [ 固定方式访问 ]
(3)int arr[][]= {{1,2,3}, {6,7,8}}
(4)例子
//静态赋值
int arr4[][]= {{1,2,3}, {6,7,8}, {1,2}, {11,22,33,55,66}};
System.out.println("\n\n");
for( int i = 0; i < arr4.length; i++) {
for( int j = 0;j < arr4[i].length; j++) {
System.out.print(arr4[i][j] + “\t”);
}
System.out.println();
}
额外知识数组的总结:
1、数组是什么
数组:有限个相同类型的变量所组成的一个集合,数组中的每个变量可以成为一个元素,数组在内存中是顺序存储的,需要开辟连续的内存空间.
2、数组的定义格式
数据类型 数组名[]=new 数据类型[大小]
int a[]=new int[5];
数据类型 数组名[]={元素值,元素值…}
int a[]={0,0,0,0,0};
3、数组的遍历
for(int i=0;i<arr.length;i++){
System.out.print(a[i]+"\t");
}
4、使用数组的注意事项
(1)数组是多个相同类型数据的组合,实现对这些数据的统一管理
(2)数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。
(3)数组创建后,如果没有赋值,有默认值
int 0,short 0, byte 0, long 0, float 0.0,double 0.0,char \u0000,boolean false,String null
(4)使用数组的步骤 1. 声明数组并开辟空间 2 给数组各个元素赋值 3 使用数组
(5)数组的下标是从0开始的。
(6)数组下标必须在指定范围内使用,否则报:下标越界异常,比如
int [] arr=new int[5]; 则有效下标为 0-4
(7)数组属引用类型,数组型数据是对象(object),数组中的每个元素相当于该对象的成员变量