본문 바로가기
Java/Java language

[JAVA]5. 삼항 연산자 / break와 continue의 차이

by oomm112 2021. 8. 13.

A. 삼항 연산자란? 

 일반적인 연산자와 다르게 삼항 연산자는 앞에서 쓰는 조건문의 참과 거짓에 따라서 돌려주는 값이 다르다.

int a = 5;
a < 10 ? "a가 10보다 작습니다" : "a가 10보다 큽니다"

위 예제와 같이 (a < 10 ) 의 조건이 참일경우 a가 10보다 작다는 값이 나오고, 거짓일경우 뒤의 값인 a가 10보다 크다라는 값이 반환되게 됩니다.

 

B. break와 continue의 차이?

 break? break는 반복문이나 스위치문을 빠져나간다.

while(true){
	break;	//break문을 사용하였으므로 while문을 빠져나가게 된다.
}

 continue? continue는 break와 달리 빠져나가는게 아니라 반복or스위치문으로 제어를 이동시킨다.

while(true){
	continue;
    system.out.println("이곳이 호출이 될까?"); //이 부분은 위에 컨티뉴를 사용하였기 때문에,
    //호출이 되지 않는다. continue문이 있기때문에 while로 다시 돌아가기 때문이다.
}

#위 사용법처럼 가장 가까운 반복문이나 스위치문을 빠져나가는 것과는 다르게, 원하는 반복문을 빠져나갈때에는 반복문에 라벨을 달아놓고 break와 continue문에 라벨을 추가로 써주면 그 반복문으로 이동 또는 빠져나가진다.

 

//break
a:for(int i = 0; i < 10; i++){	//a는 반복문의 라벨이다
	while(true){
    	break a;	//이 경우 가까운 while문을 빠져나가는게 아닌 a라는 라벨을 가진 반복문을 빠져나간다.
    }
}

//continue
b:for(int i = 0; i < 10; i++){	//b는 반복문의 라벨이다
	system.out.println("for문을 반복중입니다.");
	while(true){
    	system.out.println("while문 반복중입니다");
    	continue b;
        //컨티뉴를 사용하여 제어를 b라는 라벨이달린 for문으로 이동하였으므로 이 반복문의 출력값은 아래와 같다
        // "for문을 반복중입니다"
        // "while문 반복중입니다"
        // "for문을 반복중입니다"
        // ....
        // 원래대로라면 while문을 빠져나가는 방법이 없는데 , 컨티뉴를 사용함으로써 for문으로 제어를 바꿀수 있다.
    	}
    }
}
반응형

댓글