제어문 - 조건문 : if, switch
2023. 4. 18. 23:36
1. 조건문 : if
if (조건식) {
//조건식이 참이라면 실행되는 블록입니다.
}
→ 소괄호 안에는 boolean 값으로 평가될 수 있는 조건식을 넣어주고, 중괄호 안의 실행 블록에는 조건식이 참일 때 실행하고자 하는 코드 적어주기
→ 중괄호를 이용해 여러 문장을 하나의 단위로 묶을 수 있음 → 블록(block)
🔎 if ... else문
→ 조건식의 결과에 따라 실행 블록을 선택
조건식이 true이면 해당 블록이 실행 되고, 조건식이 false이면 다음으로 넘어가 else if 문의 조건식 검사
else if 문의 모든 조건식이 false라면 나머지 경우를 의미하는 else 블록 실행
if(조건식1) {
//조건식1이 참이라면, 실행되는 블록입니다.
}
else if (조건식2) {
//조건식1이 참이 아니면서 조건식2가 참일 때, 실행되는 블록입니다.
}
else {
//조건식1과 2가 모두 참이 아닐 때, 실행되는 블록입니다.
//else문은 생략 가능합니다.
}
2. Switch 문
→ switch문은 변수가 어떤 값을 갖느냐에 따라 실행문이 선택됨 그래서 if 문보다 코드가 간결할 수 있음
import java.util.Scanner;
public class Main {
static Scanner myInput = new Scanner(System.in);
public static void main(String[] args) {
String dice = myInput.nextLine(); //주사위 번호 입력
switch (dice) {
case "1":
System.out.println("1번");
break; //다음 case를 실행하지 않고, switch문 탈출!
case "2":
System.out.println("2번");
break;
case "3":
System.out.println("3번");
break;
case "4":
System.out.println("4번");
break;
case "5":
System.out.println("5번");
break;
case "6":
System.out.println("6번");
break;
default: //switch문의 괄호 안 값과 같은 값이 없으면, 여기서 실행문 실행
System.out.println("없는 숫자! " + dice);
break;
}
}
}
➡️ switch 문은 괄호 안의 값과 동일한 값을 갖는 case로 가서 실행문 실행
동일한 값이 없으면 default로 가서 실행문 실행 → default 생략 가능
➡️ switch 문에는 int 뿐만 아니라 char 타입 변수도 사용 가능하고, 자바 7부터는 String 타입의 변수도 올 수 있음
➡️ break문을 작성하지 않으면 switch 문을 탈출하지 않고 모든 case문을 실행하게 되어 원하는 방식으로 동작하지 않음→ fall through!