Language/Java

[JAVA 16] 자바 제어문 예약어 ( break / continue / return )

reifier.tistory.com 으로 이전하였습니다. 2018. 2. 10. 12:36
반응형


■ 제어

1. 프로그램의 흐름


2. 특징

JVM → main() → ... → main() → JVM

ex) 부메랑


3. 제어 이동 예약어

1) break

블록을 "나간다".

(1) switch 블록


(2) 반복( for , 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
class Break{    // 제어문 예약어 Break
 
    void m1(){
        for(int a=0 ; a<5 ; a++){
            if(a>2break;
            System.out.println("1. a : " + a);
        }
        System.out.println("");
    }
 
    void m2(){
        lable:
        for(int a=0 ; a<5 ; a++){
            for(int b=0 ; b<5 ; b++){
                if(b>2break lable;
                System.out.println("2. a : " + a + " , b : " + b);
            }
            System.out.println("");
        }
    }
 
    public static void main(String[] args){
        Break bk = new Break();
        bk.m1();
        bk.m2();
    }
}
cs


2) continue

주로 if( ) 문 바로 뒤에 나온다.

조건에 맞으면 "건너뛴다".

- 반복 ( for , 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
class Continue{        // 제어문 Continue
 
    void m1(){
        for(int a=0 ; a < 5 ; a++){
            if(a==2continue;            // a==2 즉 a가 2일때는 건너뛰고 수행한다.
            System.out.println("1. a : " + a);
        }
    }
 
    void m2(){
        for(int a=0 ; a <= 10 ; a++){    // a%2 == 0 나머지가 0이면 '짝수'이다.
            if(a%2 == 0continue;       // 즉 a 를 2로 나누었는데 0이 되면 '짝수' , 1이 되면 '홀수' 이다.
                                         // continue 제어문으로 '짝수'일때는 건너뛴다.
            System.out.println("2. 홀수 a : " + a);
        }
    }
 
    void m3(){
        lable:
        for(int a=0 ; a < 3 ; a++){
            for(int b=0 ; b<10 ; b++){        // 10번 반복을 하게 로직을 짰다.
                if(b == 2continue lable;    // 하지만 lable 에 의해 2가 되면 건너뛰어 a반복문만 돌게 된다.
                System.out.println("3. a : " + a + ", b : " + b);
            }
        }
    }
 
    public static void main(String[] args){
        Continue ct = new Continue();
        ct.m1();
        System.out.println("");
        ct.m2();
        System.out.println("");
        ct.m3();
    }
}
cs


3) return

호출한 곳으로 "되돌아간다" ( 블록,바디,{} 의 끝으로 간다. )


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
class Return{    // 제어문 return
 
    Return(){
        m1();
        m2();
        System.out.println("생성자 Return() 끝");
    }
 
    void m1(){                     // void m1() 과 void m2() 는 같은 조건 다른 제어문을 비교한 것이다.
        for(int a=0 ; a<5 ; a++){  // return; 과 break; 의 차이점을 숙지 하자!!
            if(a==3return;
            System.out.println("a : " + a);
        }
        System.out.println("return 확인");
    }
 
    void m2(){
        for(int a=0 ; a<5 ; a++){
            if(a==3break;
            System.out.println("a : " + a);
        }
        System.out.println("break 확인");
    }
 
    int sum(int a , int b){
        System.out.println("a+b : " + (a+b));
        return a + b;
    }
 
    public static void main(String[] args){
        Return rt = new Return();
        rt.sum(5 , 5);
    }
}
cs



반응형