12、JAVA入门——二维数组

目录

1、二维数组

2、二维数组的使用

1、二维数组
(1)Java中操作多位数组的语法与一维数组类似。在实际应用中,三维以上的数组很少使用,主要使用二维数组。

    (2)二维数组是一个元素为一维数组的一维数组。

    (3)从语法上Java支持多维数组,但从内存分配原理的角度看,Java中只有一维数组,没有多维数组。或者说,从表面上是多维数组,实质上都是一维数组。

    (4)定义二维数组的语法格式如下:

                    数据类型[][] 数组名;

              或者:

                     数据类型 数组名[][];

                       --->数据类型为数组元素的类型。

                       --->“[][]”用于表明定义了一个二维数组,通过多个下标进行数据访问。

                       --->“数组名[下标]”表示二维数组里的一个元素,这个元素还是一个一维数组。

                       --->“数组名[下标][下标]”表示二维数组里的一个元素(一维数组)里的一个元素。

public static void main(String[] args) {

// 二维数组声明: 数据类型[][] 数组名; 或者 数据类型 数组名[][];
int[][] nums;
String[][] strs;

// 分配空间: 数组名 = new 数据类型[数组长度][数组长度]; 或 数组名 = new 数据类型[数组长度][];
nums = new int[3][5];// nums是一个长度为3的二维数组,这个二维数组里的元素都是一个长度为5的一维数组
strs = new String[5][]; // strs是一个长度为5的二维数组,这个二维数组里的元素长度不相同

//赋值:  数组名[下标][下标] = 数据;
nums[0][0] = 10;
nums[0][1] = 20;
nums[0][2] = 30;
nums[0][3] = 40;
nums[0][4] = 50;
 
nums[1][0] = 100;
nums[1][1] = 200;
nums[1][2] = 300;
nums[1][3] = 400;
nums[1][4] = 500;
 
nums[2][0] = 10;
nums[2][1] = 20;
nums[2][2] = 30;
nums[2][3] = 40;
 
//操作数据:数组名[下标][下标]
System.out.println(nums[1][2]);
nums[2][0]+=50;
System.out.println(nums[2][0]);

}
2、二维数组的使用
(1)初始化二维数组

            二维数组初始化的语法格式如下:

           数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2,···,元素n},{元素1,元素2,···,元素n},···,{元素1,元素2,···,元素n}}; 

            或者:

            数据类型[][] 数组名 = {{元素1,元素2,···,元素n},{元素1,元素2,···,元素n},···,{元素1,元素2,···,元素n}};

public static void main(String[] args) {
//二维数组声明、分配空间合并写: 数据类型[][] 数组名 = new 数据类型[长度][长度]; 或 数据类型[][] 数组名 = new 数据类型[长度][];
int[][] nums = new int[3][4];
char[][] chs = new char[5][];

//二维数组声明、分配空间、赋值合并写:
//数据类型[][] 数组名 = new 数据类型[][]{{数据1,数据2,...,数据n},{数据1,数据2,...,数据m},....,{数据1,数据2,...,数据k}};
boolean[][] bools = new boolean[][]{{true},{true,false},{false,false,true,false}};
 
//二维数组声明、分配空间、赋值合并写的简写方式
//数据类型[][] 数组名 = {{数据1,数据2,...,数据n},{数据1,数据2,...,数据m},....,{数据1,数据2,...,数据k}};
 
float[][] floats ={{12.5F},{99.5F,55.5F},{99.9F},{10.5F,12.5F,85.5F,56.3F,78.5F}};

}
(2)二维数组的遍历

            格式如下:                

            for(int i = 0;i<数组名.length;i++){
                    for(int j = 0;j<数组名[i].length;j++){
                            System.out.println(数组名[i][j]);

                    }

            } 

public static void main(String[] args) {
// 要求对3个班各6名学生某门课程的成绩进行各种操作,如何实现?

// 声明一个长度为3的二维数组,这个二维数组里的元素都是长度为6的一维数组
int[][] scores = { { 99, 86, 75, 94, 45, 60 },
        { 100, 78, 55, 86, 94, 30 }, { 100, 99, 88, 66, 77, 89 } };

// 遍历这个二维数组
for (int i = 0; i < scores.length; i++) {
    // System.out.println(scores[i]);//scores[i]还是一个一维数组,这个一维数组里存储的是各个班级学生的成绩,输出scores[i]输出的是这个一维数组的地址值,我们需要将这个一维数组里的元素取出来

    // 声明一遍变量来累加各个班的成绩之和:
    int sum = 0;
    System.out.println("第" + (i + 1) + "个班学生成绩分别是:");
    for (int j = 0; j < scores[i].length; j++) {
        System.out.print("第" + (j + 1) + "名学生成绩:");
        System.out.println(scores[i][j]);
        sum += scores[i][j];
    }
    System.out.println("第" + (i + 1) + "个班学生成绩之和是:" + sum);
    int avg = sum / scores[i].length;
    System.out.println("第" + (i + 1) + "个班学生平均成绩是:" + avg);
}

}
码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识,请关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。
文章转自:12、JAVA入门——二维数组_Java-答学网

作者:答学网,转载请注明原文链接:http://www.dxzl8.com/

你可能感兴趣的:(java,数据结构,算法)