【Java——统计一组学生成绩】

文章目录

    • (一)编程实现
    • (二)讲解知识点
      • 1、一维数组定义
        • (1)语法格式
        • (2)数组定义示例
        • (3)数组定义的内存变化图
      • 2、不同类型数组元素默认初始值
      • 3、避免数组下标越界异常
      • 4、避免数组空指针异常
    • (三)拓展练习
      • 数组排序(升序和降序排列)
        • 1、选择法排序
          • (1)选择法排序含义
          • (2)选择法排序实现步骤
        • 2、冒泡法排序
          • (1)冒泡法排序含义
          • (2)冒泡法排序实现步骤
      • 补充:利用Arrays工具提供的sort()方法实现数组排序

  • 统计一组学生成绩的总分、平均分、最高分和最低分
  • 假如一组学生100个人,利用前面所学的知识,程序就需要声明10个变量score1,score2,…,score100,来分别记住每位学生的成绩,计算平均分
  • 普通平均分算法会显得特别麻烦,此时我们用一个数组来保存100个成绩,通过数组的索引或下标来访问每一个成绩,可以使用循环来处理。

(一)编程实现

  • net.huawei.p02.t07包里创建Task07
    【Java——统计一组学生成绩】_第1张图片
    【Java——统计一组学生成绩】_第2张图片

  • 运行程序,查看结果
    【Java——统计一组学生成绩】_第3张图片

  • 可以利用增强for循环来遍历数组
    【Java——统计一组学生成绩】_第4张图片

课堂练习

  • 确保输入成绩在[0, 100]范围内
    【Java——统计一组学生成绩】_第5张图片

(二)讲解知识点

1、一维数组定义

(1)语法格式

在这里插入图片描述

(2)数组定义示例

在这里插入图片描述

(3)数组定义的内存变化图
  • 声明数组变量,此时数组变量还是null,赋值实例化数组之后,才会给它分配内存空间
    【Java——统计一组学生成绩】_第6张图片

2、不同类型数组元素默认初始值

【Java——统计一组学生成绩】_第7张图片

3、避免数组下标越界异常

  • 每个数组的索引(下标)都有一个范围,即[0, length - 1]。在访问数组的元素时,索引不能超出这个范围,否则程序会报错(ArrayIndexOutOfBoundsException,即数组角标越界异常)。
    【Java——统计一组学生成绩】_第8张图片

4、避免数组空指针异常

  • 在使用变量引用一个数组时,变量必须指向一个有效的数组对象,如果该变量的值为null,则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现错误(NullPointerException,即空指针异常)。
    【Java——统计一组学生成绩】_第9张图片

(三)拓展练习

数组排序(升序和降序排列)

1、选择法排序
(1)选择法排序含义
  • 选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。
(2)选择法排序实现步骤

【Java——统计一组学生成绩】_第10张图片

2、冒泡法排序
(1)冒泡法排序含义
  • 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端。
(2)冒泡法排序实现步骤

【Java——统计一组学生成绩】_第11张图片

补充:利用Arrays工具提供的sort()方法实现数组排序

  • net.huawei.p02.t07包里创建XExercise02_3
    【Java——统计一组学生成绩】_第12张图片

  • 运行程序,查看结果
    【Java——统计一组学生成绩】_第13张图片

  • 怎么才能实现降序排列呢?此时,我们还得传一个参数给sort()方法,这个参数是Collections.reverseOrder()
    【Java——统计一组学生成绩】_第14张图片

  • 运行程序,查看结果
    【Java——统计一组学生成绩】_第15张图片

  • 要访问一个班的全部同学,有两种方式:一种方式是通过学号(id),相当于采用一维数组来访问;一种方式是通过座位号(row, col),相当于采用二维数组来访问。

你可能感兴趣的:(Java课程学习,java,intellij-idea)