if
if (조건식) {
조건식의 결과가 참일 때 실행하고자 하는 문장;
}
if - else
if (조건식) {
조건식의 결과가 참일 때 실행하고자 하는 문장;
} else {
조건식의 결과가 거짓일 때 실행하고자 하는 문장;
}
if - else if - else
if (조건식1) {
조건식1의 결과가 참일 때 실행하고자 하는 문장;
} else if (조건식2) {
조건식2의 결과가 참일 때 실행하고자 하는 문장;
} else {
조건식1의 결과도 거짓이고, 조건식2의 결과도 거짓일 때 실행하고자 하는 문장;
즉, 위의 어느 조건식에도 만족하지 않을 때 수행
}
중첩 if
if (조건식1) {
조건식1의 결과가 참일 때 실행하고자 하는 문장;
if (조건식2) {
조건식1 과 조건식 2의 결과가 모두 참일 때 실행하고자 하는 문장;
} else {
조건식1의 결과가 참이고, 조건식2의 결과가 거짓일 때 실행하고자 하는 문장;
}
} else {
조건식1의 결과가 거짓일 때 실행하고자 하는 문장;
}
블럭 { }
'여러 문장을 하나로 묶어주는 것'이다.
만약 if 조건문에서 실행할 문장이 하나라면
if(조건식) 명령문; 이렇게 { } 가 생략될 수 있다.
조건식의 다양한 예

switch
switch (조건식) {
case 값1:
조건식의 결과가 값1과 같을 경우 수행할 문장;
break;
case 값2:
조건식의 결과가 값2와 같을 경우 수행할 문장;
break;
....
default:
조건식의 결과와 일치하는 case 문이 없을 때 수행할 문장;
}
switch 문의 제약조건
int num, result;
final int ONE = 1;
switch (result) {
case '1': // OK. 문자 리터럴(정수 49와 동일)
case ONE: // OK. 정수 상수
case "YES" // OK. 문자열 리터럴
case num: // Error. 변수는 불가능
case 1.0: // Error. 실수도 불가능
}
for
for (초기화; 조건식; 증감식) {
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 문장;
}
실행 순서
1. 초기화
2. 조건식
3. 조건식 이 참일 경우 문장 수행
4. 증감식
5. 조건식이 거짓이 될 때 까지 반복
중첩 for
for (초기화; 조건식1; 증감식) {
조건식1의 결과가 참인 동안 반복적으로 실행하고자 하는 문장;
for (초기화; 조건식2; 증감식) {
조건식2의 결과가 참인 동안 반복적으로 실행하고자 하는 문장;
}
}
향상된 for
for (타입 변수이름 : 배열 or 컬렉션) {
배열 or 컬렉션의 길이만큼 반복적으로 실행하고자 하는 문장;
}
Math.random() -> 0.0 과 1.0 사이의 임의의 double 값을 반환한다.
- 0.0 <= Math.random() < 1.0
1 부터 5 사이의 random 한 정수 값 구하기
while
while (조건식) {
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 문장;
}
실행 순서
1. 조건식
2. 조건식 이 참일 경우 문장 수행
3. 조건식이 거짓이 될 때 까지 반복
do - while
do {
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 문장;
} while (조건식);
실행 순서
1. 처음 한 번은 무조건 실행
2. 조건식
3. 조건식 이 참일 경우 문장 수행
4. 조건식이 거짓이 될 때 까지 반복
break
자신이 포함된 하나의 반복문을 벗어난다.
continue
자신이 포함된 반복문의 끝으로 이동
이름붙은 반복문
반복문에 이름을 붙여서 하나 이상의 반복문을 벗어납니다.