비트 연산자'&','|'
- 언제나
양쪽모든 항을 계산합니다.
논리 연산자'&&','||'
- 필요 없는 경우에는
두번째 항을 계산하지 않습니다.
'&&'의 첫번째 항이 false 이면 두번째 항을 계산하지 않습니다.'||'의 첫번째 항이 true 이면 두번째 항을 계산하지 않습니다.- 두번째 항에서
예외가 발생할 수 있는 경우'&&'나'||'를 통해 첫번째 항에서 검증하는 방법으로 예외를 피할 수 있습니다.
대입 연산자'='는 두가지 일을 합니다.
- 저장 (명령, 대입문)
- 항등함수, 그대로 반환 (연산자의 역할)
- 반복문의 조건부에서 연산의 결과를 활용하는 경우가 많습니다.
while((input = scanner.nextInt()) != -1) { ... }
컴퓨터에서
정수형과실수형은 근본적으로 다릅니다.
정수형은정확한 값을 나타낼수 있지만,실수형은근사값으로 표현할 수 밖에 없는 한계가 있습니다.즉 정수형끼리의 연산에서는 정확한 결과값을 기대하지만, 실수형은 그렇지 않습니다.
- 따라서 Java에서는 정수형을 0으로 나누는 연산은 수학적으로 정의 되지 않았다는 의미로
ArithmeticException을 발생시킵니다.- 그러나 근사치를 계산하는 실수형을 0. 으로 나누는 연산은 수학에서 정의되지 않는 매우 큰 수라는 애매한 개념 대신
IEEE 754에서 정의한Infinity라는 결과를 제공합니다.