switch문의 선택적 실행 및 goto문
switch문과 if...else if...else는 유사한 측면이 있지만 사용 가능한 영역은
if...else if...else문에 비해 제한적이다.
ㆍ switch문의 구조
switch(변수){
case 1:
ㆍㆍㆍ
break;
case 2:
ㆍㆍㆍ
break;
case n번째:
ㆍㆍㆍ
break;
default:
ㆍㆍㆍ
}
* 변수의 값이 꼭 '1'부터 시작하지 않아도 된다.
* case문은 레이블(Lable)이라고도 한다.
ㆍ break문의 용도
switch문이 영역별로 구분되어 해당 영역만 실행되게하고 switch문을 탈출한다.
<break문 존재>
<break문 미존재>
ㆍ break문을 생략한 형태의 switch문 구성
=> switch문에서 break문은 선택적 입력
(break문이 삽입되어 유용한 경우도 있지만, break문이 삽입되지 않아 유용한 경우도 있기 때문.)
ㆍ switch문과 if...else if...else문
<분기의 수가 많고 switch문으로 표현 가능한 상황>
ㆍ goto 문 : 프로그램의 흐름을 원하는 위치로 이동시킬 때 사용하는 키워드
goto문의 문제점
① 프로그램의 자연스러운 흐름을 방해한다.
(C언어와 같은 절차지향언어의 단점)
② 사용하는 경우가 거의 없다.
END로 이동을 하는 것을 빼먹는다면 goto문을 쓰는 의미가 없다.
Because. ONE: 이후의 문장들 모두 실행되기 때문...