1 분 소요

반복문은 동일한 수행문을 조건에 맞는 동안 수행하도록 하는 기능을 가집니다.

1. while

우선 예시를 하나 보겠습니다.

class WhileTest{
    public static void main(String[] args){
        int num = 0;

        while(num < 5){
            System.out.println(num);
            num++;
        }
    }
}

위 코드의 결과는 0~4 입니다.
즉 while문의 소괄호의 코드가 반복 조건입니다. 해당 조건이 맞다면 반복문 내부의 코드를 실행하고 조건에 부합하지 않는다면 반복문을 빠져나옵니다.
while문의 반복할 코드가 한줄이라면 중괄호 생략이 가능합니다.

2. do~while

while문과 do~while문의 차이점은 반복조건 검사의 시점에 있습니다.
먼저 예시를 보겠습니다.

class DoWhileTest{
    public static void main(String[] args){
        int num = 0;

        do{
            System.out.pritnln(num);
            num++;
        }while(num<5);
    }
}

위 코드의 실행 결과는 0~4입니다.
do~while문의 경우 먼저 do 중괄호에 있는 수행문을 수행하고 while 소괄호 안에 있는 조건을 체크합니다.
즉 수행문을 무조건 한번 수행합니다.

최소한 한 차례의 실행을 필요로 하는 경우 do~while, 이외의 경우는 while을 사용합니다.

3. for 반복문

반복의 횟수가 정해져 있는 상황, 즉 일정 횟수에 기반한 반복을 구현할 때 효율적인 for 반복문에 대해 공부하겠습니다.

예시를 보겠습니다.

public static void main(String[] args){
    for(int num = 0; num<5; num++){
        System.out.println(num);
    }
}

위의 코드의 결과는 0~4입니다.

for 반복문의 구성은

for(초기화식; 조건식; 증감식){
수행문;
}

으로 구성되어있습니다.
초기화식을 먼저 수행하고 조건식을 체크한 후, 수행문을 수행합니다.
이후 증감식을 수행하고 다시 조건식을 체크한 후 반복합니다.
초기화식은 한번만 수행됩니다.

4. continue & break

continue와 break 키워드는 반복문 내에 삽입되어, 반복문의 실행 흐름을 조절합니다.

break문의 예시를 먼저 보겠습니다.

class BreakTest{
    public static  void main(String[] args){
        int num = 1;

        while(num < 100){
            if(num%5==0 && num%7==0){
                break;
            }
            num++;
        }

        System.out.println(num);
    }
}

실행의 결과는 35입니다.

위의 코드에서 break는 if안에 있는 조건에 해당할 시 while문을 빠져나옵니다.
즉 break문이 실행되면, 가장 근접한 거리에서 자신을 감싸고 있는 반복문을 찾아, 해당 반복문을 빠져나옵니다.

다음은 continue의 예시를 보겠습니다.

class ContinueTest{
    public static void main(String[] args){
        int num = 0;

        while(num++ < 100){
            if(num%5!=0 || num%7!=0){
                continue;
            }

            System.out.pritnln(num);
        }
    }
}

실행 결과는 35 70 입니다.

위의 코드에서 continue는 if안에 있는 조건에 해당할 시, 아래 있는 코드를 생략하고 프로그램의 흐름을 조건 검사로 넘깁니다.

태그:

카테고리:

업데이트:

댓글남기기