동일한 연산이나 코드 블록을 반복적으로 실행하는 경우 사용
for문
처음부터 반복 횟수를 알 수 있는 경우 사용
초깃값
조건식에서 사용하는 변수 초기화
시작할 때 한 번만 수행
콤마(,)로 분리하여 여러 문장 나열 가능
초깃값은 빈 상태로 두어도 되지만 끝에 세미콜론(;)이 있어야 함
조건식
논리형 변수나 논리 연산 사용
조건식의 결과가 true이면 반복 수행, false이면 for문 벗어남
for문의 실행문 수행 전 검사되므로 조건식이 처음부터 false이면 바로 for문 벗어남
증감식
실행문 수행 후 실행
콤마(,)로 분리하여 여러 문장 나열 가능
실행문
for문이 반복되는 동안 반복 실행
for(초깃값; 조건식; 증감식) {
실행문;
}
// 무한 반복
for(초깃값; true; 증감식) {
실행문;
}
for(초깃값; ; 증감식) {
실행문;
}
// 증감식을 실행문에 쓰는 경우
for(초깃값; 조건식;) {
실행문;
증감식;
}
지역변수
변수를 for문 블록 안에서만 사용되도록 선언하여 사용
for문 밖에서는 사용 불가
for(변수선언 및 초기화; 조건식; 증감식) {
실행문;
}
for(int i = 0; i < 10; i++) {
실행문;
}
// 지역변수 사용하지 않을 경우
변수선언
for(초기화; 조건식; 증감식) {
실행문;
}
int i;
for(i = 0; i < 10; i++) {
실행문;
}
중첩 반복(nested loop)
반복문에 또다른 반복문 내포 가능
여러 번 중첩 가능하지만 너무 깊은 중첩 반복은 프로그램 구조를 복잡하게 만들어 3중 중첩 이상은 바람직하지 않음
for(int i = 0; i < 100; i++) {
for(int j = 0; j<1000; j++) {
실행문;
}
}
while문
반복 횟수를 알 수 없고, 조건에 따라 반복이 계속되거나 중단되며, 반복 조건을 처음부터 따지는 경우 사용
조건식
조건식에 사용되는 변수는 while문 실행 이전에 반드시 초기화가 이뤄져야 함
조건식이 true인 동안 실행문 수행 반복, false가 되면 반복문 벗어남
for문과 다르게 조건식이 없으면 컴파일 오류 발생
조건식이 false가 되어 반복문을 빠져나올 수 있도록 작성(false가 되지 않으면 무한 반복)
while(조건식) {
실행문;
}
초깃값;
while(조건식) {
실행문;
증감식;
}
do-while문
반복 횟수를 알 수 없고, 조건에 따라 반복이 계속되거나 중단되며, 반복 조건을 나중에 따지는 경우 사용
조건식
조건식에 사용되는 변수는 while문 실행 이전에 반드시 초기화가 이뤄져야 함
조건식이 true인 동안 실행문 수행 반복, false가 되면 반복문 벗어남
while문과 동일하게 조건식이 없으면 컴파일 오류 발생
조건식이 false가 되어 반복문을 빠져나올 수 있도록 작성(false가 되지 않으면 무한 반복)
실행문
조건식의 검사가 실행문 수행 후 일어나기 때문에 최초 한 번은 반드시 실행됨
do {
실행문;
} while(조건식);
초깃값;
do {
실행문;
증감식;
} while(조건식);
continue문
반복문을 빠져나가지 않으면서 즉시 다음 반복으로 넘어가는 경우 사용
for문에서 countinue문을 만나면 증감식으로 분기하고, while문과 do-while문에서는 조건식으로 분기함
for(초깃값; 조건식; 증감식) {
실행문;
countinue;
}
while(조건식) {
실행문;
countinue;
}
do {
실행문;
countinue;
} while(조건식);
break문
하나의 반복문을 즉시 빠져나갈 때 사용
현재의 반복문을 벗어나 실행이 계속됨
중첩 반복의 경우 안쪽 반복문에서 break문이 실행될 경우 안쪽 반복문만 벗어나며 바깥쪽 반복문은 실행 유지
for(초깃값; 조건식; 증감식) {
실행문;
break;
}
for(초깃값; 조건식; 증감식) {
while(조건식) {
실행문;
break;
}
}
// while문 벗어나는 방법
while(true) {
실행문;
if(조건식) break;
}