논리 연산자
연산자 | 기능 |
&&(논리 곱) | 두 항이 모두 참인 경우에만 결과 값이 참 그렇지 않은 경우는 거짓 |
||(논리 합) | 두 항 중 하나의 항만 참이면 결과 값은 참 두항이 모두 거짓이면 결과 값은 거짓 |
!(부정) | 단항 연산자이며, 참인 경우는 거짓으로 바꾸고, 거짓이면 참으로 바꿈. |
예제
public class OperationEx3 {
public static void main(String[] args) {
int num1 = 10;
int num2 = 20;
// true
boolean flag = ( num1 > 0 ) && ( num2 > 0 );
System.out.println( flag );
// false
flag = ( num1 < 0 ) && ( num2 > 0 );
System.out.println( flag );
// true
flag = ( num1 < 0 ) || ( num2 > 0 );
System.out.println( flag );
}
}
출력
논리 연산에서 모든 항이 실행되지 않는 경우(단락 회로 평가)
public class OperationEx4 {
public static void main(String[] args) {
int num1 = 10;
int i = 2;
//논리 곱에서 앞 항이 거짓이면 뒷 항이 실행되지 않아서 i값은 그대로
boolean value = (( num1 = num1 + 10) < 10) && ((i = i + 2) < 10 );
System.out.println(value);
System.out.println(num1);
System.out.println(i);
////논리 합에서 앞 항이 참이면 뒷 항이 실행되지 않아서 i값은 그대로
value = (( num1 = num1 + 10) > 10) || ((i = i + 2) < 10 );
System.out.println(value);
System.out.println(num1);
System.out.println(i);
//논리 합에서 앞 항이 거짓이면 뒷 항이 실행되면서 i값이 변함
value = (( num1 = num1 + 10) < 10) || ((i = i + 2) < 10 );
System.out.println(value);
System.out.println(num1);
System.out.println(i);
}
}
'Java' 카테고리의 다른 글
[Java] 다이아몬드 별 찍기 (0) | 2022.09.26 |
---|---|
[Java] 조건문 / if문 / if-else문 / switch-case문 (0) | 2022.09.26 |
[Java] 자료형 / 정수 / 문자 / 실수 / 논리 (0) | 2022.09.23 |
[Java] 변수 / 변수 선언 / 초기화 / 초기화 오류 / 상수 (0) | 2022.09.23 |
[Java] cmd / java / javac / javac -encoding utf-8 *.java / unmappable character for encoding ms949 에러 (0) | 2022.09.23 |
댓글