二维数组:可以看成以数组为元素的数组(简单理解为数组的数组)
int[][] arr = {{66,77},{1,921,521},{88,99}};
例:根据下标输出对应值
public class arr_mul {
public static void main(String[] args){
int[][] arr = {{789,456,123},{888,999,666},{653,357}};
System.out.println(arr[1][1]); //输出999
}
}
//一维数组
int[] arr1 = new int[3];
//二维数组
int[][] arr2 = new int[2][3];
//三维数组
int[][][] arr3 = new int[2][3][2];
//四维数组
int[][][][] arr4 = new int[2][3][2][3];
java中多维数组的声明和初始化一样,应该从高维到低维的顺序进行,例如:
public class arr_mul {
public static void main(String[] args){
int[][] arr = new int[3][];
arr[0] = new int[2];
arr[1] = new int[5];
arr[2] = new int[3];
for (int i=0; i<arr[0].length; i++){
arr[0][i]=i+5;
}
for (int i=0; i<arr[0].length; i++){
System.out.println(arr[0][i]);
}
}
}
例:声明一个二维数组,3行2列,循环输出6个人的姓名,并循环输出
import java.util.Scanner;
public class arr_mul {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
String[][] arr = new String[3][2];
for (int i=0; i<arr.length; i++){
for (int j=0; j<arr[j].length; j++) {
System.out.println("请输入第"+(i+1)+"行第"+(j+1)+"个的姓名:"); //通过循环控制i行j列
String name = in.next();
arr[i][j] = name;
}
}
for (int i=0; i<arr.length; i++){
for (int j=0; j<arr[j].length; j++){
System.out.print(arr[i][j]);
System.out.print("\t"); //制表符
}
System.out.println(); //控制换行
}
}
}