이것이 자바다 스터디를 하면서 중요하게 생각되는 부분, 알게 된 점, 스터디를 진행하며 얻은 정보를 기록한다.
✔ 부호 연산자
는 변수의 부호를 유지하거나 변경
+
: 부호 유지-
: 부호 변경✔ 증감 연산자
는 변수의 값을 1 증가시키거나 1 감소
✔ 산술 연산자
→ +, -, *, /, %(나머지)
✔ 산술 연산의 특징
✔ 산술 연산을 정확하게 계산하고 싶다면 실수 타입을 사용하지 않도록 → 보통 int 타입으로
✔ 오버플로우 & 언더플로우
✔ 나눗셈, 나머지 연산에서 좌측 피연산자가 정수, 우측 피연산자가 0일 경우 예외 발생
→ ArithmeticException
발생
✔ 좌측 피연산자가 실수이거나 우측 피연산자가 0.0 or 0.0f이면 예외 발생 X
→ Infinity(무한대)
or NaN(Not a Number)
발생
✔ Infinity or NaN인지 확인하는 방법 → .isInfinite()
/ .isNaN()
✔ 비교 연산자
는 동등 또는 크기를 평가해 boolean 타입인 true/false를 산출
✔ 문자열을 비교할 때는 동등 연산자(==, ≠) 대신 equals(), !equals() 사용
✔ 논리 연산자
는 논리곱(&&), 논리합(||), 배타적 논리합(^), 논리 부정(!) 연산 수행
✔ &과 |는 피연산자를 모두 평가 후 산출해서 &&, || 보다 비효율적
✔ 비트 논리 연산자
는 bit 단위로 논리 연산 수행
비트 연산에서 실수 타입(float, double)은 피연산자 불가
비트 논리 연산자는 byte, short, char 타입 피연산자를 int 타입으로 자동 변환
→ 연산 결과도 int 타입
✔ byte 타입을 int 타입으로 변환 → Byte.toUnsignedInt()
✔ 비트 이동 연산자
는 비트를 좌측 또는 우측으로 밀어서 이동시키는 연산
✔ Math.pow(a, b)
✔ 대입 연산자
는 우측 피연산자의 값을 좌측 피연산자인 변수에 대입
✔ 삼항(조건) 연산자
( 조건식 ) ? ( 1 값 또는 연산식 ) : ( 2 값 또는 연산식 )