보리차
chapter 05 실행 흐름의 컨트롤 본문
if 그리고 else
if(true or false) {
조건 true 시 실행되는 영역
} else {
조건 false 시 실행되는 영역
}
if문, 그리고 uf절과 else절에 속한 문장이 하나인 경우에는 중괄호의 생략이 가능하다.
if문도 if~else문도 라인(Line) 수에 상관없이 하나의 문장으로 인식된다.
따라서 if~else if~else문은 if~else문을 중첩 시킨 결과이다.
조건 연산자
조건 ? 수1 : 수2
조건이 true이면 왼편의 수가 반환되고 false이면 오른편의 수가 반환된다.
switch와 break
switch(n) {
case 1:
....
break;
case 2:
....
break;
case 3:
....
break;
default:
....
}
해당 case로 이동 후 실행할 위치가 결정되면 레이블은 의미가 없어지고 default를 포함하여 모든 레이블이 사라진 상태에서 실행을 이어간다. 해당 영역만 실행하고 싶다면 break문을 걸어주면 된다.
case와 default는 책의 위치를 표현하는 레이블과 성격이 같기 때문에 잘 보이도록 들여쓰기 대상에서 제외하는 것이 일반적이다.
둘 이상의 레이블을 이어서 둘 수도 있다.
switch(n) {
case 1:
case 2:
case 3:
....
break;
default:
....
}
for, while 그리고 do~while
while문은 조건을 만족하면 반복을 실행하지만 do~while문은 일단 중괄호 영역을 실행한 후 조건을 만족하면 반복을 결정한다. 즉, while문은 '선 검사'방식이고 do~while문은 '후 검사' 방식이다.
do {
반복 영역
} while(반복 조건);
for문
for문은 반복 횟수가 정해진 경우에 사용한다.
for(int i = 0; i < 5; i++) {
반복 영역
}
이때 i++은 반복 영역이 모두 실행된 후 변수의 값을 증가시킨다.
break & continue
break는 switch문과 반복문을 빠져나가는 용도로 사용된다. 가장 근접한 거리에서 자신을 감싸고 있는 반복문을 찾아 해당 반복문을 빠져나가게 된다.
continue문을 만나면, 반복문의 나머지 부분을 실행하지 않고 반복문의 맨 위로 이동해 조건 검사부터 실행을 이어나간다.
반복문의 중첩
반복문을 중첩했을 때 break문으로 원하는 반복문까지 탈출하려면 레이블을 이용해 빠져나갈 위치를 명시해주면 된다.
outer: for(int i=1; i<10; i++) { //바깥쪽 for문에 레이블 outer 명시!
for(int j=1; j<10; j++) {
int((i*j) == 72) {
break outer; // outer로 명시된 반복문까지 빠져나간다.
}
}
}
'Java' 카테고리의 다른 글
chapter 07 클래스와 인스턴스 (0) | 2022.01.25 |
---|---|
chapter 06 메소드와 변수의 스코프 (0) | 2022.01.21 |
chapter 04 연산자 (0) | 2022.01.21 |
chapter 03 형변환 (0) | 2022.01.18 |
chapter 02 변수와 자료형 (0) | 2022.01.18 |