数组

什么是数组

  相同类型的数据按顺序组成的引用数据类型

一维数组:

  声明:类型 数组名[];

    类型[] 数组名;

  创建:类型[] 数组名 = new 类型[数组长度];

     类型 数组名[] = new 类型[数组长度];

  初始化:类型[] 数组名 = {,,,,,}  元素之间用英文逗号(,)隔开

        类型 数组名[] = {,,,,,,}

数组元素的引用

  数组名[下标]   数组的下标是从0开始的

二维数组(特殊的一维数组)

  声明:类型 数组名[][];

    类型[][] 数组名;

    类型[]   数组名[];

  创建:类型[][] 数组名 = new 类型[a][b];

     类型 数组名[][] = new 类型[a][b];

    类型[]   数组名[] = new 类型[a][]

    将二维数组看成一个表格,其中a表示二维数组的行数,b表示列数.

    在定义时,可以只定义二维数组的行数,如下

int[][] a = new int[3][];//创建一个二维数组
a[0] = new int[2];//二维数组第一行有2列
a[1] = new int[3];//二维数组第二行有3列
a[2] = new int[4];//二维数组第三行有4列  

  初始化:类型[] 数组名 = {{,,},{,,},{,,}} ; 元素之间用英文逗号(,)隔开

        类型 数组名[] = {{,,},{,,},{,,}} ;

     类型[] 数组名[] ={{,,},{,,},{,,}} ;

数组排序:

public static void main(String[] args) {
        //冒泡排序,将数组从小到大排序
        int[] a = {34,53,12,32,56,17};
        int temp;
        for(int i = 1;i < a.length;i++) {
            for(int j = 0;j < a.length - i;j++) {
                if(a[j] > a[j + 1]) {
                    temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                }
            }
        }
        //遍历数组
        for(int x:a) {
            System.out.print(x + " ");
        }
    }

二维数组处理成绩问题

public static void main(String[] args) {
        // 在一个二维数组中存放了三名学生的语文和数学成绩,分别求出语文和数学总成绩的平均分
        int[][] score = new int[3][2];
        int sum1 = 0;
        int sum2 = 0;
        // double ave;
        Scanner sc = new Scanner(System.in);
        /*
         * for(int i = 1;i < 4;i++) { System.out.println("请输入第" + i + "个同学的语文成绩:");
         * Scanner sc1 = new Scanner(System.in); score[i -1][0] = sc1.nextInt();
         * System.out.println("请输入第" + i + "个同学的数学成绩:"); Scanner sc2 = new
         * Scanner(System.in); score[i -1][1] = sc1.nextInt(); }
         */
        for (int i = 1; i < 4; i++) {
            for (int j = 0; j < 2; j++) {
                if (j == 0) {
                    System.out.println("请输入第" + i + "个同学的语文成绩:");
                } else {
                    System.out.println("请输入第" + i + "个同学的数学成绩:");
                }
                score[i - 1][j] = sc.nextInt();
            }
        }
        for (int i = 0; i < score.length; i++) {
            sum1 += score[i][0];
            sum2 += score[i][1];
        }
        System.out.println("语文总成绩为:" + sum1);
        System.out.println("语文的平均分为:" + (sum1 / 3.0));
        System.out.println("数学总成绩为:" + sum2);
        System.out.println("数学的平均分为:" + (sum2 / 3.0));
    }

 

posted @ 2018-06-21 12:48  HJ0101  阅读(106)  评论(0编辑  收藏  举报