반복문
- 코드들이 반복적으로 실행되도록 할 때 사용
- 반복문의 종류
- for문, while문, do-while문
- for문 : 반복 횟수를 알고 있을 때 사용
- while문 : 조건에 따라 반복할 때 사용
for문
- 조건식이 참인 동안 주어진 횟수만큼 반복적으로 실행문 수행
for(초기화; 조건식; 증감식) {
실행문
}
-
초기화
- for문이 시작할 때 최초 한 번만 수행
- 사용할 변수의 초기값 설정
-
조건식
- 반복 여부를 결정하는 조건
- true라면 실행문을 실행
- false라면 더 이상 블록을 실행하지 않고 끝남
-
증감식
- 반복 횟수를 결정하는 규칙
- 변수에 값을 더하거나 빼는 등 수행 방식을 지정
-
for문
- 조건식을 충족하는 동안 초기화식부터 시작해서 증감식의 규칙을 따라서 실행
- 만약 조건을 충족하지 않으면 실행문을 실행하지 않고 끝남
- 초기화식이 필요 없다면 생략할 수 있고, 증감식이나 초기화식이 둘 이상이 될 수 있음
향상된 for문(Enhanced for문)
- 배열 및 컬렉션 객체를 더 쉽게 처리할 목적
- 반복 실행을 위한 카운터 변수와 증감식을 사용하지 않음
- 배열 및 컬렉션 항목의 개수만큼 반복하고 자동적으로 for문을 빠져나감
int[] nums = {1, 2, 3, 4};
for(int num : nums) {
System.out.println(num);
}
while문
- 조건식이 true일 경우 계속해서 반복
- 초기화와 증감식은 필요 없다면 생략 가능
- for문과 초기화, 증감식의 위치만 다를 뿐 상호 대체가 가능
초기화;
while(조건식) {
실행문;
증감식;
}
- 조건식에는 boolean 변수나 true / false 값을 산출하는 어떠한 연산식이든 올 수 있음
- 만약 조건식에 true를 사용하면 무한 루프를 돌게 됨
- while문을 빠져 나가기 위한 탈출 코드가 필요함
- Ex. break문
do-while문
- 조건식에 의해 반복 실행
- 블록 내부의 실행문을 우선 실행시키고 실행 결과에 따라서 반복 실행을 계속 할지 결정
do {
실행문
} while(조건식)
break문
- 반복문을 실행 중지할 때 사용
- switch문에서도 break문을 사용하여 switch문을 종료
for(...) {
break;
}
while(...) {
break;
}
- 반복문이 중첩되어 있을 경우 break문은 가장 가까운 반복문만 종료
Outer : for(int idx = 0; idx < 5; idx++) {
for(int idx2 = 0; idx2 < 3; idx2++) {
System.out.println(idx + ", " + idx2);
if(idx == 3) {
break Outer;
}
}
}
- 바깥 for문에 Outer라는 라벨을 붙이고 이를 break문에 사용
- 레이블문을 쓰면 중첩된 for문 안에서도 바깥쪽 for문까지 완벽히 빠져나올 수 있음
continue문
- 반복문에서만 사용
- 블럭 내부에서 continue문이 실행되면 for 문의 증감문 혹은 while, do-while 문의 조건식으로 이동하여 작동
- continue 문 vs break 문
- 반복문 종료 여부
- continue 문
- 반복문을 종료하지 않고 다음 차례로 넘어가 계속 반복을 수행
- break 문