본문 바로가기
프로그래밍/java

단락 회로 평가(short circuit evaluation)

by mooyou 2021. 9. 14.
728x90
300x250

논리 곱(&&)은 두 항이 모두 true 일 때만 결과가 true

즉, 앞의 항이 false이면 뒤에 항이 true여도 무조건 false이다.

 

논리 합(||)은 두 항이 모두 false 일 때만 결과가 false

즉, 앞의 항이 true이면 뒤에 항에 상관없이 true가 된다.

 

단락회로 평가 예제

package operator;

public class OperationEx {

	public static void main(String[] args) {
		int num1 = 10;
        int i = 2;
        
        boolean value = ((num1 = num1 + 10) < 10) && ((i = i + 2) < 10);
        //논리 곱&&에서는 앞에 결과가 거짓이기 때문에 뒤에 문장은 실행되지 않고 거짓이 출력된다.
        System.out.println(value);
        System.out.println(num1);
        System.out.println(i);
        
        value = ((num1 = num1 + 10) > 10) || ((i = i + 2) < 10);
        //논리 합||에서는 앞에 항의 결과가 참이기 때문에 뒤에 문장은 실행되지 않고 참이 출력
        System.out.println(value);
        System.out.println(num1);
        System.out.println(i);
        
	}

}

 

실행결과

 

728x90
반응형

'프로그래밍 > java' 카테고리의 다른 글

비트 연산자  (0) 2021.09.24
10진수 / 16진수 / 2진수 변환표  (0) 2021.09.15
복합 대입 연산자  (0) 2021.09.13
증감 연산자  (0) 2021.09.11
[JAVA]부호 연산자와 대입연산자  (0) 2021.09.07

댓글