8-java - switch문

jin·2022년 5월 8일
0

switch문

switch문
if 문과 마찬가지로 조건문의 일종이지만 여러 경로 중 하나를 선택할 때 사용된다. 지금까지 낙하(fall-through) 방식의 실행문으로 사용된 switch 문은 자바 14부터 화살표 case 레이블, switch 연산식과 같은 많은 변화가 도입되었다.
switch 문은 다음과 같이 0개 이상의 case 레이블을 포함하며, 필요한 경우 1개의 defualt 레이블도 포함할 수 있다

switch (변수) { //변수가 아닌 연산식도 가능하다
  case 상수1 : 0개 이상의 실행문; //break 문과 같은 실행문이 없으면 계속해서 다음 case 레이블에 있는 실행문을 수행한다.
  ...
  default : 0개 이상의 실행문; // 선택 사항이다
}

switch 변수는 정수 타입, 문자열과 열거 타입(자바 7 이후) 이어야 하며, 변수 대신에 연산식도 가능하다. switch 문을 실행하면 변숫값에 일치하는 case 레이블로 이동한 후 해당 실행문을 수행한다. 만약 일치하는 case 레이블이 없으면 default 레이블의 여부에 따라 default 레이블로 이동하거나 switch 문을 벗어난다. case 레이블은 실행문의 시작점을 나타내므로 break 문으로 벗어나지 않는다면 계속하여 다음 case 레이블의 실행문도 수행한다.
인용 - 한빛아카데미 - 쉽게 배우는 자바 프로그래밍 / 우종정 지음


이하 수업 내용

스위치 케이스 (switch case)

사용예) 비교대상이 전부 ==(같다) 일때만 사용가능하다.
모양이 많이 불편하다. (if만 사용해도 무방하다.)

1) switch ==> 키워드
2) (값) ==> 비교할값
3) {} ==> 영역
4) case 값: ==> 비교할값
5) 내용 break ==> 비교할값과 내용
6) default ==> if문의 else와 같은역할을한다.

if문과의 비교 예시

int a = 2;
		
// if문의 경우
if (a== 1) {
	System.out.println("a는 1이다");
} else if (a == 2) {
	System.out.println("a는 2이다");
} else if (a == 3) {
	System.out.println("a는 3이다");
} else {
  System.out.println("1~3은 아니다.");
}
		
		
// switch문의 경우
switch (a) {
	case 1:
		System.out.println("a는 1이다.");
		break;
	case 2:
		System.out.println("a는 2이다.");
		break;
	case 3: 
		System.out.println("a는 3이다");
		break;
    default:
		System.out.println("1~3은 아니다.");
		break;
}
//a는 2이므로 `a는 2이다.`가 출력된다
//a의 초기값이 4일 경우 if문의 경우 else가, switch의 경우 default가 실행된다.

덧. 15~16일차는 클래스 명이 반복문6기타이론3개념들이다. 이로 보아 앞서 배운 것들에 비해 중요도가 살짝 낮은게 아닐까 조심스레 추측해본다. 증감연산자는 중요해보이지만서도.. 그냥 열심히 하자 파이팅

0개의 댓글