본 포스팅은 '이젠아카데미컴퓨터학원 종로캠퍼스'에서 진행한 윤대명 선생님의 강의를 듣고 공부한 내용을 정리한 것입니다.
*참고 자료: 신용권, 『이것이 자바다』, 한빛미디어(주), 2015.
목차
1. Switch문
*if문은, 조건문의 결과가 무조건 true 아니면 false입니다. switch문은, true · false가 아니고, 변수나 연산식의 실제 값입니다.
*if문으로 만든 건 switch문으로 다 바꿀 수 있습니다. switch문으로 만든 것, if문으로 다 바꿀 수 있습니다.
↘[변수]에 들어가는 값과, [case]에 들어가는 값을 비교합니다. 같으면 실행이 됩니다. [변수]의 값이 첫 번째 [case]와 다르면 두 번째 [case]까지 봅니다. 매칭되는 게 없으면, [default]라는 키워드 밑에 있는 내용이 실행되면서 동작됩니다.
↘[default] 밑에는 [break]를 넣을 필요가 없습니다. 제일 밑에 있기 때문입니다.
1-1. [예제] Switch문 1
↘[case]의 값 뒤에는 세미콜론(;)이 아니라 콜론(;)이 붙습니다.
↘실행을 시켜주면 랜덤 하게 동작이 되는 걸 볼 수 있습니다.
↘if-else문에서 만든 내용을 switch문에서도 얼마든지 작업을 할 수 있습니다.
↘[break]라는 키워드가 붙는 이유: 만약에 랜덤 하게 뽑은 값이 1일 경우, [case 1]에 걸려서 ["1번이 나왔습니다."]가 출력이 됩니다. [break]에 걸리는 순간, switch문 블록 밖으로 나가게 됩니다. 만약에 [break]가 없으면, 다 [case]에 맞든 안 맞든, 밑에 [case]가 실행이 됩니다.
↘[break]가 없으면 모든 [case]가 실행됩니다. [case]에 맞는 것만 실행하고, switch문 블록에서 나가게 하기 위해서 [break]라는 키워드를 반드시 붙여야 됩니다.
1-2. [예제] Switch문 2
1-3. [예제] break문이 없는 case 1
↘[break]가 있으면, 그 시간에 할 내용만 출력을 시켜주는데, [break]가 빠졌기 때문에, 일찍 나온 사람은 일을 많이 합니다. [break]가 빠지면, switch문의 의미가 없어집니다. [case] 블록에서 처리가 끝나면 반드시 [break] 키워드를 붙여주는 게 기본 폼입니다.
1-4. [예제] break문이 없는 case 2
↘[break]가 없기 때문에 전부 실행이 됩니다.
1-5. [예제] break문이 없는 case 3
1-6. [예제] char 타입의 Switch문 1
↘switch의 값으로 char 타입도 들어갈 수 있습니다. switch문의 괄호 안에 들어갈 수 있는 값의 타입은 정수 타입(char, byte, short, int, long)과 String 타입입니다.
1-7. [예제] char 타입의 Switch문 2
char 타입도 Switch문의 값으로 넣어서 연산할 수 있습니다.