zoukankan      html  css  js  c++  java
  • Java数组03

    3 二维数组

    3.1 二维数组概述:

      像我们在高中学校有很多个高三年级有很多的同学。所以我们可以用数组来存储,而我们又同时有很多个高三年级的班,这个也应该用一个数组来存储。如何来表示这样的数据昵?Java就提供了二维数组供我们使用。由此可见:其实二维数组就是一个元素为一维数组的数组。

    3.2 二维数组格式:

     定义格式:

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

      数据类型 数组名[][];(不推荐)

      数据类型[] 数组名[];(不推荐)

     初始化方式

      数据类型[][] 数组名 = new 数据类型[m][n];

      数据类型[][] 数组名 = new 数据类型[][]{{元素...},{元素...},{元素...}...};

      简化版格式:数据类型[][] 数组名 = {{元素...},{元素...},{元素...}};

    案例一:

    package com.lyc.test;
    
    public class ArrayDemo01 {
        
        public static void main(String[] args) {
            // 数据类型[][] 数组名 = {{元素...},{元素...},{元素...},...};
            int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
            //打印数组名
            System.out.println(arr);//[[I@15db9742
            System.out.println(arr.length);//数组长度为 3
            System.out.println(arr[0].length);//数组元素一下的数组长度为3
            
            //如何获取一个二维数组的元素?
            System.out.println(arr[0][0]);//1
            System.out.println(arr[1][1]);//5
            System.out.println(arr[2][0]);//7
        }
    }

    3.3 二维数组的遍历

      遍历思想:首先使用循环遍历出二维数组中存储的每个一维数组,然后针对每个遍历到的一维数组在使用循环遍历该一维数组中的元素。

    案例二:

    package com.lyc.test;
    
    public class ArrayDemo02 {
    
        public static void main(String[] args) {
            // 数据类型[][] 数组名 = {{元素...},{元素...},{元素...},...};
            int[][] arr = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
            for (int i = 0; i < arr.length; i++) {
                for (int j = 0; j < arr[i].length; j++) {
                    System.out.print(arr[i][j]+" ");
                }
                System.out.println();
            }
        }
    }

    结果:

    案例三:循环输入三名同学的三门成绩

    package com.lyc.test;
    
    import java.util.Scanner;
    
    public class ArrayDemo03 {
    
        public static void main(String[] args) {
            int[][] scores = new int[3][3];
            Scanner sc = new Scanner(System.in);
            String[] names = { "花花", "鱼鱼", "乐乐" };
            int[] sum = new int[3];
            double[] avg = new double[3];
            for (int i = 0; i < scores.length; i++) {//控制人数
                for (int j = 0; j < scores[i].length; j++) {//控制科目成绩
                    System.out.print("请输入"+names[i]+"同学的第"+(j+1)+"门成绩:");
                    scores[i][j] = sc.nextInt();
                    sum[i] = sum[i] + scores[i][j];
                }
                avg[i] = (double)sum[i]/avg.length;
            }
            System.out.println("姓名	语文	数学	英语	总分	平均分");
            for (int i = 0; i < scores.length; i++) {
                System.out.print(names[i]+"	");
                for (int j = 0; j < scores[i].length; j++) {
                    System.out.print(scores[i][j]+"	");
                }
                System.out.println(sum[i]+"	"+avg[i]);
            }
            
        }
    }

    结果:

     

  • 相关阅读:
    程序模块化 与 单元测试
    【集美大学1411_助教博客】2017软件工程开跑啦。。。。
    沟通很重要
    参赛感言
    助教日志_期末总结
    助教日志_【沈阳航空航天大学软件工程 1,2班】期末排行
    [数据库事务与锁]详解一: 彻底理解数据库事务
    [数据库事务与锁]详解二: 数据库的读现象浅析
    [数据库事务与锁]详解三: 深入分析事务的隔离级别
    [数据库事务与锁]详解四: 数据库的锁机制
  • 原文地址:https://www.cnblogs.com/chao123/p/10314314.html
Copyright © 2011-2022 走看看