Programing/JAVA

Java Operator (논리 연산자)

AmyG 2021. 7. 19. 13:07
반응형

논리 연산자 (logical operator)

▶ 논리 연산자 (logical operator)

※ logical : 논리적인, 타당한

- 논리 연산자는 주어진 논리식을 판단하여, 참(true)과 거짓(false)을 결정하는 연산자입니다.

- AND 연산과 OR 연산은 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽입니다.

- NOT 연산자는 피연산자가 단 하나뿐인 단항 연산자이며, 피연산자의 결합 방향은 오른쪽에서 왼쪽입니다.

- 논리 연산자에 대한 표

논리 연산자 설명
&& 논리식이 모두 참이면 참을 반환합니다. (논리 AND 연산)
|| 논리식 중에서 하나라도 참이면 참을 반환합니다. (논리 OR 연산)
! 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환합니다. (논리 NOT 연산)

- 논리 연산자의 모든 동작의 결과를 보여주는 진리표(truth table)입니다.

A B A && B A || B !A
true true true true false
true false false true false
false true false true true
false false false false true

- 논리 연산의 예시 (char형 문자끼리도 그 크기를 서로 비교할 수 있습니다.)

public class Logical{
	public static void main(String[] args){
    	char ch1='b', ch2='B';
        boolean result1, result2;
        
        result1 = (ch1>'a') && (ch2<'z');
        result2 = (ch2<'A') || (ch2<'Z');
        
        System.out.println("&& 연산자에 의한 결과 : " + result1);
        System.out.println("|| 연산자에 의한 결과 : " + result2);
        System.out.println("! 연산자에 의한 결과 : " + !result2);
    }
}
---------------------------------------------------------------------
&& 연산자에 의한 결과 : true
|| 연산자에 의한 결과 : true
! 연산자에 의한 결과 : false

- 각 결과에서 진행되는 연산을 설명드리겠습니다. (ASCII 코드 - dec)

   char ch1='b' -> 98 , ch2='B' -> 66 입니다.

   result1 = (ch1 > 'a') && (ch2 < 'z') -> result1 = (98 > 97) && (66 < 122) -> 참 &&(AND) 참 -> 참

   reuslt2 = (ch2 < 'A') || (ch2 < 'Z') -> result2 = (66 < 65) || (66 < 90) -> 거짓 ||(OR) 참 -> 참

   !result2 = !(NOT)참 -> 거짓

-위와 같이 연산이 진행이 되고 참과 거짓이 출력이 되는 것입니다.

 

Java Operator (비트 연산자)

반응형