모든 선택문/반복문의 실행 문장은 블럭{}
내에 있기 때문에 변수의 지역성 등을 생각하면서 사용해야한다
1. 선택문
1-1. if문
if (조건식1) {
...실행문장1...
}
else if (조건식m) {
...실행문장2...
}
else {
...실행문장3...
}
- 순차적으로 조건식을 확인해 만족하면 해당 실행 문장을, 모두 만족하지 않는다면 else문을 실행한다.
1-2. switch문
switch (식) {
case 값1:
실행문장1;
break;
case 값m:
실행문장m;
break;
default:
실행문장 n;
}
- 식의 결과가 값과 일치하는 case의 실행 문장을 실행한다. 없을 시 default를 실행한다
- case 문 값은 문자, 정수, 문자열 리터럴만 사용할 수 있다
1-3. if문 vs switch문의 성능
- if문은 branch statement기반이고, switch문은 jump statement 기반이다
- if문은 매 분기(조건식)마다 맞는지 틀린지 확인하기 때문에 조건이 n개이면 O(n)이다
- switch문은 값의 범위가 너무 크지 않다면 컴파일 시 jump table로 컴파일 되어 O(1)이다
2. 반복문
2-1. for문
for (초기문; 조건식; 반복 후 작업) {
...실행문장...
}
- 초기값, 증감식을 for문 밖으로 뺄 수도 있고 조건식은 생략시 true로 판단돼 무한 루프를 돌게할 수 있지만... 사실 그렇게 만들면 while문을 쓰고 말지 코드 읽기만 불편하고 쓸 상황도 없을거 같아서 생략하겠다.
2-2. while문
while (조건식) {
...실행문장...
}
- 실행 문장을 한번 실행하고 while문을 도는 do-while문도 있다
do {
...실행문장...
} while (조건식);
2-3. continue와 break
- 반복문의 실행 문장에서 이후 실행 문장을 실행하지 않고 다음 루프로 넘어가려면 continue를 사용할 수 있다
- 반복문의 실행 문장에서 반복문을 종료하려면 break를 사용할 수 있다.