연산자(operator)
연산을 수행하는 기호 (+, -, *, /, ;, [], () 등)
피연산자(operand)
연산자의 처리(작업) 대상
식(expression)
연산자와 피연산자를 조합하여 표현한 것
ex) !4, 3 + 4, 4 > 3 등
1개 : 단항 연산자 (++, --, +, -, ~, !, (cast))
2개 : 이항 연산자 (산술 연산자, 비교 연산자 등)
3개 : 삼항 연산자
- 산술 연산자 (+, -, *, /, %)
- 비교 연산자 (>, <, >=, <=, ==, !=)
- 논리 연산자 (&&, ||, !)
- 대입 연산자 (
int a = 10)- 기타
- 우선순위 : 산술 > 비교 > 논리 > 대입
- 단, 단항 연산자는, 다른 어떤 연산자보다 우선순위가 높다. (++, --, +, -, ~, !, (cast))
Infinity라고 나옴NaN(Not a Number)라고 나옴* 비트연산자의 사용 목적 : 자바의 자료형을 비트로 변환하는 작업을 사용자가 미리 해주기 때문에 성능에 좋음. 대표적으로 암호화에 사용
System.out.println(~5); // -6
// 5 = 0000 0101
// 전환 = 1111 1010
// 1111 1010을 10진수로 변환 = 6
// 결국 ~5는 -6이 됨
어떤 기억 공간의 값을 1 증감시키는 코딩
1. 복합 대입 연산자 (n+=1)
2. 후위영 증감 연산자 (n++)
3. 전위형 증감 연산자 (++n)
피연산자가 3개인 연산자
항1?항2:항3
결과값은 항1이 참이면 항2, 거짓이면 항3
그래서 항1은 항상 참 또는 거짓으로 판단될 수 있는 식이어야 함
삼항연산자끼리 중첩될 수도 있음
int x = 10;
int y = x > 20 ? 100 : 200;
System.out.println(y); // 200