👉🏻 이 글은 자바의 정석(3판)의 Chapter 4를 공부하고 쓴 내용입니다.
조건문은 if문과 switch문, 두 가지가 있으며 주로 if문이 많이 사용된다.
처리할 경우의 수가 많을 때는 if문보다 switch문이 효율적이지만, switch문은 if문보다 제약이 많다.
if (조건식1) {
// 조건식1이 true(1)일때 수행될 문장들
} else if (조건식2) {
// 조건식2가 true(1)일때 수행될 문장들
} else {
// 위의 모든 조건식이 만족하지 않을 때 수행될 문장
}
처리할 경우의 수가 많은 경우 if문이 아닌 switch문을 사용할 수 있다.
switch(조건식) {
case 값1:
// 조건식 결과가 값1과 같을 경우 수행
break;
case 값2:
// 조건식 결과가 값2과 같을 경우 수행
break;
case 값3:
// 조건식 결과가 값3과 같을 경우 수행
break;
...
default :
// 일치하는 결과가 없을 때.
}
고의적으로 break;를 생략하는 경우도 있다. (ex.등급별 권한부여)
case 3: case 4: case 5: 와 같이 한 줄에 붙여 써도 OK
for(초기화; 조건식; 증감식) {
// 수행될 문장
}
초기화 식은 처음 한 번만 수행.
for( ; ; ) 모두 생략할 경우 무한 반복문이 된다.
향상된 for문
for( 타입 변수명 : 배열 또는 컬렉션 ) {
// 반복할 문장
}
배열 또는 컬렉션에 저장된 값이 하나씩 순서대로 읽혀 변수에 저장된다.
while (조건식) {
// 조건식 참(true)일 동아나 반복될 문장
}
⚠️ 조건식은 생략 불가.
조건식에 i--;와 값은 증감식 넣어서 활용도 가능.
break문은 근접한 단 하나의 반복문만 벗어날 수 있기 때문에, 여러 개의 중첩 반복문을 한 번에 젓어나려 할 때 중첩 반복문 앞에 이름을 붙이고 break, continue문에 이름을 지정해 줌으로써 벗어나거나 반복을 건너뛸 수 있다.
outer:
while(true) {
...
for( ; ; ){
...
if(num==0)
break; // 계산 종료. for문 벗어난다.
if(num==99)
break outer; // 전체 종료. for문과 while문 모두 벗어난다.
...
}
}