최우선 연산자
- 무조건 가장 먼저 명령이 실행되도록 처리하는 연산자
- (): 우선 처리 연산자
- [ ]:배열 연산자
- .: 객체 연산자
System.out.println("10 + 20 * 3 = " + (10 + 20 * 3));
System.out.println("(10 + 20) * 3 = " + ((10 + 20) * 3));
단항 연산자 종류
- +: 양수 연산자
- -: 음수 연산자
- ~: Bit Not 연산자(2의 보수 연산자)
피연산자(정수값)의 Bit 단위로 표현된 값을 반대로 변환하여 제공하는 연산자
- !: Not 연산자
피연산자(논리값)를 반대로 변환하여 제공하는 연산자
- ++: 1증가 연산자
피연산자를 반드시 변수로 사용하며 변수값을 1증가하여 저장하는 연산자
- --: 1감소 연산자
피연산자를 반드시 변수로 사용하며 변수값을 1감소하여 저장하는 연산자
- (자료형): 강제 형변환 연산자
피연산자의 자료형을 일시적으로 변환하여 제공하는 연산자
- new: 객체 생성 연산자
클래스의 생성자를 호출하며 객체를 생성하여 제공하는 연산자
int a4 = 10, a5 = 10;
int b1 = ++a4;
int b2 = a5++;
System.out.println("a4 = " + a4 + ", a5 = " + a5);
System.out.println("b1 = " + b1 + ", b2 = " + b2);
이항 연산자 종류
- 피연산자의 갯수가 2개인 연산자
- 산술 연산자, 이동 연산자, 비교 연산자, 논리 연산자, 대입 연산자
산술 연산자
int c1 = 20, c2 = 10;
System.out.println(c1 + "+" + c2 + "=" + (c1 + c2));
System.out.println(c1 + "-" + c2 + "=" + (c1 - c2));
System.out.println(c1 + "*" + c2 + "=" + (c1 * c2));
System.out.println(c1 + "/" + c2 + "=" + (c1 / c2));
System.out.println(c1 + "%" + c2 + "=" + (c1 % c2));
이동 연산자(시프트 연산자)
- 정수값을 원하는 방향으로 Bit 수만큼 이동하는 연산자
- <<(왼쪽 이동 연산자)
- >>(오른쪽 이동 연산자)
비교(관계) 연산자
- 값을 비교하여 논리값을 제공하는 연산자
- >
- <
- >=
- <=
- !=
System.out.println(" 20 > 10 = " + (20 > 10));
System.out.println(" 20 < 10 = " + (20 < 10));
System.out.println(" 20 <= 10 = " + (20 <= 10));
System.out.println(" 20 >= 10 = " + (20 >= 10));
System.out.println(" 20 == 10 = " + (20 == 10));
System.out.println(" 20 != 10 = " + (20 != 10));
논리 연산자
- Bit 논리 연산자
- 두 피연산자(정수값)를 Bit 단위로 계산하기 위한 연산자
- &: 논리곱
- 일반 논리 연산자
- 비교 연산자를 연결하여 처리하기 위한 연산자
int d = 20;
System.out.println("d >= 10 && d <= 30 = " + (d >= 10 && d <= 30));
System.out.println("d < 10 || d > 30 = " + (d > 10 || d > 30));
삼항 연산자
- 피연산자의 갯수가 3개인 연산자
- 조건식 ? 참값 : 거짓값
int e1 = 20, e2 = 10;
System.out.println("큰 값 = " + ((e1 > e2) ? e1 : e2));
대입 연산자
- 왼쪽 피연산자(변수)에 값을 저장하기 위한 연산자
- 순수 대입 연산자(=)
- 변수에 값을 저장하는 연산자
- 계산 대입 연산자(*=, /=, %=, +=, -=)
int e4 = 10;
System.out.println("e4 = " + e4);
e4 += 20;
System.out.println("e4 = " + e4);