5-1 if와 else
- if 문에 속한 문장이 하나면 중괄호 생략 가능하다 대신에 들여쓰기하여 구분한다
- else if 문은 중간에 얼마든지 추가 가능하다
if(...) {
... // 한문장
} else {
if(...) {
...
} else {
...
}
}
- 위의 코드를 아래 코드처럼 간단하게 작성할 수 있다
if(...)
... // 중괄호 생략 가능
else if(...) {
...
} else {
...
}
- 조건 연산자
조건 ? x : y
조건이 true면 x를 반환하고 조건이 false면 y를 반환
5-2 swich와 break
- 각 case는 라벨이다
- 라벨의 의미를 살려서 case는 들여쓰기를 하지 않는다
- 라벨이 붙은 페이지를 펼치면 그 페이지부터 끝까지 읽어나가는 것처럼
아래 코드처럼 break를 하나도 걸지 않으면 해당 case부터 끝까지 실행한다
switch(n) {
case 1:
...
case 2:
...
case 3:
...
default:
...
}
- 아래 코드처럼 case에 break를 걸어주면 블록 단위로 영역이 형성되어
특정 영역만 실행되는 효과를 얻을 수 있다
- break를 만나면 switch문을 탈출한다
switch(n) {
case 1:
...
break;
case 2:
...
break;
case 3:
...
break;
default:
...
}
- 아래 코드처럼 case가 나란히 붙어있으면 한 페이지에 여러 라벨이 나란히 붙어 있는 것과 같다
- n이 1 또는 2 또는 3이면 case 3의 코드를 실행하는 것이다
switch(n) {
case 1:
case 2:
case 3:
...
break;
default:
...
}
5-3 while, for, do ~ while
int i = 0;
while(i < 5) {
...
i++;
}
for(int i=0; i<5; i++) {
...
}
do {
...
} while();
- do ~ while문은 중괄호 영역부터 실행하고 while에서 검사하므로
중괄호 영역은 최소 1번 이상 실행된다
5-4 break & continue
while() {
...
if() {
...
break;
}
...
}
- continue를 만나면 조건문 밖의 코드가 생략되고 반복문의 조건검사로 이동한다
while() {
...
if() {
...
continue;
}
...
}
5-5 반복문의 중첩
- 반복문이 3가지이므로 중첩은 크게 3*3=9가지로 볼 수 있다
- 대표적인 것은 for문 중첩과 while문 중첩 2가지이다
for() {
for() {
}
}
while() {
while() {
}
}