概述
java中实际不存在二位数组,
二维数组实际上是一个以一维数组做为元素的一维数组。
在 Java 中二维数组被看作数组的数组,即二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。Java 并不直接支持二维数组,但是允许定义数组元素是一维数组的一维数组,以达到同样的效果。
定义数组语法
1
| <数据类型>[][] 数组名; 或者 <数据类型> 数组名[][];
|
定义二维数组时,要定义最大维数
1 2 3
| int[][] s =new int[3][5]; //正确 int[][] scores = new int[5][]; //正确 int[][] scores = new int[][]; //错误
|
定义并赋值
1 2 3
| int scores[][] = {{ 90, 85, 92, 78, 54 }, { 76, 63,80 }, { 87 } }; //可用、正确,但不标准 int[][] scores=new int[][]{ { 90, 85, 92, 78, 54 }, { 76, 63,80 }, { 87 }}; //标准语法
|
二维数组遍历
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Scanner input=new Scanner(System.in); int [][] array = new int[5][5]; //5个班的成绩 //i:班级 j:各班级的学生 for(int i=0;i<array.length;i++){ System.out.println("**********第"+(i+1)+"个班**********"); for(int j=0;j<array[i].length;j++){ System.out.print("请输入第"+(j+1)+"个学生的成绩:"); array[i][j]=input.nextInt(); } } System.out.println("***********成绩统计************"); int total; //保存总成绩 for(int i = 0; i < array.length; i++) { String str = (i+1) + "班"; total = 0; //每次循环到此都将其归0 for(int j = 0; j < array[i].length; j++) { total += array[i][j]; //成绩叠加 } System.out.println(str+"总成绩:" + total); }
|