조건 순서와 경계값에 따라 분기합니다.
if, else if, else는 위에서부터 검사해 처음 참인 블록 하나를 실행합니다. 높은 등급처럼 포함 범위가 큰 조건은 가장 높은 기준부터 배치합니다.
87은 첫 조건 score >= 90에서 false가 되고 두 번째 조건 score >= 80에서 처음으로 true가 되어 grade에 B가 들어가며, 그 아래 조건들은 검사하지 않습니다. grade는 선언할 때 값이 없지만 사슬이 else로 끝나 어느 경로든 한 번은 대입되므로 컴파일러가 println에서의 사용을 허락합니다. 마지막 else를 지우면 초기화되지 않았을 수 있다는 컴파일 오류가 납니다.
조건식은 반드시 boolean이어야 하며 숫자를 참과 거짓으로 자동 해석하지 않습니다.
긴 조건은 이름 있는 메서드로 추출하고 경계 바로 아래·같은 값·바로 위를 테스트합니다.
60점 조건을 90점 조건보다 먼저 두면 90점도 앞 블록에서 끝납니다.
직접 바꿔보세요59, 60, 89, 90의 결과를 확인하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.