'연산을 수행하는 기호' (+, -, *, / 등)
피연산자는 연산자의 작업 대상(변수, 상수, 리터럴, 상수, 수식)
연산자 우선 순위
(1) 이항 연산자는 두 피연산자의 타입이 일치해야 연산이 가능하다.
대부분의 경우, 두 피연산자의 타입 중에서 더 큰 타입으로 일치시키는데, 그 이유는 작은 타입으로 형변환하면 원래의 값이 손실될 가능성이 있기 때문이다.
산술 변환의 경우
(1) OR(||)연산의 경우, 두 피연산자 중 어느 한 쪽만 '참'이어도 전체 연산결과가 '참'이므로 좌측 피연산자가 '참'이면, 우측 피연산자의 값은 평가하지 않는다.
(2) AND(&&)연산의 경우도 어느 한쪽만 '거짓'이어도 전체 연산결과가 '거짓'이므로 좌측 피연산자가 '거짓'이면, 우측 피연산자는 평가하지 않는다.
즉 좌측에 효율적인 피연산자를 입력하는 것이 유리하다.
조건식? 식1 : 식2 //삼항연산자
조건이 참이라면 식1의 값이, 거짓이라면 식2의 값이 나타난다.
(1) 식1과 식2의 타입이 다른 경우 산술 변환이 발생한다.
ex)
"mod < 0.5 ? 0 : 0.5" 는 연산 과정에서
"mod < 0.5 ? 0.0 : 0.5" double 타입으로 통일된다.
(1) 대입 연산자는 연산자들 중에서 가장 낮은 우선순위를 가지고 있기 때문에 제일 나중에 수행된다.
(2) 연산 진행 방향이 오른쪽에서 왼쪽이다.
x = y = 3
연산과정
1. y=3이 먼저 수행
2. x=3이 뒤에 수행
(3) 복합 대입 연산자
대입 연산자는 다른 연산자와 결합하여 사용될 수 있다.