3 분 소요

연산자(operators)

  • 연산자는 변수와 값을 연산할 때 사용됩니다.
  • 연산자는 값과 값, 값과 변수, 변수와 변수를 연산할 수 있습니다.
  • 연산자는 다음과 같이 그룹별로 나눌 수 있습니다.
    • 수학 연산자(Arithmetic operators)
    • 대입 연산자(Assignment operators)
    • 비교 연산자(Comparison operators)
    • 논리 연산자(Logical operators)
    • 비트 연산자(Bitwise operators)

수학 연산자(Arithmetic Operators)

  • 수학 연산자는 자주 쓰이는 수학 연산을 위해 사용됩니다.
Operator Name Description Example
+ 덧셈 두개의 값을 더함 x + y
- 뺄셈 하나의 값으로부터 다른 하나의 값을 뺌 x - y
* 곱셈 두개의 값을 곱함 x * y
/ 나눗셈 하나의 값을 다른 하나의 값으로 나눔 x / y
% 나머지 나머지 값을 반환함 x % y
++ 증가 변수의 값을 1 증가함 ++x
감소 변수의 값을 1 감소함 –x
int x = 5, y = 3;
System.out.println(x + y); // 8
System.out.println(x - y); // 2
System.out.println(x * y); // 15
System.out.println(x / y); // 1.6666667
System.out.println(x % y); // 2 (나머지값)
System.out.println(++x); // 6
System.out.println(--x); // 5 (++x에서 x가 6이 되어버렸기 때문)

대입 연산자(Assignment Operators)

  • 대입 연산자는 단순 할당과 복합 할당 연산자가 있습니다.
Operator Description Example Same As
= 좌측에 있는 개체에 우측에 있는 값을 할당합니다(단순할당) x = 5 x = 5
+= 좌측과 우측에 있는 값을 더한 후 좌측 개체에 값을 할당합니다. x += 5 x = x + 5
-= 좌측에 있는 값을 우측에 있는 값으로 뺀 후 좌측 개체에 값을 할당합니다. x -= 5 x = x - 5
*= 좌측과 우측에 있는 값을 곱한 후 좌측 개체에 값을 할당합니다. x *= 5 x = x * 5
/= 좌측에 있는 값을 우측에 있는 값으로 나눈 후 좌측 개체에 값을 할당합니다. x /= 5 x = x / 5
%= 좌측에 있는 값을 우측에 있는 값으로 나눈 나머지 값을 좌측 개체에 할당합니다. x %= 5 x = x % 5
&= 좌측과 우측에 있는 값의 비트 AND를 구하여 좌측 개체에 값을 할당합니다. x &= 5 x = x & 5
|= 좌측과 우측에 있는 값의 비트 OR를 구하여 좌측 개체에 값을 할당합니다. x |= 5 x = x | 5
^= 좌측과 우측에 있는 값의 비트 XOR를 구하여 좌측 개체에 값을 할당합니다. x ^= 5 x = x ^ 5
»= 우측에 있는 값에서 지정한 비트 수 만큼 좌측 값을 오른쪽으로 이동한 값을 좌측 개체에 할당합니다. x »= 5 x = x » 5
«= 우측에 있는 값에서 지정한 비트 수 만큼 좌측 값을 왼쪽으로 이동한 값을 좌측 개체에 할당합니다. x «= 5 x = x « 5
int x = 6; // x = 6
x += 5; // x = 6 + 5 = 11
x -= 5; // x = 6 - 5 = 1
x *= 5; // x = 6 * 5 = 30
x /= 5; // x = 6 / 5 = 1.2
x %= 5; // x = 6 % 5 = 1
x &= 5; // x = 6(110) && 5(101) = 4(100)
x |= 5; // x = 6(110) || 5(101) = 7(111)
x ^= 5; // x = 6(110) ^ 5(101) = 3(011)
x >>= 2; // x = 6(110) >> 2 = 1(001)
x <<= 2; // x = 6(110) << 2 = 24(11000)
System.out.println(x);
  • 해당 예제는 int x와 System.out.println(x)을 제외한 나머지는 주석처리 후에 하나씩 확인해주세요.

비교 연산자(Comparison Operators)

  • 비교 연산자의 반환값의 타입은 불리언(Boolean) 입니다.
Operator Name/Description Example
== 동등 x == y
!= 부등 x != y
> x > y
< 작음 x < y
>= 크거나 같음 x >= y
<= 작거나 같음 x <= y
int x = 6, y = 4;
System.out.println(x == y); // false
System.out.println(x != y); // true
System.out.println(x > y); // true
System.out.println(x < y); // false
System.out.println(x >= y); // true
System.out.println(x <= y); // false

논리 연산자(Logical Operators)

  • 논리 연산자의 반환값의 타입은 불리언(Boolean) 입니다.
Operator Name Description Example
&& 논리 AND 두 statement가 true일 때 true 반환 x <= 5 && x < 10
|| 논리 OR 두 statement중 하나라도 true일 때 true 반환 x <= 5 || x <4
! 논리 NOT 결과를 반대로 바꿈 !(x <= 5 && x < 10)
int x = 5;
System.out.println(x <= 5 && x < 10); // true
System.out.println(x <= 5 || x < 4); // true
System.out.println(!(x <= 5 && x < 10)); // false