-결합 방향(Associativity): 연산자가 여러 개 사용될 때, 같은 우선순위를 갖는 경우 연산의 진행 방향을 나타냅니다. 대부분의 연산자는 왼쪽에서 오른쪽으로 진행됩니다.
-우선순위(Priority): 연산자에는 각각 우선순위가 있으며, 높은 우선순위를 갖는 연산자가 먼저 수행됩니다.
result = (1 < num) && (num < 100);
result = ((num % 2) == 0) || ((num % 3) == 0);
class SCE {
public static void main(String[] args) {
int num1 = 0;
int num2 = 0;
boolean result;
result = ((num1 += 10) < 0) && ((num2 += 10) > 0);
System.out.println("result = " + result);
System.out.println("num1 = " + num1);
System.out.println("num2 = " + num2 + '\n');
result = ((num1 += 10) > 0) || ((num2 += 10) > 0);
System.out.println("result = " + result);
System.out.println("num1 = " + num1);
System.out.println("num2 = " + num2);
}
}
출력 결과 :
result = false
num1 = 10
num2 = 0
result = true
num1 = 20
num2 = 10
num1 = 10 , num2 = 10
short num1;
short num = -num; // 에러: Cannot unary minus a value of type short
수정:
short num1;
short num = (short)-num;
- 전위 증가 연산자(++num): 변수의 값을 1 증가시킨 후, 증가된 값을 반환합니다.
- 후위 증가 연산자(num++): 변수의 현재 값을 반환한 후, 값을 1 증가시킵니다.
- & (AND): 각 비트가 모두 1이면 1을 반환, 그 외에는 0을 반환합니다.
- | (OR): 하나 이상의 비트가 1이면 1을 반환합니다.
- ^ (XOR): 두 비트가 서로 다르면 1을 반환, 같으면 0을 반환합니다.
- ~ (NOT): 각 비트를 반전시킵니다. 0은 1로, 1은 0으로 변환합니다.
class AddNum {
public static void main(String[] args) {
int result = 3 + 6;
System.out.println("3 + 6 = " + result);
result += 9;
System.out.println("3 + 6 + 9 = " + result);
result += 12;
System.out.println("3 + 6 + 9 + 12 = " + result);
}
}
출력 결과:
3 + 6 = 9
3 + 6 + 9 = 18
3 + 6 + 9 + 12 = 30