중첩 if문
if 문의 블럭 내에 또 다른 if문을 포함시키는 것이 가능하다. 중첩 횟수에는 제한이 없다.
내부 if문은 안쪽 들여쓰기를 해서 명확히 구분하자.
중첩 if문에서는 괄호{}의 생략에 조심해야한다.
else블럭이 바깥 if문에 속한 것처럼 보이지만 괄호가 생략되었을 때 가까운if문으로 속한 것으로 간주되기 때문에
실제로는 오른쪽처럼 안쪽 if문의 else블럭이 되어버린다.
예5)
중첩 if문 - 성적에 따른 학점 출력 (+,-포함)
import java.util.*;
public class FlowEx5 {
public static void main(String[] args) {
int score = '0'; // 성적 초기화
char grade = ' ', opt = '0'; // 학점 +-초기화
System.out.println("점수를 입력하세요");
Scanner sc = new Scanner(System.in);
score = sc.nextInt();
if (score >= 90) {
grade = 'A';
if (score > 98) {
opt = '+';
} else if (score < 94) {
opt = '-';
}
} else if (score >= 80) {
grade = 'B';
if (score > 88) {
opt = '+';
} else if (score < 84) {
opt = '-';
}
} else {
grade = 'C';
}
System.out.printf("점수는 %d, 학점은 %c%c 입니다", score, grade, opt);
}
}
'JAVA > 조건문(if, switch)과 반복문(for, while)' 카테고리의 다른 글
[JAVA]Math.random() (0) | 2021.06.09 |
---|---|
[JAVA] switch문 예제(계절 /가위바위보(난수)/주민등록번호/점수에 따른 학점 출력) (0) | 2021.06.09 |
[JAVA] switch문 (0) | 2021.06.09 |
[JAVA] if-else문 / if-else if문 (0) | 2021.06.09 |
[JAVA] 조건문(if문) (0) | 2021.06.09 |