// for (초기화; 조건식; 증감식)
for(int num = 0; num < 10; num++) {
sum += num;
}
반복문에는 i라는 변수명을 많이 사용. i는 iterator(반복계수)를 의미
향상된 for문은 반복실행을 하기 위해 카운터 변수와 증감식을 사용하지 않는다.
배열 및 컬렉션 항목의 개수만큼 반복하고 자동적으로 for문을 빠져나간다.
String[] names = {"kim", "lee", "jin"};
for(String name : names) {
System.out.println(name + "님은 자바를 공부중 입니다.");
}
for문의 괄호 안에는 배열에서 꺼낸 항목을 저장할 변수 선언, 콜론( : ), 그리고 사용할 배열이 작성된다.
while문은 조건식이 true일 경우에 계속해서 반복
(초기화);
while(조건식) {
실행문; //조건식이 참인 동안 실행
증감식;
}
int num = 1, sum = 0;
while(num <= 10) {
sum += num;
num++;
}
만약 조건식에 true를 사용하면 while(true) { ... } 가 되어서 무한 루프를 돌게 된다.
무한 루프는 무한히 반복하여 실행하기 때문에 언젠가는 while문을 빠져 나가기 위한 탈출 코드가 필요하다.
boolean run = true;
int num = 1;
while(run){
num++;
System.out.println(num);
if(num == 20) { //조건문, num이 20가 되면 탈출!
run = false;
}//break문 이용해도 된다.
}
do {
(1)실행문 //처음 한 번은 무조건 실행
} while((2)조건식);
반복문인 for문, while문, do-while문을 실행 중지할 때 사용
대개 if문과 같이 사용되며, if문의 조건식에 따라 for / while문을 종료 할 때 사용
반복문이 중첩되어 있을 경우 break문은 가장 가까운 반복문만 종료하고, 바깥쪽 반복문에는 영향을 끼치지 않음
바깥쪽 for문에 Outer라는 라벨을 붙이고, 이를 break문에 사용하면, 중첩된 for문 안에서도 바깥쪽 for문까지 완벽하게 빠져나올 수 있다.
Outer : for (int i = 3; i < 10; i++) {
for (int j = 5; j > 0; j--) {
System.out.println("i " + i + " j "+ j);
if (i == 5) {
break Outer;
}
}
블록 내부에서 continue문이 실행되면 for문의 증감문 혹은 while, do-while문의 조건식으로 이동하여 작동
continue문은 반복문을 종료하지 않고 다음 차례로 넘어가 계속 반복을 수행
if문과 함께 사용하는데, if문의 조건을 만족하는 경우 continue문을 실행하여 그 이후의 코드를 실행하지 않고 다음 반복으로 넘어감
for (int i = 1; i < 10; i++) {
if (i % 2 == 0) { //
continue; //다음 반복으로 넘어간다.
}```
System.out.println(i)