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>2) break; 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>2) break 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==2) continue; // 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 == 0) continue; // 즉 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 == 2) continue 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==3) return; System.out.println("a : " + a); } System.out.println("return 확인"); } void m2(){ for(int a=0 ; a<5 ; a++){ if(a==3) break; 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 |
반응형