산술 연산자는 사칙연산에 사용되는 연산자(+, -, *, /)와 나머지 연산자(%)를 포함합니다.
산술 연산자의 동작은 우리가 알고 있는 일반적인 수학 연산과 거의 동일
int num1 = 1;
int num2 = num1 + 2; // num2 -> 3
int num3 = num2 - 1; // num3 -> 2
int num4 = num3 * 3; // num4 -> 9
int num5 = num4 / 2; // num5 -> 4
int num6 = num5 % 3; // num6 -> 1
나눗셈 연산자와 나머지 연산자를 사용할 때에는 우항에 0이 위치할 수 없다.
int num1 = 9 / 0; // 에러
double num2 = 9.0 / 0; // Infinity
int num3 = 9 % 0; // 에러
double num4 = 9.0 % 0; // 에러
나눗셈 연산자를 사용할 때 좌항,우항이 모두 int형이면 그 결과값은 int형이고.
좌항 또는 우항중 하나가 실수형이면 결과 값도 실수형으로 출력된다
double num1 = 9 / 2; // 4.0
int num2 = 9 / 2; // 4
double num3 = 9.0 / 2; // 4.5
어떤 정수 타입 변수가 가진 값을 증가시키거나 감소시켜야 할때, 증감 연산자를 사용할 수 있다.
num1++; // num1 = num1 + 1;과 같습니다.
++num1; // num1 = num1 + 1;과 같습니다.
num2--; // num2 = num2 - 1;과 같습니다.
--num2; // num2 = num2 - 1;과 같습니다.
증감연산자의 연산 순서가 증감연산자의 위치에 따라 달라질 수 있다는 점이다. 증감연산자가 피연산자보다 앞에 있으면 전위형 증감연산자, 뒤에 있으면 후위형 증감연산자라고 한다.
전위형 증감연산자 : 증감 연산을 먼저 수행한 후, 그 결과값을 적용.
후위형 증감연산자 : 기존의 값을 먼저 적용시키고 그 다음에 증감 연산을 수행.
복합 대입 연산자는 모든 사칙 연산자 및 나머지 연산자와 대입 연산자를 결합한 형태로 아래와 같이 표현할 수 있다.
num1 += 2;
num2 -= 2;
모든 사칙연산자와 나머지 연산자를 결합한 복합 대입 연산자의 예시,
## 대소 비교 연산자
// num1~5의 값을 모두 10이라고 한다면,
num1 += 3; // num1 -> 13
num2 -= 3; // num2 -> 7
num3 *= 3; // num3 -> 30
num4 /= 3; // num4 -> 3
num5 %= 3; // num5 -> 1
로 나타낼 수 있다.
비교 연산자는 boolean 타입으로 평가될 수 있는 조건식에 사용되며, 크게 대소 비교(>, <, <=, >=)연산자와 등가 비교(==, !=) 연산자로 분류됩니다.
대소 비교 연산자는 boolean을 제외한 나머지 기본 타입에 모두 사용할 수 있다.
이때 주의할 점은 "x가 1보다 크고 5보다 작다"를 표현할 때
1 < x < 5 이 아닌 , 1 < x && x < 5 으로 논리 연산자와 함께 작성해야 한다.
등가 비교 연산자는 모든 타입에 사용할 수 있는 연산자로, 두 항이 동등한지 yes or no 여부를 판단할 때 사용 . 주의할 점은 기본 타입의 값 끼리, 참조 타입의 값끼리만 등가 비교 연산자를 사용할 수 있다.
두 항이 동등하면 true , 동등하지 않으면 false를 반환한다.
논리 연산자는 AND 연산자 &&, OR 연산자 ||, NOT 연산자 !를 포함하며, 공통적으로 boolean 타입을 반환합니다.
AND연산자(&&) : 두 항이 모두 true일 때 true를 반환하고, 피연산자 두 개 중 하나라도 true가 아니면 false를 반환한다.
OR연산자(||) : 피연산자 두 개 중 단 하나라도 true면 true를 반환하며, 피연산자가 모두 false인 경우에만 false를 반환
NOT 연산자(!): true와 false를 반대로 바꾸는 연산자이다.
// 아래의 비교 연산 결과는 모두 true입니다.
!true == false
!false == true
!!true == true
주요 연산자 우선 순위를 표로 나타내면 다음과 같다.