为什么最小值不能算出来

package day07;

import java.util.Scanner;

/*
现以一个班级10个同学的数学成绩为例,进行统计。求这个班级的数学平均成绩,最高分,最低分。

*/
public class Demo14Test {
public static void main(String[] args) {
//建立数组
int[] arr = new int[10];
//定义sum 用来算总和
int sum = 0;
//定义一个max 计算最高成绩
int max = arr[0];
//定义一个min 计算最低成绩
int min = arr[0];
//调用Scanner方法2
Scanner sc = new Scanner(System.in);
//遍历数组
for (int i = 0; i < arr.length; i++) {
//创建键盘录入 将值赋给arr[i]
System.out.println("请输入第" + (i + 1) + "个学生的成绩");
arr[i] = sc.nextInt();

        //求最大值
        if (max < arr[i]) {
            max = arr[i];
        }

        //求最小值
        if (min > arr[i]) {
            min = arr[i];
        }

        //sum求总和
        sum += arr[i];
    }
    //求平均值
    double avg = (sum + 0.0) / arr.length;

    System.out.println("学生的最高成绩为" + max);
    System.out.println("学生的最低成绩为" + min);
    System.out.println("学生的平均成绩为" + avg);

}

}

改成这样就行了:,之前你还没输入就赋值arr[0]所以会出错

import java.util.Scanner;

/*
现以一个班级10个同学的数学成绩为例,进行统计。求这个班级的数学平均成绩,最高分,最低分。

*/
 class Demo14Test {
public static void main(String[] args) {
//建立数组
int[] arr = new int[10];
//定义sum 用来算总和
int sum = 0;
//定义一个max 计算最高成绩
int max = arr[0];
//定义一个min 计算最低成绩
int min = arr[0];
//调用Scanner方法2
Scanner sc = new Scanner(System.in);
//遍历数组
for (int i = 0; i < arr.length; i++) {
//创建键盘录入 将值赋给arr[i]
System.out.println("请输入第" + (i + 1) + "个学生的成绩");
arr[i] = sc.nextInt();
        if(i==0){
             max = arr[0];
             min = arr[0];
        }
        //求最大值
        if (max < arr[i]) {
            max = arr[i];
        }
 
        //求最小值
        if (min > arr[i]) {
            min = arr[i];
        }
 
        //sum求总和
        sum += arr[i];
    }
    //求平均值
    double avg = (sum + 0.0) / arr.length;
 
    System.out.println("学生的最高成绩为" + max);
    System.out.println("学生的最低成绩为" + min);
    System.out.println("学生的平均成绩为" + avg);
 
}
}

img