
📌단항 연산자
- 논리 부정 연산자 : !
- 논리값을 부정하여 반대 값으로 변경
- 제어문을 활용할때 많이 쓰임
- 결과값도 논리값
package 선언부
Class 작성부
method 작성부
boolean bool1 = true
System.out.println(!bool1); // false
- 증감 연산자 : ++, --
- 변수에 담긴 값(==피연산자의 값)에 1을 증가 또는 감소하는 연산자
- (증감연산자)변수 : 전위연산 → 선 증감 후 처리
- 변수(증감연산자) : 후위연산 → 선 처리 후 증감
package 선언부
Class 작성부
method 작성부
int num = 10;
System.out.println(num++); // 10
System.out.println(num); // 11
System.out.println(++num); // 12
📌이항 연산자
- 산술 연산자 : +, -, *, /, %
/
:몫
%
:나머지
- 0이 분모에 들어가는 것 불가능
package 선언부
Class 작성부
method 작성부
int num1 = 10;
int num2 = 3;
System.out.println("num1 + num2 = " + num1 + num2); // num1 + num2 = 103
System.out.println("num1 + num2 = " + (num1 + num2)); // num1 + num2 = 13
- 비교 연산자 : <, >, <=, >=, ==, !=
- 대소 비교 연산자 : <, >, <=, >=
- 동등 비교 연산자 : ==, !=
- 결과값은 논리값
package 선언부
Class 작성부
method 작성부
int num1 = 10;
int num2 = 30;
System.out.println(num1 == num2); // false
System.out.println(num1 <= num2); // true
- 특이 : 문자와 숫자, 문자와 문자간의 대소 비교 가능
package 선언부
Class 작성부
method 작성부
System.out.println(10 < 'A'); // 'A' = 65 // true
- 논리 연산자 : &&, ||
- 두개의 논리값으로 연산
- 여러개의 조건들을 연결시켜 하나의 조건으로 만들때 사용
- 결과값도 논리값
- 논리값1 && 논리값2 : 두 피연산자 모두 true일때 true 반환 (AND)
만약 논리값1이 false일 경우 논리값2 실행되지 않음
- 논리값1 || 논리값2 : 두 피연산자 중 하나만 true여도 true 반환 (OR)
만약 논리값1이 true일 경우 논리값2 실행되지 않음

package 선언부
Class 작성부
method 작성부
char ch = 'B'; // 66
System.out.println(ch >= 65 && ch <= 90); // true
package 선언부
Class 작성부
method 작성부
int num = 10;
System.out.println((num < 5) && (++num > 0)); // false
System.out.println("&& 연산 후의 num : " + num) // && 연산 후의 num : 10
- 복합 대입 연산자 : +=, -=, *=, /=, %=
- 산술 연산자와 대입 연산자가 결합한 것
- 자신과 연산 후 연산 결과 자신에게 대입
- 데이터 처리시 속도가 빨라지므로 사용 권장
package 선언부
Class 작성부
method 작성부
int num = 10;
System.out.println(num += 3); // 13
- 특이 : 문자열과 문자열, 문자열과 숫자간의 연산 가능
package 선언부
Class 작성부
method 작성부
String str = "ab";
System.out.println(str += "cd"); // abcd
📌삼항 연산자
- 세개의 값으로 연산
- 조건식 ? true일 경우의 반환값 : false일 경우의 반환값
- 중첩 사용 가능
package 선언부
Class 작성부
method 작성부
int num = 7
String result1 = num % 2 == 0 ? "짝수" : "홀수"; // 홀수
String result2 = (num > 0 ? "양수" : (num < 0 ? "음수" : "0")); // 양수
📌instanceof 연산자
- 현재 레퍼런스가 실질적으로 어떤 클래스 타입을 참조하고 있는지 확인할 때 사용
- 클래스 타입이 맞으면 true, 아니면 false 반환
package 선언부
Class 작성부
method 작성부
if(레퍼런스 instanceof 클래스 타입1) {
true일 경우 해당 클래스 타입1로 down casting;
} else if (레퍼런스 instanceof 클래스 타입2) {
true일 경우 해당 클래스 타입2로 down casting;
} else if (레퍼런스 instanceof 클래스 타입3) {
true일 경우 해당 클래스 타입3로 down casting;
}