▶ JAVA/개념정리
[Java] 6. 조건문
휴학생감자
2022. 2. 2. 22:12
조건문 (if문, switch문)
조건식의 연산결과에 따라 실행할 문장이 달라지므로 실행흐름을 변경할 수 있다.
※ 블럭 내에 문장이 하나인 경우에는 괄호를 생략할 수 있다.
① if문
가장 기본적인 조건문으로, 조건식과 블럭({ })으로 이루어져 있다.
조건식이 true이면 블럭 내의 문장들을 수행하고, false이면 수행하지 않는다.
★ if-else문 / if-else if문
else 블럭은 조건식의 결과가 false일 때 수행하며, 생략이 가능하다.
else if문은 조건식이 여러 개인 경우에 사용한다.
또한, if문은 다른 if문에 포함시키는 중첩이 가능하다.
중첩의 횟수에는 제한이 없으나, 조건문을 되도록 간단하게 작성해야 함에 유의하는 것이 좋다.
import java.util.Scanner;
public class exCode {
public static void main(String[] args) {
int score;
char grade = ' ';
char sub = '0';
System.out.print("점수를 입력하세요 : ");
Scanner scan = new Scanner(System.in);
score = scan.nextInt();
if(score>=90) {
grade = 'A';
if(score>=95) { //if문 중첩
sub = '+';
}
}
else if(score>= 80){
grade = 'B';
if(score>=85){
sub = '+';
}
}
else { //else문은 조건식이 없음
grade = 'C';
}
System.out.printf("학생의 점수는 %d이며, 학점은 %c%c입니다.", score, grade, sub);
}
}
[실행 결과]
② switch문
하나의 조건식으로 많은 경우의 수를 처리할 수 있는 조건문이다.
switch문은 조건식을 계산하여 값이 일치하는 case문으로 이동하여 이후의 문장들을 수행한다.
일치하는 case문이 없는 경우에는 default문을 수행하며, break문을 만나면 조건문을 빠져나간다.
if문과 동일하게 중첩이 가능하며, 중첩 시 break문을 까먹지 않도록 주의해야 한다!
그러나, 제약조건이 있으므로 if문보다 덜 사용되는 편이다.
※ 조건
1. switch문의 조건식 결과는 정수 or 문자열이어야 한다.
2. case문의 값은 정수 상수만 가능하며, 중복되면 안된다.
import java.util.Scanner;
public class exCode {
public static void main(String[] args) {
System.out.print("오늘은 몇월 입니까? ");
Scanner scan = new Scanner(System.in);
int month = scan.nextInt();
switch (month) {
case 12:
System.out.println("현재 계절은 겨울입니다.");
break;
case 1:
System.out.println("현재 계절은 겨울입니다.");
break;
case 2:
System.out.println("현재 계절은 겨울입니다.");
break;
case 3: case 4: case 5: //위와 같이 중복되는 case는 간결하게 줄일 수 있다.
System.out.println("현재 계절은 봄입니다.");
break;
case 6: case 7: case 8:
System.out.println("현재 계절은 여름입니다.");
break;
case 9: case 10: case 11:
System.out.println("현재 계절은 가을입니다.");
break;
}
}
}
[실행 결과]