문법(Statements) - 반복문

반복문은 조건이 충족되는 동안 동일한 작업을 수행할 때 사용한다.
반복문은 조건을 잘 사용하여 반복횟수를 잘 제어해야 한다.

while 문

while( 조건 ) {
    //조건이 참인 동안 반복 실행될 영역
}

"열 번 찍어 안 넘어 가는 나무 없다" 라는 속담을 while 문을 이용하여 적용해보면 다음과 같다.

int hitTreeCount = 0;

while (hitTreeCount < 10) {
    hitTreeCount++;
    System.out.println("나무를 " + hitTreeCount + "번 찍었습니다.");

    if (hitTreeCount == 10) {
        System.out.println("나무가 넘어간다");
    }
}

반복횟수의 제한이 없는 경우 while 문을 이용하여 무한루프 를 만들 수 있다.

while(true) {
    System.out.println("프로그램을 종료해야 while문을 빠져나갈 수 있습니다.");
}

특정 조건에서 while 문을 빠져나가고 싶은 경우 break를 이용할 수 있다.
특정 조건에서 조건문의 처음으로 돌아가고 싶다면 continue 를 사용한다.
300원짜리 한 음료를 재고가 떨어질때 까지 판매하는 자판기 를 프로그램으로 표현해면 다음과 같다.

Scanner scan = new Scanner(System.in);    //키보드 입력을 받기 위한 객체 생성

//프로그램에 필요한 변수 선언
int storedDrink = 20;
long drinkPrice = 300;

long coin = 0;
long insertCoin = 0;

//break 문을 만날때까지 동작하는 무한루프 프로그램 
while(true) {
    //재고가 부족할 경우 프로그램을 종료한다
    if (storedDrink == 0) {
        System.out.println("재고가 부족해 음료를 팔 수가 없습니다. 판매를 중지합니다.");
        break;
    }

    //음료의 금액을 받는다
    if(coin < drinkPrice) {
        System.out.print("동전을 숫자로 입력해주세요. (현재금액 " + coin + "원) : ");
        insertCoin = scan.nextLong();
        coin = coin + insertCoin;    // coin += insertCoin 과 동일

        insertCoin = 0;
        continue;
    }

    storedDrink--;
    System.out.println("************************************************");
    System.out.println("음료를 판매하였습니다.(남은 수량" + storedDrink + ")");
    System.out.println("거스름돈은 " + (coin - drinkPrice) + "원 입니다");
    System.out.println("************************************************");
    coin = 0;
}

do while 문

do while 문도 while 문과 같게 조건이 참인동안 실행되지만, 무조건 한번은 실행된다.

do {
    //조건이 참인 동안 반복 실행될 영역
} while( 조건 )

for 문

for 문은 반복문 중에서 반복 횟수를 제어하기 쉬어 가장 흔히 쓰이는 형태이다.
for (초기값; 조건; 증가치) 와 같이 사용할 수 있다.

for(int i=0 ; i < 10 ; i++) {
    //조건이 참인 동안 반복 실행될 영역(총 10번 실행)
}

※ 반복문을 중첩하여 사용해 구구단을 출력해보자.

results matching ""

    No results matching ""