본문 바로가기
Programming/Java

[Java] 연산자 - SCE, 비트

by 코딩하는 랄로 2023. 9. 20.
728x90

Lazy Evaluation

직역하면 게으른 계산으로 Short-Circuit Evaluation(SCE)이라고도 한다. 이전 글에서 배운 논리연산자를 사용할 때 활용할 수 있는 방법이다. 

 

논리연산자를 통해 조건식을 표현할 때, 뒤의 조건식을 보지 않더라도 전체 조건식의 리턴값을 알 수 있다면, 굳이 조건식에 포함되어 있는 모든 조건식을 검사할 필요가 없는 것이다. 그래서 자바는 이러한 상황에 Lazy Evaluation, SCE를 적용하여 결과값을 확실해지는 곳까지만 계산한다.

 

  • A && B : A가 거짓이면 B가 무엇이 되든 거짓이 되기 때문에 B는 연산이 이루어지지 않는다.
  • A || B : A가 참이면 B가 무엇이 되든 참이기 때문에 B는 연산이 이루어지지 않는다

 

 

 

비트연산자

비트 연산자는 말 그대로 bit, 즉 0 과 1을 피연산자로서 연산을 하기 위한 연산자이다.

 

  • a & b : a, b 모두 1이면 결과도 1, 그 외에는 0
  • a | b : a, b 모두 0이면 결과도 0, 그 외에는 1
  • a ^ b : a, b 둘 중 하나만 1이 있는 경우는 1, 그 외에는 0 = 둘이 같으면 0, 다르면 1
  • ~a : a가 1이면 0, a가 0이면 1

 

비트 연산자를 살펴보면 1을 참으로 0을 거짓으로 생각할 경우, 논리연산자와 똑같이 동작하는 것을 볼 수 있다. 

 

 

728x90

'Programming > Java' 카테고리의 다른 글

[Java] 조건문 - Switch  (0) 2023.09.23
[Java] 조건문 - if  (0) 2023.09.23
[Java]연산자 - 부호, 증감, 비교, 논리  (0) 2023.09.20
[JAVA] 연산자 - 대입  (0) 2023.09.20
[JAVA] 입력 - BufferedReader(ft. BufferedWriter)  (0) 2023.09.19