반응형
연산자
연산자와 연산식
연산자 종류 | 연산자 | 피연산자 수 | 산출값 | 기능 설명 |
산술 | +, -, *, /, % | 이항 | 숫자 | 사칙연산 및 나머지 계산 |
부호 | +, - | 단항 | 숫자 | 음수와 양수의 부호 |
문자열 | + | 이항 | 문자열 | 두 문자열을 연결 |
대입 | =, +=, -=, *=, /=, %/, &=, ^=, |=, <<=, >>=, >>>= | 이항 | 다양 | 우변의 값을 좌변의 변수에 대입 |
증감 | ++, -- | 단항 | 숫자 | 1만큼 증가/감소 |
비교 | ==, != >, <, >=, <=, instanceof | 이항 | boolean | 값의 비교 |
논리 | !, &, |, &&, || | 단항, 이항 | boolean | 논리적 NOT, AND, OR 연산 |
조건 | (조건식)? A:B | 삼항 | 다양 | 조건식에 따라 A 또는 B 중 하나를 선택 |
비트 | ~, &, |, ^ | 단항, 이항 | 숫자, boolean | 비트 NOT, AND, OR, XOR 연산 |
쉬프트 | >>, <<, >>> | 이항 | 숫자 | 비트를 좌측/우측으로 밀어서 이동 |
- 단항 연산자 : ++x;
- 이항 연산자 : x + y;
- 삼항 연산자 : (sum>100) / "A" : "B";
연산의 방향과 우선순위
산술 연산 시 오버플로우 주의
- 해당 타입이 연산, 표현하고자 하는 숫자를 담을 수 있는지를 확인해야 하며 담을 수 없을 시 쓰레기 값이 들어가 시스템에 큰 문제를 일으킨다.
그외 주의 사항
- 5 / 0.0 => Infinity(무한대) 같은 연산 결과가 무한대로 나오는 경우
- 5 % 0.0 => NaN(Not a Number) 같은 연산 결과가 숫자가 아닌 경우
double x = 5/0.0; Double.isInfinite(x); // Infinity 검사 Double.isNaN(x); // NaN 검사
반응형
'개발(합니다) > Java&Spring' 카테고리의 다른 글
[java-기초-05] 참조 타입 (0) | 2021.01.03 |
---|---|
[java-기초-04] 조건문과 반복문 (2) | 2021.01.02 |
[java-기초-02] 변수와 타입 (0) | 2020.12.31 |
[java-기초-01] 자바란? (0) | 2020.12.30 |
Java 검사 예외(Checked) 와 비검사 예외(UnChecked) (0) | 2020.12.17 |