
참고
자바의 정석
우리는 이제까지 코드의 흐름을 맨 위에서 아래로만 순차적으로 진행을 해왔다. 하지만 때때로 특정조건일때만 실행시켜야하는 것도 있을 것이도 특정조건이 될때까지 반복을 시켜주는 문장도 있어야 할 것이다. 이처럼 프로그램의 흐름을 바꾸는 역할을 하는 문장들을 제어문이라고 하며 제어문에는 조건문과 반복문이 존재한다.
조건문에는 if문과 switch문이 존재하고 주로 if문을 많이 사용한다. 처리할 경우의 수가 많을 때는 if문보다 switch문이 효율적이지만, switch문은 if문보다 제약이 많다.
if (조건문) {
// 조건식이 참일 때 수행될 문장들을 적는다.
}
if (조건식) {
// 조건식이 참일 때 수행될 코드들을 작성한다.
} else {
// 조건식이 거짓일 때 수행 될 문장들을 작성한다.
}
if (조건식) {
// 조건식이 참일 때 수행될 코드들을 작성한다.
} else if (조건식2) {
// 조건식2가 참일 때 수행 될 문장들을 작성한다.
} else if (조건식3) {
// 조건식3이 참일 때 수행 될 문장들을 작성한다.
} else {
// 어느 조건도 해당되지 않을때 수행
}
if (조건식) {
// 조건식이 참일 때 수행될 코드들을 작성한다.
if (조건식2) {
// 조건식2이 참일 때 수행 될 문장들을 작성한다.
} else {
// 어느 조건도 해당되지 않을때 수행
}
} else {
// 조건식이 거짓일 때 수행 될 문장들을 작성한다.
}
switch문 처리순서
1. 조건식을 계산한다.
2. 조건식의 결과와 일치하는 case문으로 이동한다.
3. 이후의 문장들을 수행한다.
4. break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나간다.
switch문 제약 조건
1. switch문의 조건식 결과가 정수 또는 문자열이어야한다.
2. case문의 값은 정수 또는 상수만 가능하며, 중복되지 않아야한다.
switch문 주의 사항
- 속도를 반드시 향상시켜야한다고 하면 가독성을 무시하고 switch문을 사용하는것이 맞지만, 왠만하면 if문을 사용하여 하는 경우가 더 올바른 선택이라고 필자는 생각한다.