2. 연산자

Java에서 연산자(Operator)는 하나 이상의 피연산자(Operand)에 대해 특정한 연산을 수행하는 기호 또는 키워드입니다. 연산자는 데이터를 처리하고 조작하는 데 사용되며, 수학적인 계산, 논리 연산, 비교 연산 등 다양한 작업을 수행할 수 있습니다.

Java에서는 다양한 종류의 연산자가 제공됩니다. 주요한 연산자들은 아래와 같습니다:

  1. 산술 연산자(Arithmetic Operators): 수학적인 연산을 수행하는 연산자입니다. 예를 들어, +는 덧셈, -는 뺄셈, *는 곱셈, /는 나눗셈, %는 나머지 연산을 수행합니다.

    • + (덧셈): 두 피연산자의 합을 계산합니다. 예시: int result = 10 + 5; // result는 15

    • - (뺄셈): 첫 번째 피연산자에서 두 번째 피연산자를 뺀 값을 계산합니다. 예시: int result = 10 - 5; // result는 5

    • * (곱셈): 두 피연산자의 곱을 계산합니다. 예시: int result = 10 * 5; // result는 50

    • / (나눗셈): 첫 번째 피연산자를 두 번째 피연산자로 나눈 결과를 계산합니다. 예시: int result = 10 / 5; // result는 2

    • % (나머지): 첫 번째 피연산자를 두 번째 피연산자로 나눈 나머지 값을 계산합니다. 예시: int result = 10 % 3; // result는 1

  2. 대입 연산자(Assignment Operators): 변수에 값을 할당하는 연산자입니다. =는 오른쪽의 값을 왼쪽의 변수에 할당합니다. 예를 들어, x = 10;은 변수 x에 10을 할당합니다.

    • = (할당): 오른쪽의 값을 왼쪽의 변수에 할당합니다. 예시: int num = 10; // 변수 num에 10을 할당

  3. 증감 연산자(Increment/Decrement Operators): 변수의 값을 1씩 증가시키거나 감소시키는 연산자입니다. ++는 증가 연산자, --는 감소 연산자입니다.

    • ++ (증가): 변수의 값을 1씩 증가시킵니다. 예시: int num = 5; num++; // num은 6

    • -- (감소): 변수의 값을 1씩 감소시킵니다. 예시: int num = 5; num--; // num은 4

  4. 비교 연산자(Comparison Operators): 두 개의 값을 비교하여 참(True) 또는 거짓(False)을 반환하는 연산자입니다. ==는 값이 같은지 비교, !=는 값이 다른지 비교, >, <, >=, <=는 크기를 비교합니다.

    • == (동등): 두 피연산자의 값이 서로 같은지 비교합니다. 예시: boolean result = (5 == 5); // result는 true

    • != (부등): 두 피연산자의 값이 서로 다른지 비교합니다. 예시: boolean result = (5 != 5); // result는 false

    • > (크다): 첫 번째 피연산자가 두 번째 피연산자보다 큰지 비교합니다. 예시: boolean result = (5 > 3); // result는 true

    • < (작다): 첫 번째 피연산자가 두 번째 피연산자보다 작은지 비교합니다. 예시: boolean result = (5 < 3); // result는 false

    • >= (크거나 같다): 첫 번째 피연산자가두 번째 피연산자보다 크거나 같은지 비교합니다. 예시: boolean result = (5 >= 5); // result는 true

    • <= (작거나 같다): 첫 번째 피연산자가 두 번째 피연산자보다 작거나 같은지 비교합니다. 예시: boolean result = (5 <= 3); // result는 false

  5. 논리 연산자(Logical Operators): 논리적인 조건을 평가하고 논리 연산을 수행하는 연산자입니다. &&는 논리 AND 연산, ||는 논리 OR 연산, !는 논리 NOT 연산을 수행합니다.

    • && (논리 AND): 두 개의 조건이 모두 참인지 비교합니다. 예시: boolean result = (true && false); // result는 false

    • || (논리 OR): 두 개의 조건 중 하나 이상이 참인지 비교합니다. 예시: boolean result = (true || false); // result는 true

    • ! (논리 NOT): 조건의 반대를 나타냅니다. 예시: boolean result = !true; // result는 false

  6. 조건 연산자(Conditional Operator): 조건에 따라 다른 값을 반환하는 연산자입니다. 조건 ? 값1 : 값2 형태로 사용되며, 조건이 참이면 값1을 반환하고, 조건이 거짓이면 값2를 반환합니다.

    • 조건 ? 값1 : 값2 형태로 사용되며, 조건이 참이면 값1을 반환하고, 조건이 거짓이면 값2를 반환합니다. 예시: int max = (num1 > num2) ? num1 : num2; // num1과 num2 중 큰 값을 max에 할당

  7. 비트 연산자(Bitwise Operators): 비트 단위로 연산을 수행하는 연산자입니다. &는 비트 AND, |는 비트 OR, ^는 비트 XOR, ~는 비트 NOT 연산을 수행합니다.

int a = 5;  // 5의 이진 표현: 00000101
int b = 3;  // 3의 이진 표현: 00000011

// 비트 AND(&) 연산: 각 비트의 상태가 둘 다 1인 경우에만 결과 비트가 1이 됩니다.
int resultAnd = a & b;  // 00000001 (결과: 1)
System.out.println(resultAnd);

// 비트 OR(|) 연산: 각 비트의 상태가 하나 이상 1인 경우에 결과 비트가 1이 됩니다.
int resultOr = a | b;   // 00000111 (결과: 7)
System.out.println(resultOr);

// 비트 XOR(^) 연산: 각 비트의 상태가 서로 다를 때 결과 비트가 1이 됩니다.
int resultXor = a ^ b;  // 00000110 (결과: 6)
System.out.println(resultXor);

// 비트 NOT(~) 연산: 각 비트를 반전시킵니다. 1은 0으로, 0은 1로 바뀝니다.
int resultNotA = ~a;    // 11111010 (결과: -6)
System.out.println(resultNotA);

int resultNotB = ~b;    // 11111100 (결과: -4)
System.out.println(resultNotB);

이외에도 instanceof 연산자, 삼항 연산자 등 다양한 연산자가 Java에서 사용됩니다. 연산자는 데이터 처리와 조건 검사, 논리적인 연산 등 다양한 작업을 수행하는 데 사용되므로 Java 프로그래밍에서 중요한 개념입니다.

Last updated