Java Operator - 놓치기 쉬운 개념들

이강현·2025년 3월 28일

Short Circuit Evaluation

비트 연산자 '&', '|'

  • 언제나 양쪽 모든 항을 계산합니다.

논리 연산자 '&&', '||'

  • 필요 없는 경우에는 두번째 항을 계산하지 않습니다.
    • '&&'의 첫번째 항이 false 이면 두번째 항을 계산하지 않습니다.
    • '||'의 첫번째 항이 true 이면 두번째 항을 계산하지 않습니다.

  • 두번째 항에서 예외가 발생할 수 있는 경우 '&&''||'를 통해 첫번째 항에서 검증하는 방법으로 예외를 피할 수 있습니다.



대입 연산자의 역할

대입 연산자 '=' 는 두가지 일을 합니다.

  1. 저장 (명령, 대입문)
  2. 항등함수, 그대로 반환 (연산자의 역할)
  • 반복문의 조건부에서 연산의 결과를 활용하는 경우가 많습니다.
    • while((input = scanner.nextInt()) != -1) { ... }



정수형과 실수형, 나누기 0

컴퓨터에서 정수형실수형은 근본적으로 다릅니다.

정수형정확한 값을 나타낼수 있지만, 실수형근사값으로 표현할 수 밖에 없는 한계가 있습니다.

즉 정수형끼리의 연산에서는 정확한 결과값을 기대하지만, 실수형은 그렇지 않습니다.

  • 따라서 Java에서는 정수형을 0으로 나누는 연산은 수학적으로 정의 되지 않았다는 의미로 ArithmeticException 을 발생시킵니다.

  • 그러나 근사치를 계산하는 실수형을 0. 으로 나누는 연산은 수학에서 정의되지 않는 매우 큰 수라는 애매한 개념 대신 IEEE 754 에서 정의한 Infinity 라는 결과를 제공합니다.
profile
백엔드 개발자 지망생입니다.

0개의 댓글