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문의 실행 순서는 다음 그림과 같습니다.
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 |