2 minute read

반복문

  • 조건을 설정하고, 조건이 true일 때까지 실행 블록을 반복 수행

for문

기본 문법

for( 초기식 ; 조건식 ; 증감식 ) {
    // 조건식이 true일 때까지 반복 실행할 코드 영역
}
for(int i = 0 ; i <= 10 ; i++) {
    // 초기식 ; 조건식 ; 증감식
System.out.print( i + " " );
    // 조건식이 true일 때까지 실행할 코드
}
// 출력 결과 : 0 1 2 3 4 5 6 7 8 9 10
  • 초기식 : 변수 i 선언 동시에 초기화
  • 조건식 : 변수 i가 10보다 작거나 같을 때까지
  • 증감식 : i를 1씩 증가

초기식 처럼 i는 0이기 때문에 조건식이 true이다.
true기 때문에 실행 블록 코드를 실행시킨다.
실행 한 후, 증감식으로 이동해 i를 1증가 시킨다.

i가 10보다 작거나 같아질 때까지 반복 !


중첩 for문

for ( 초기식; 조건식 1; 증감식 ) {
    조건식1이 true일 때까지 실행할 코드

    for ( 초기식; 조건식 2; 증감식 ) {
        조건식2가 true일 때까지 실행할 코드
    }
    실행 블록 3
}
for (int i = 1; i <= 3; i++) {
    System.out.println(" ");

    for (int j = 1; j <= 3 ; j++ ) {
        System.out.printf("%d * %d = %d\n", i, j, i * j);
    }

    System.out.println("끝");
}

오늘 실습은 중첩 반복문을 통해 구구단을 출력하는 거였는데,
코드가 너무 길어서 여기까지만.


while문

  • 기능은 for문이랑 같지만 문법만 조금 다르다.
// 초기식 (생략 가능)
while( 조건식 ) {
    // 조건식이 true일 때까지 실행할 코드
    // 증감식 (생략 가능)
}

for문에서는 초기식, 조건식, 증감식을 한 줄로 나열해서 썼을 뿐, while문이랑 똑같다.
헷갈릴 때는 주석을 다 달아놓고 시작하면 편하다.

마찬가지로 조건식이 true일 때까지 반복 실행한다.

int i = 0; // 초기식 (생략 가능)

while( i <= 10 ) { // 조건식
    // 조건식이 true일 때까지 실행할 코드
System.out.print( i + " ");
    // 증감식
    i++;
}
// 출력 결과 : 0 1 2 3 4 5 6 7 8 9 10

위 for문이랑 같은결과값을 출력한다.
초기식, 조건식, 증감식의 위치만 다를 뿐 다른 건 다 똑같다.
이것만 기억해도 덜 헷갈릴듯 하다 !!


do ~ while문

  • 무조건 코드 블록 실행 후 조건식 확인
  • 조건식이 true일 경우 다시 코드 블록으로 올라와서 실행 반복
  • while 뒤에 ; 필수
do {
    // 무조건 실행되는 코드
} while( 조건식 ); // 조건식이 true이면 다시 do 코드 블록 실행

앞서 배웠던 반복문과는 다른 실행 순서를 갖는다.
조건식에 관계없이 무조건 실행해야하는 코드가 있을 때 사용하면 된다.

int i = 1;
do {
    System.out.println("hello");
} while( i == 10 ); // 조건식

// 출력 결과 : hello

조건식이 false임에도 do 코드 블록이 무조건 실행된다.
실행 후 조건식으로 이동하는데, 이때는 true / false를 판별한다.
false기 때문에 다시 돌아가지 않는다.


Categories:

Updated: