10월7일 : switch문

Kim·2020년 10월 28일
0

switch문을 사용할 수 있는 조건

📌 if else가 사용 혹은 반복되며
📌 모든 조건문들이 같은 변수를 비교하고
📌 변수는 오로지 하나의 값과 같을 때만을 판별할 때
switch문 사용이 가능하다.

switch문의 구조

switch(변수 or 변수를 포함한 식) {
case a:
	변수 값이 a일 때 실행될 코드;
	break;
case b:
	변수 값이 b일 때 실행될 코드;
	break;
default:
	변수 값이 a나 b가 아닐 때 실행될 코드;
}

📌 switch
switch문 전체를 중괄호{ }로 감싸줌
switch() 소괄호 안에 switch문 안에서 비교할 변수나 식을 넣어줌

📌 case
switch문의 조건식
예를 들어 'case 9:'는 if(변수==9)와 같은 의미이다
하지만 case는 실행될 코드를 { }로 감싸주지 않음
❗case의 조건은 하나의 값만 가능함
case 변수<10 처럼 식은 불가능❗

📌 break
다른 case로 넘어가지 않게 막아주는 역할
앞선 코드를 예로 들면,

int x=a;

switch(x) {
case a:
	code1;
case b:
	code2
default:
	code3
}

case a에 있는 code1이 실행된 뒤, 종료시켜줄 break가 없어서
뒤에 있는 code2, code3까지 실행되고 switch문이 종료된다.

int x=b;

switch(x) {
case a:
	code1;
case b:
	code2
default:
	code3
}

만약 이런 상황이면, case b의 code2가 실행된 뒤,
code3까지 실행되야 switch문이 종료된다.

int x=b;

switch(x) {
case a:
	code1;
    	break;
case b:
	code2
  	break;
default:
	code3
}

break가 있다면 code2만 실행된 뒤 종료된다.


switch문 활용하기

📌 입력된 정수 i가 10이면 "ten"을 출력하고
100이면 "hundred", 1000이면 "thousand"를 출력하라.
10, 100, 1000가 아닐 경우에는 "any number"를 출력하라.

📣 if else로 표현

import java.util.Scanner;
public class Today_201007_2 {

	public static void main(String[] args) {
	Scanner s = new Scanner(System.in);
	
	int i=s.nextInt();
	if(i==10) {
		System.out.println("ten");
	}else if(i==100) {
		System.out.println("hundred");
	}else if(i==1000) {
		System.out.println("thousand");
	}else{
		System.out.println("any number");
	}
    }
 }

📣 switch문으로 변경하기

0개의 댓글