충분히 쌓여가는
if - else if 문 본문
if - else if 문
여러 개의 조건식을 포함한 조건식
if - else 문은 두 가지 경우 중 하나가 수행되는 구조인데, 처리해야할 경우의 수가 3가지 이상인 경우에
if - else if 문을 사용하면 된다
if (조건식 1) {
// 조건식1의 연산결과가 참일 때 수행될 문장들을 적는다
}
else if (조건식 2) {
// 조건식2의 연산결과가 참일 때 수행될 문장들을 적는다
}
else if (조건식 3) {
// 조건식3의 연산결과가 참일 때 수행될 문장들을 적는다
}
else { // 마지막에는 보통 else 블럭으로 끝나며, else 블럭은 생략가능하다
// 위의 어느 조건식도 만족하지 않을 때 수행될 문장들을 적는다
}
public class practice {
public static void main(String[] args) {
int score = 0;
if (score >= 90) {
System.out.println('A'); // A
} else if (score >= 80) {
System.out.println('B'); // B
} else if (score >= 70) {
System.out.println('C'); // C
} else if (score >= 60) {
System.out.println('D'); // B
} else {
System.out.println('F'); // F
}
}
}
F
웬만하면 else {}문을 안쓰는 것이 좋다
예를 들어 이 코드를 grade라는 변수를 F로 주면서 else문을 제외시킬 수 있다
import java.util.Scanner;
public class practice {
public static void main(String[] args) {
int score = 0;
Scanner sc = new Scanner(System.in);
score = sc.nextInt();
if (score >= 90) {
grade = 'A';
} else if (score >= 80) {
grade = 'B';
} else if (score >= 70) {
grade = 'C';
} else if (score >= 60) {
grade = 'D';
} else {
grade = 'F';
}
System.out.println(grade);
}
}
개선 코드
import java.util.Scanner;
public class practice {
public static void main(String[] args) {
int score = 0;
char grade = 'F';
Scanner sc = new Scanner(System.in);
score = sc.nextInt();
if (score >= 90) {
grade = 'A';
} else if (score >= 80) {
grade = 'B';
} else if (score >= 70) {
grade = 'C';
} else if (score >= 60) {
grade = 'D';
}
System.out.println(grade);
}
}