java中用switch和case语句怎么代替if语句

public static Grade scoreLevel(int score) {
if (score >= 90 && score <= 100) {
System.out.println("Excellent");
return Grade.A;
} else if (score >= 80 && score < 90) {
System.out.println("Good");
return Grade.B;
} else if (score >= 60 && score < 80) {
System.out.println("Average");
return Grade.C;
} else if (score >= 0 && score < 60) {
System.out.println("Bad");
return Grade.D;
}
return null;
}

将分数控制在十位以内,这样就连可以列举完,然后利用case 穿透来满足范围查询。建议不要这样做,平级if else 只会执行一个判断。 可以使用模板加策略来优化


score = score/10;
    switch(score){
        case 10:
        case 9:
            System.out.println("Excellent");
            return Grade.A;
        
        case 8:
            System.out.println("Good");
            return Grade.B;
        case 7case 6:
            System.out.println("Average");
            return Grade.C;
        case 5case 4case 3case 2case 1case 0:
            System.out.println("Average");
            return Grade.C;
        default:
            return null;

这种条件判断score >= 90 && score <= 100是没法去case的,if else挺好的呀