1. 연산자(Operator)
1-1. 산술 연산자
- +, -, *, /, %
int a = 10;
int b = 2;
1-2. 증감 연산자
1-2-1. 전위 연산자
- ++a, --a
public class Main {
public static void main(String[] args) {
int a = 5;
int b = ++a;
System.out.println("a = " + a);
System.out.println("b = " + b);
}
}
a = 6
b = 6
1-2-2. 후위 연산자
- a++, a--
public class Main {
public static void main(String[] args) {
int a = 5;
int b = a++;
System.out.println("a = " + a);
System.out.println("b = " + b);
}
}
a = 6
b = 5
1-2-3. 헷갈리는 문제
public class Main {
public static void main(String[] args) {
int a = 3;
int b = ++a + a++;
System.out.println("a = " + a);
System.out.println("b = " + b);
}
}
a = 5
b = 8
1-3. 기타 연산자
1-3-1. 비교 연산자
연산자 설명
| == | 두 값이 같으면 true |
| != | 두 값이 다르면 true |
| > | 왼쪽 값이 오른쪽 값보다 크면 true |
| < | 왼쪽 값이 오른쪽 값보다 작으면 true |
| ≥ | 왼쪽 값이 오른쪽 값보다 크거나 같으면 true |
| ≤ | 왼쪽 값이 오른쪽 값보다 작거나 같으면 true |
1-3-2. 논리 연산자
연산자 설명
| && | AND – 양쪽이 모두 true일 때 true |
| || | OR – 양쪽 중 하나라도 true일 때 true |
| ! | NOT – true ↔ false 반전 |
1-3-3. 비트 연산자
연산자 설명
| & | AND – 각 비트가 모두 1이면 1 |
| | | OR – 각 비트 중 하나라도 1이면 1 |
| ^ | XOR – 각 비트가 서로 다르면 1 |
| ~ | NOT – 각 비트를 반전 |
1-3-4. 시프트 연산자
연산자 설명
| << n | 왼쪽으로 n비트 이동 |
| >> n | 오른쪽으로 n비트 이동 (부호 비트 유지) |
| >>> n | 오른쪽으로 n비트 이동 (부호 비트 무시) |
2. 형변환
2-1. 이항 연산자의 특징
- 연산 시 피연산자와 타입이 다르면 자동으로 형변환이 일어납니다.
- 큰 타입과 작은 타입이 있으면 작은 타입을 큰 타입으로 변환합니다.
- 연산 결과는 큰 타입이 나오게 됩니다.
byte a = 10;
int b = 20;
int c = a + b; // a는 자동으로 int로 변환
2-2. 문자열과 숫자의 연산
- 숫자와 문자열이 연산되면, 숫자는 문자열로 변환됩니다.
int a = 10;
String s = "개";
String result = a + s;
System.out.println(result); // "10개"
2-2-1. 문자열과 숫자 연산 심화
int a = 10;
int b = 20;
String s = "개";
System.out.println(a + b + s); // "30개"
System.out.println(s + a + b); // "개1020"
⇒ 연산 순서에 따라 결과가 다르게 나옵니다.
3. 복합 대입 연산자
// 연산자 축약
// + 연산
a = a + 10;
a += 10;
// * 연산
a = a * 2;
a *= 2;
❓
나누기 있는데, 10 나누기 0을 하면 어떻게 되요?
- 10 / 0은 값이 나올 수 없습니다.
⇒ 그러므로 ArithmeticException 예외가 발생하게 됩니다.
💡
Keyword (추후 notion페이지로 연결할 예정입니다.)
- 산술 연산자
- 증감 연산자
- 비교 연산자
- 논리 연산자
- 시프트 연산자
- 복합 대입 연산자
- 연산자 우선순위
'LV0_Setup > JAVA 세팅' 카테고리의 다른 글
| [#2] JAVA - IntellinJ 설치하기 (0) | 2026.02.23 |
|---|---|
| [#1] JAVA - JDK와 Eclipse 설치하기 (0) | 2026.02.20 |