728x90
반응형
1. 대입 연산자 (Assignment Operator)
- = : 변수에 값을 대입하는 연산자이다.
int a = 5;
2. 산술 연산자 (Arithmetic Operators)
- +, -, *, /, % : 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산을 수행한다.
- 주의: 정수형끼리 나눗셈을 할 경우 소수점 아래 자리는 버려진다.
- 실수형은 소수점 아래까지 나누어진다.
int one = 5, two = 3;
System.out.println("뺄셈 결과 >> " + (one - two)); // 괄호 필수
3. 복합 대입 연산자 (Compound Assignment Operators)
- +=, -=, *=, /=, %= : 대입과 산술 연산을 한 번에 처리한다.
int one = 5, two = 3;
one += two; // one = one + two;
System.out.println("one >> " + one); // 결과: one >> 8
4. 관계 연산자 (Relational Operators)
- >, <, >=, <=, ==, != : 두 값을 비교하고, 결과로 true 또는 false를 반환한다.
int one = 5, two = 3;
System.out.println("크니? " + (one > two)); // true
System.out.println("같니? " + (one == two)); // false
System.out.println("다르니? " + (one != two)); // true
5. 논리 연산자 (Logical Operators)
- &&, ||, ! : 논리식 간의 AND, OR, NOT 연산을 수행한다.
- && : 두 조건이 모두 참일 때 true
- || : 두 조건 중 하나만 참이면 true
- ! : 논리값을 반전시킴
boolean result1, result2, result3;
result1 = (one > 4) && (two > 4); // false
result2 = (one > 4) || (two > 4); // true
result3 = !(one > 4); // false
6. 증가/감소 연산자 (Increment/Decrement Operators)
- ++, -- : 변수 값을 1씩 증가 또는 감소시킨다.
- 전치 연산: ++a (증가 후 사용)
- 후치 연산: a++ (사용 후 증가)
int a = 5;
System.out.println(++a); // 6 (전치 증가)
System.out.println(a++); // 6 (출력 후 증가)
System.out.println(a); // 7
7. 비트 연산자 (Bitwise Operators)
- &, |, ^, ~, <<, >>, >>> : 비트 단위로 연산을 수행한다.
- &: 두 비트가 모두 1일 때 1
- |: 두 비트 중 하나라도 1일 때 1
- ^: 두 비트가 다를 때 1
- ~: 비트를 반전시킴
- <<: 비트를 왼쪽으로 이동 (2배씩 증가)
- >>: 비트를 오른쪽으로 이동 (2배씩 감소)
- >>>: 부호 없는 오른쪽 이동
int a = 5; // 0101
int b = 3; // 0011
System.out.println(a & b); // 1 (0001)
System.out.println(a | b); // 7 (0111)
System.out.println(a ^ b); // 6 (0110)
System.out.println(~a); // -6 (비트 반전)
8. 삼항 연산자 (Ternary Operator)
- (조건) ? 참일 때 값 : 거짓일 때 값;
조건에 따라 두 값 중 하나를 반환한다.
int num = 5;
String result = (num > 10) ? "크다" : "작다";
System.out.println(result); // "작다"
9. 자바 연산자 우선순위 (Operator Precedence)
자바 연산자에는 우선순위가 있다. 예를 들어, 산술 연산자는 관계 연산자보다 우선적으로 수행되며, 관계 연산자는 논리 연산자보다 우선된다. 괄호를 사용해 연산 순서를 명확하게 지정하는 것이 좋다.
[출처: 열혈 Java 프로그래밍 - 윤성우]
728x90
반응형
'Programming Language > Java' 카테고리의 다른 글
[Java/개념] 조건문 (if ~ else / switch) (0) | 2024.10.08 |
---|---|
[Java/개념] 타입 변환 (Type Conversion) (0) | 2024.10.07 |
[Java/개념] 자료형과 변수 (1) | 2024.10.07 |
[Java/개념]JDK와 JRE의 차이 (0) | 2024.10.07 |
[Java/개념] JVM(Java Virtual Machine) 동작 과정 (1) | 2024.10.07 |