为什么我需要初始化这个?

1 java initialization char

import java.util.Scanner;

class Practice {

public static void main(String args[]) {        


    System.out.println("Please enter your test score: ");
    Scanner enteredScore = new Scanner(System.in);
    int testScore = (enteredScore.nextInt());


    char grade = 'A';        

    if (testScore >= 90) {
        grade = 'A';            
    }                
    else if (testScore >= 80) {
        grade = 'B';
    }                
    else if (testScore >= 70) {
        grade = 'C';
    }        
    else if (testScore >= 60) {
        grade = 'D';
    }        
    else if (testScore >= 0) {
        grade = 'U';
    }


    System.out.println("Your grade is a " + grade + ".");

}
}
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释为什么我要初始化"char grade ='A';" 在我的"if"陈述之前,而不是简单地宣称它,"char grade;"?

谢谢.

asg*_*sgs 8

有可能没有一个if..else if是真的.所以你应该初始化gradeelse在底部添加一个条件.


jos*_*chi 6

您的if/else构造未涵盖所有代码分支.如果testScore小于零,grade将被酉化并且您的System.out.println呼叫将失败.