一、二维数组
二维数组就多个一维数组组成,也就是有多行,多列。
二、二维数组的声明
类型[][] 数组名;
或者
类型 数组名[][];
int a[][];
int[][] a;
二维数组的声明同样没分配空间。
三、二维数组的创建
在JAVA中二维数组允许每一行的列数不一样。
1、每一行的列数一样;
数组名 = new 类型[整型表达式1][整型表达式2];
表示分配了空间,分配了“整型表达式1 * 整型表达式2”后的值大小的空间。
在二维数组中,整型表达式1代表的是行数。整型表达式2代表的是列数。
a = new int[2][3];
代表数组a有二行,每行都有三列,所以总共的数组元素是6个。
创建数组后,会自动为数组赋默认值。
可以将声明和创建合并在一起操作。
语法:
类型[][] 数组名= new 类型[整型表达式1][整型表达式2];
2、每行的列数不一样
步骤:
1)先创建行数;
类型[][] 数组名 = new 类型[整型表达式][];
先创建了“整型表达式”的值大小的行数。
a = new int[2][];//创建了2行
2)再创建每一行的列数。
数组名[行号] = new 类型[整型表达式];
表示“行号”代表的这一行的列数为“整型表达式”的值。
public class Test {
public static void main(String[] args) {
int[][] a ;
a = new int[2][];//创建了2行
a[0] = new int[2];//第一行,列数为2
a[1] = new int[3];//第二行,列数为3
}
}
四、二维数组的引用
二维数组的引用语法:
数组名[行号][列号];
行号和列号最小值为0,最大值为创建时整型表达式-1;也不允许越界。
public class Test {
public static void main(String[] args) {
int[][] a ;
a = new int[2][3];
a[0][2] = 5;
for(int x = 0; x < 2; x++){
for(int y = 0; y < 3; y++){
System.out.print(" a[" + x + "][" + y + "]=" + a[x][y]);
}
System.out.println();
}
}
}
例:杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
public class Test {
public static void main(String[] args) {
int n = 10;
int[][] a ;
a = new int[n][n];
for(int x = 0; x < a.length; x++){
for(int y = 0; y <= x; y++){
if(y == 0 || x == y){
a[x][y] = 1;
}
}
}
for(int x = 2; x < a.length; x++){
for(int y = 1; y < x; y++){
a[x][y] = a[x-1][y-1] + a[x-1][y];
}
}
for(int x = 0; x < a.length; x++){
for(int y = 0; y <= x; y++){
System.out.print(a[x][y] + " ");
}
System.out.println();
}
}
}
//
public class Test {
public static void main(String[] args) {
int n = 10;
int[][] a ;
a = new int[n][n];
for(int x = 0; x < a.length; x++){
for(int y = 0; y <= x; y++){
if(y == 0 || x == y){
a[x][y] = 1;
}else{
a[x][y] = a[x-1][y-1] + a[x-1][y];
}
System.out.print(a[x][y] + " ");
}
System.out.println();
}
}
}
五、length属性
数组名.length:代表数组的行数。
数组名[行号].length:代表此行的列数。
public class Test {
public static void main(String[] args) {
int[][] a ;
a = new int[2][];//创建了2行
a[0] = new int[2];//第一行,列数为2
a[1] = new int[3];//第二行,列数为3
for(int x = 0; x < a.length; x++){
for(int y = 0; y < a[x].length; y++){
System.out.print(" a[" + x + "][" + y +"]=" + a[x][y]);
}
System.out.println();
}
}
}
六、系统提供的类
在JAVA中提供了丰富的系统类。如需使用这些类,可以先使用import语句将这些类导入到程序中。然后再调用这些类中的成员变量或成员方法进行操作。