📌 반복문
- 반복문은 이름 그대로 특정 코드를 반복할때 사용합니다.
📌 for문
- 주로 반복 횟수가 정해져 있을때 사용한다.
- 구조
for (1. 초기식; 2.조건식; 3.증감식) { //3. 코드 }
- 순서
▶️ 1. 초기식이 실행된다. 주로 반복 횟수와 관련된 변수를 선언하고 초기화 할때 사용되며, 초기식은 딱 1번 사용된다.
▶️ 2. 조건식을 검증한다. 참이면 코드를 실행하고, 거짓이면 for문을 빠져나간다.
▶️ 3. 코드를 실행한다.
▶️ 4. 코드가 종료되면 증감식을 실행한다. 주로 초기식에 넣은 반복 횟수와 관련된 변수의 값을 증가할 때 사용한다.
▶️ 5. 다시 2. 조건식 부터 시작한다. (무한 반복)- EX)
for (int i=1; i <= 10; i++) { System.out.print(i); }▶️ 1. 초기식은
int i=1이며 한번만 사용된다.
▶️ 2. 조건식을 검증하는데 i가 10보다 작거나 같으니 참이므로 코드를 실행한다.
▶️ 3. 코드가 종료되며 증감식을 실행한다.
▶️ 4. 다시 조건식을 검증하고i<=10이 거짓이 되면for문을 빠져나온다.
📌 while문
- while문은 조건에 따라 코드를 반복해서 실행할때 사용한다.
- 조건식을 확인하고 참이면 코드 실행 하고 이후에 코드가 끝나면 다시 처음으로 돌아와 조건식을 검사한다
(무한반복), 거짓이면 while문을 탈출한다.while(조건식) { 코드 }- EX)
int count = 0; while(count < 3){ count++; //변수를 사용하고 1씩더해주는 후행 증감 연산자 } //count는 0이므로 count가 3이될때까지 while문 안의 코드를 무한반복 해줍니다.📌 do-while문
while문과 비슷하지만, 조건에 상관없이 무조건 한 번은 코드를 실행해야 한다.int i = 10; do { System.out.println("현재 숫자는:" + i); i++; } while(i < 3);
do-while문은 최초 한번은 항상 실행된다. 따라서 먼저현재 숫자는: 10이 출력된다. 코드 블럭을 실행 후에 조건식을 검증하는데,i = 10이기 때문에while(i<3)조건식은 거짓이 된다. 따라서do-while문을 빠져나온다.📌 break, continue
break와continue는 반복문에서 사용할 수 있는 키워드다.break는 반복문을 즉시 종료하고 나간다.continue는 반복문의 나머지 부분을 건너뛰고 다음 반복으로 진행하는데 사용된다.int sum = 0; int i = 1; while(true){ sum += i; // sum = sum + i if(sum > 10) { System.out.println("합이 10보다 크면 종료: i=" + i + "sum=" + sum); break; } i++; //후행 증감 연산자 }
- 조건식을 잘보면
true라고 되어있다. 조건이 항상 참이기 때문에while문은 문한 반복된다. 몰론break문이 있기 때문에sum > 10의 조건을 만족하면break를 통해while문을 빠져나간다.int i= 1; while(i<=5){ sum += i; // sum = sum + i if(i == 3) { i++; continue; } System.out.println(i); }
i==3인 경우i를 1증가하고continue를 실행한다. 따라서 이 경우에는i를 출력하지 않고 바로while (i <=5 )조건식으로 이동한다.
중첩 반복문
- 반복문 내부에 또 반복문을 만들 수 있다.
for,while모두 가능하다.- EX)
for(int i = 0; i < 2; i++) { System.out.println("외부 for 시작 i:" + i); for(int j = 0; j < 3; j++) { System.out.println("-> 내부 for " + i + "-" + j); } System.out.prinltn("외부 for 종료 i:" + i); System.out.prinltn(); // 라인 구분을 위해 실행 }
- 실행 결과
▶️외부 for 시작 i:0
->내부 for 0 - 0
->내부 for 0 - 1
->내부 for 0 - 2
▶️외부 for 종료 i:0
▶️외부 for 시작 i:1
->내부 for 0 - 0
->내부 for 0 - 1
->내부 for 0 - 2
▶️외부 for 종료 i:1- 외부
for문은 2번 내부for문은 3번 실행된다. 그런데 외부for문1번당 내부for문이 3번 실행되기에 총 2*3의 6번의 내부for문의 코드가 실행된다.- 간단하게 말하면 외부
for문안의 내부for문이 실행되고 내부for문의 조건이 거짓이되면 다시 외부for문으로 돌아와 증감을 실행후 다시 내부for문이 실행되고 이렇게 반복이 되다가 외부for문의 조건이 거짓이 되면for문을 완전 탈출 하는 것이다.