java/ㄴ CHAPTER 4. 제어문 (조건문과 반복문)

CHAPTER 4. (4) while문이란? (break문, continue문 포함)

Astaroth아스 2020. 3. 13. 06:12

while문 
 - 조건식과 블록{}으로 구성 
 - 조건이 참인 동안 블록{} 내의 문장 반복 (거짓일 경우 while문 탈출) 

do-whule문 
 - 기본 구조는 while과 같음 
 - 조건식과 블록{} 순서를 바꿔놓음 // 블록{}을 먼저 수행한 후 조건식 평가 

 


while , do-while 차이? 
 while : 조건식 결과에 따라 한번도 수행되지 않을 수 있음 
 do-while : 최소한 한번은 수행 



 break문2 
 - 반복문에서도 사용 (주로 무한 반복문) 
 - 자신이 포함된 가장 가까운 반복문 탈출 



continue문 
 - 반복문 내에서만 사용 
 - 반복문의 끝으로 이동하여 다음 반복 실행 
 - 전체 반복 중 특정조건을 만족하는 경우를 제외하려고 할 때 사용
 ㄴ for문 : 증감식으로 이동 
 ㄴ while문(do-while) : 조건식으로 이동 

 


break문 continue문 단점

 - 코드의 가독성 하락 (꼭 필요한 경우에만 사용)

 - if 안에 break 사용 불가(밖에 for문이나 switch문이 있어야함)

 

 

 

★ while문 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package control;
 
public class WhileDemo5 {
    public static void main(String[] args) {
        // 1 + (-2) + 3 (-4) + 5 .... 총합 100이 되는 횟수 count
        
        int sum = 0;
        int n = 1;
        
        while (true) {
            // n의 값이 홀수면 sum에 그냥 더하고, 아니면 -1을 곱한 후 더한다
            // sum의 값이 100 이상이면 탈출
            // n의 값을 1 증가시킨다
            
            if(n % 2 == 0) {
                sum += n *-1;
            } else {
                sum += n;
            }
 
            if (sum >= 100) {
                break;
            }
            
            n++;
        }
        System.out.println("총합 100이 넘는 첫번째 수 : " + n);
 
 
    }
    
/* ★
sum += number * (-1) // -2
number = number * (-1) 
sum += number // -1
 이유 ?  참조와 변경의 차이
*/