반복문

윤주영·2024년 10월 17일

while문

while(조건문){
//코드
}

  • 조건문을 확인하고 참이면 코드 블럭을 실행하고, 거짓이면 while문을 벗어난다.
  • 조건식이 참이면 코드 블럭을 실행한다. 이후에 코드 블럭이 끝나면 다시 조건식 검사로 돌아가서 조건식을 검사한다.(무한 반복)

package loop;
public class While1_1 {
  public static void main(String[] args) {
      int count = 0;
     count = count + 1;
     System.out.println("현재 숫자는:" + count);
    count = count + 1;
     System.out.println("현재 숫자는:" + count);
    count = count + 1;
     System.out.println("현재 숫자는:" + count);
    }
}

출력

현재 숫자는:1
현재 숫자는:2
현재 숫자는:3

count = count + 1은 증감 연산자(++)를 사용해서 다음과 같이 개선할 수 있다.
//개선
count++;
System.out.println("현재 숫자는:" + count);
count++;
System.out.println("현재 숫자는:" + count);
count++;
System.out.println("현재 숫자는:" + count);

do-while문

do-while 문은 while 문과 비슷하지만, 조건에 상관없이 무조건 한 번은 코드를 실행한다

do {
// 코드
} while (조건식);

package loop;
public class DoWhile2 {
    public static void main(String[] args) {
          int i = 10;
         do {
                System.out.println("현재 숫자는:" + i);
                i++;
        } while (i < 3);
     }
}

do-while 문은 최초 한번은 항상 실행된다. 따라서 먼저 현재 숫자는:10 이 출력된다.
코드 블럭을 실행 후에 조건식을 검증하는데, i=11 이기 때문에 while (i < 3) 조건식은 거짓이 된다. 따라서
do-while 문을 빠져나온다.

출력 결과

현재 숫자는: 10

do-while 문은 최초 한번은 코드 블럭을 꼭 실행해야 하는 경우에 사용하면 된다.

break, continue

break 와 continue 는 반복문에서 사용할 수 있는 키워드다.
break 는 반복문을 즉시 종료하고 나간다.
continue 는 반복문의 나머지 부분을 건너뛰고 다음 반복으로 진행하는데 사용됨.

break

while(조건식) {
          코드1;
      break;    //즉시 while문 종료로 이동한다.
          코드2;
    }
  //while문 종료

break 를 만나면 코드2 가 실행되지 않고 while문이 종료된다.

continue

while(조건식) {
        코드1;
      continue;     //즉시 조건식으로 이동한다.
        코드2;
   }

continue 를 만나면 코드2 가 실행되지 않고 다시 조건식으로 이동한다.
조건식이 참이면 while 문을 실행한다.

for문

for (1.초기식; 2.조건식; 4.증감식) {
   // 3.코드
}

for (int i = 1; i <= 10; i++) {
       System.out.println(i);
}

  1. 초기식이 실행된다. int i = 1
  2. 조건식을 검증한다. i <= 10
  3. 조건식이 참이면 코드를 실행한다. System.out.println(i);
  4. 코드가 종료되면 증감식을 실행한다. i++
  5. 다시 2. 조건식을 검증한다. (무한 반복) 이후 i <= 10 조건이 거짓이 되면 for문을 빠져나간다.

중첩반복문

반복문은 내부에 또 반복문을 만들 수 있다.

package loop;
public class Nested1 {
     public static void main(String[] args) {
             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.println("외부 for 종료 i:" + i);
         System.out.println(); //라인 구분을 위해 실행
        }
    }
}

실행결과

외부 for 시작 i:0
-> 내부 for 0-0
-> 내부 for 0-1
-> 내부 for 0-2
외부 for 종료 i:0

외부 for 시작 i:1
-> 내부 for 1-0
-> 내부 for 1-1
-> 내부 for 1-2
외부 for 종료 i:1

외부 for는 2번, 내부 for는 3번 실행된다. 그런데 외부 for 1번당 내부 for가 3번 실행되기 때문에 외부(2) * 내부(3)
해서 총 6번의 내부 for 코드가 수행된다.
profile
반갑습니다.

0개의 댓글