Java while 문
while 문은 조건이 참인 경우 코드를 반복해서 실행한다.
while 표현식
while (true) {
// Start Code Block
}
- while () 괄호 안의 조건 표현식은?
- 조건은 boolean 형태여야 한다.
- 조건이 참인 경우 {} 블록 내부의 코드를 실행한다.
- 조건이 거짓인 경우 {} 블록 무시하고 벗어난다.
- 조건 참으로 {} 블록 코드를 완료하면 while () 조건 표현식을 다시 검사한다.
- 다시 검사한 조건이 참인 경우 {} 블록 코드를 반복한다.
- 다시 검사한 조건이 거짓인 경우 {} 무시하고 벗어난다.
코드 문제
- 사과 가격은 700원으로 장바구니에 담긴 갯수에 따라 결제 총 금액을 표기한다.
코드 구현
public class Store {
public static void main(String[] args) {
int storePrice = 0;
int applePrice = 700;
int qty = 3;
int count = qty;
while (count > 0) {
count--;
storePrice = storePrice + applePrice;
}
System.out.println("결제 총 금액: " + storePrice + "원");
}
}
Code Output:결제 총 금액: 2100원
while 문 사용의 좋은점
- 반복문 조건 내부에서 변경되는 경우 관리가 수월함
- 복잡한 시나리오와 조건에 적합
- 종료 시점을 명확하지 않은 경우에 적합
while 문 사용의 나쁜점
- 러닝커브 상승. 초기화, 조건식이 작업이 분산되어 있어서 코드의 이해가 어렵고 작성이 어렵움
- while 문 코드 블록 변수가 바깥에서도 선언할 때가 있음. 협업 개발에서 실수가 발생할 가능성이 큼
while 동작 원리
while (count > 0) {...}
while문이 어떻게 동작하는지 살펴본다.
먼저, count 변수를 qty(3) 대입하여 count 변수는 숫자 3를 담았다.
첫번째 while loop 문
- 반복문
while (count(3) > 0)
=>while (true)
조건이 true이므로 {} 블록을 수행한다. - count 변수 3를 2로 감소시킨다.
- storePrice는 최종적으로 결제 금액을 표기한 변수이다. 사과가격(applePrice) 만큼 storePrice을 더한다.
- storePrice 변수는 이제 700을 담게된다.
두번째 while loop 문
while (count(2) > 0)
=>while (true)
조건이 아직 true이므로 {} 블록을 수행한다.- 변수 count 1으로 감소시킨다.
- 사과가격(applePrice) 만큼 storePrice을 더한다.
- storePrice 변수 1400가 되었다.
세번째 while loop 문
while (count(1) > 0)
true이므로 {} 블록을 수행한다.- 변수 count 0으로 감소시킨다.
- 사과가격(applePrice) 만큼 storePrice을 더한다.
- storePrice 변수 2100가 되었다.
while 문 종료
while(false)
로 {} 블록 코드를 무시한다.- {} 블록코드 아래의 System.out.println(..) 코드를 실행하여 콘솔을 출력한다.
while 문제1 풀어보기
1~10까지 출력하는 코드를 작성해보도록 한다.
문제1 Java 코드
public class Count {
public static void main(String[] args) {
int count = 0;
while(count < 10) {
count++;
System.out.println(count);
}
}
}
Output:
1
2
3
4
5
6
7
8
9
10