[Java] 논리 연산자

Bam·2024년 2월 22일
0

Java

목록 보기
11/98
post-thumbnail

논리 연산자

논리 연산자는 피연산자로 boolean형이나, boolean형이 결과로 나오는 조건식을 갖는 연산자입니다. 그리고 연산 결과로 true/false를 반환합니다.


논리 연산자 &&, ||

&&는 AND 연산, ||는 OR 연산을 수행하는 논리 연산자입니다.

  • &&: AND연산, 두 피연산자가 모두 true여야 true 반환. 그렇지 않으면 false 반환.
  • ||: OR연산, 두 피연산자 중 하나만 true여도 true 반환. 둘 다 false일 경우에만 false 반환.

&&||보다 우선순위가 높기 때문에 두 논리 연산자를 섞는 경우 우선순위에 유의하거나, 괄호를 통해 순서를 잘 지정해주어야합니다.

효율적으로 논리 연산자 활용하기

AND연산과 OR 연산의 특징을 이용해서 효율적으로 조건식을 작성할 수 있습니다.

먼저 && AND 연산은 왼쪽식 부터 검사하는데 이때 왼쪽 식이 false이면 오른쪽식을 검사하지 않고 false를 반환합니다. 반대로 || OR 연산도 왼쪽식부터 검사하는데 왼쪽식이 true이면 오른쪽식을 검사하지 않고 true를 반환합니다.

추후에 배울 if문 등에 쓰이는 조건식은 검사에 소요되는 자원이 무거운 편에 속하기 때문에 효율적인 조건식을 배치하면 빠른 코드를 작성할 수 있게됩니다.


비트 연산자 &, |, ^

비트 연산자는 데이터를 이진수로 변환하고 2진 연산에 따른 결과를 반환합니다. 그렇기 때문에 실수형을 제외한 기본형 타입에서만 사용할 수 있습니다. 비트 연산이기 때문에 결과는 1 또는 0을 반환합니다.

방금 배운 비트 연산자와는 다르게 무조건 양 쪽의 피연산자를 모두 검사합니다.

  • &: AND 연산, 양 쪽이 모두 1이여야 1반환. 그렇지 않으면 0 반환
  • |: OR 연산, 둘 중 한 쪽이 1이면 1반환. 둘 다 0인 경우에만 0 반환
  • ^: XOR 연산, 양 쪽이 서로 다른 경우에만 1 반환. 양 쪽이 같으면 0 반환

0개의 댓글