Java 코드를 효율적으로 짜기 위한 문법들이 있는데, 그 중에서도 반복문은 활용빈도가 엄청나게 높습니다. 오늘은 반복문 중의 하나인 while 정의와 사용법을 살펴보겠습니다.

 

1. while문 구조


조건이 '참'인 경우 반복적으로 { } 안의 문장을 실행시킬 경우 while문을 사용합니다.

while문의 구조는 다음과 같습니다.

while(...)
{...}

 

while문을 실행하게 되면 먼저 (…) 안에서 조건을 판단합니다. 이 조건이 '참(true)'이면 {…}를 실행합니다. 그리고 다시 (…)로 돌아와 또다시 조건을 판단합니다. 또 '참'이면 {…}을 또다시 실행해요. 이렇게 (…)의 조건이 성립되는 한 {…}은 계속 실행이 되다가 (…)이 '거짓(false)'가 되면 반복문을 빠져나옵니다.

package hello;

public class HelloJava{
    public static void main(String[] args){
        int count=0;
        while (int count < 5){
            System.out.println("count is "+count);
            count++;
        }
    }
}

 

실행결과

count is 0

count is 1

count is 2

count is 3

count is 4

while loop end

계속하려면 아무 키나 누르십시오 . . .

코드가 while문으로 진입을 하면 count == 0 이기 때문에 { }안의 문장이 실행이 되면서 count값을 출력하고 count값을 1 증가시킵니다. 그럼 count는 1이 되고 다시 count<5의 논리연산을 합니다. 1<5는 true이기 때문에 또다시 { }안의 문장이 실행됩니다. 이런식으로 반복이 되다가 count가 4일 때 까지 출력이 됩니다. 이후 5가 되면 그럼 5<5는 false가 되어 반복문을 빠져나옵니다.

while문의 실행 순서는 다음 그림과 같습니다.

image

 

while(true)이나 while(a > 0 || a<=0) 처럼 항상 ture일 수 밖에 없는 명제를 넣는다면 while문은 끝나지 않습니다. 이런 상황을 무한루프에 빠졌다고 표현합니다.

 

 

2. 중첩 while문


while문은 '중첩'도 가능합니다.

package hello;

public class HelloJava{
    public static void main(String[] args){
        int cnt1 = 0;
        int cnt2 = 0;

        while (cnt1 < 5)
        {
            cnt2 = 0;
            while (cnt2 <= cnt1){
                System.out.print("*");
                cnt2++;
            }
            System.out.print("\n"); // 줄바꾸기
            cnt1++;
        }
    }
}

 

출력결과

*

**




계속하려면 아무 키나 누르십시오 . . . 

별표가 1개부터 5개까지 쌓이는 별표탑이 그려집니다.

'프로그래밍 언어 > Java' 카테고리의 다른 글

(Java) 9 - 반복문(3) - do-while  (0) 2020.05.17
(Java) 8 - 반복문(2) - for  (0) 2020.05.17
(Java) 6 - 연산자  (0) 2020.05.17
(Java) 5 - 자료형(3) - 형 변환  (0) 2020.05.17
(Java) 4 - 자료형(2) - 상수와 리터럴  (0) 2020.05.17

+ Recent posts