본문 바로가기
JAVA

Java 연산자

by 얍얍1234 2024. 6. 16.

오늘은 Java 프로그래밍 언어에서 중요한 개념인 연산자(Operators)에 대해 깊이 알아보겠습니다.

연산자는 프로그램 내에서 데이터를 처리하고 조작하는 데 필수적인 요소입니다. 이 블로그에서는 Java에서 제공하는 다양한 연산자들을 살펴보고, 각 연산자가 어떤 역할을 하는지, 어떻게 사용되는지에 대해 설명드리겠습니다.

 


1. 연산자란 무엇인가?

연산자는 변수와 값을 사용하여 다양한 계산과 논리 연산을 수행하는 데 사용되는 기호입니다. 연산자는 크게 다음과 같이 분류할 수 있습니다:

- 산술 연산자
- 할당 연산자
- 비교 연산자
- 논리 연산자
- 비트 연산자
- 기타 연산자

각 연산자 종류별로 상세히 살펴보겠습니다.

 

2. 산술 연산자 (Arithmetic Operators)

산술 연산자는 수학적인 계산을 수행하는 데 사용됩니다. Java에서는 다음과 같은 산술 연산자를 제공합니다:

- `+` : 덧셈
- `-` : 뺄셈
- `*` : 곱셈
- `/` : 나눗셈
- `%` : 나머지

public class ArithmeticOperators {
    public static void main(String[] args) {
        int a = 10;
        int b = 5;
        
        System.out.println("a + b = " + (a + b)); // 15
        System.out.println("a - b = " + (a - b)); // 5
        System.out.println("a * b = " + (a * b)); // 50
        System.out.println("a / b = " + (a / b)); // 2
        System.out.println("a % b = " + (a % b)); // 0
    }
}

 


3. 할당 연산자 (Assignment Operators)

할당 연산자는 변수에 값을 할당하는 데 사용됩니다. 가장 기본적인 할당 연산자는 `=` 입니다. 이 외에도 다양한 복합 할당 연산자가 있습니다:

- `=` : 값 할당
- `+=` : 더한 후 할당
- `-=` : 뺀 후 할당
- `*=` : 곱한 후 할당
- `/=` : 나눈 후 할당
- `%=` : 나머지를 구한 후 할당

public class AssignmentOperators {
    public static void main(String[] args) {
        int a = 10;
        
        a += 5;  // a = a + 5
        System.out.println("a += 5: " + a); // 15
        
        a -= 3;  // a = a - 3
        System.out.println("a -= 3: " + a); // 12
        
        a *= 2;  // a = a * 2
        System.out.println("a *= 2: " + a); // 24
        
        a /= 4;  // a = a / 4
        System.out.println("a /= 4: " + a); // 6
        
        a %= 3;  // a = a % 3
        System.out.println("a %= 3: " + a); // 0
    }
}

 


4. 비교 연산자 (Comparison Operators)

비교 연산자는 두 값을 비교하고, 그 결과로 논리값(true 또는 false)을 반환합니다. Java에서는 다음과 같은 비교 연산자를 제공합니다:

- `==` : 같음
- `!=` : 같지 않음
- `>` : 큼
- `<` : 작음
- `>=` : 크거나 같음
- `<=` : 작거나 같음

 

public class ComparisonOperators {
    public static void main(String[] args) {
        int a = 10;
        int b = 5;
        
        System.out.println("a == b: " + (a == b)); // false
        System.out.println("a != b: " + (a != b)); // true
        System.out.println("a > b: " + (a > b));   // true
        System.out.println("a < b: " + (a < b));   // false
        System.out.println("a >= b: " + (a >= b)); // true
        System.out.println("a <= b: " + (a <= b)); // false
    }
}



5. 논리 연산자 (Logical Operators)

논리 연산자는 논리값을 조합하여 새로운 논리값을 생성하는 데 사용됩니다. Java에서는 다음과 같은 논리 연산자를 제공합니다:

- `&&` : 논리 AND
- `||` : 논리 OR
- `!` : 논리 NOT

public class LogicalOperators {
    public static void main(String[] args) {
        boolean x = true;
        boolean y = false;
        
        System.out.println("x && y: " + (x && y)); // false
        System.out.println("x || y: " + (x || y)); // true
        System.out.println("!x: " + (!x));         // false
    }
}



6. 비트 연산자 (Bitwise Operators)

비트 연산자는 정수형 변수의 비트 단위 연산을 수행하는 데 사용됩니다. Java에서는 다음과 같은 비트 연산자를 제공합니다:

- `&` : 비트 AND
- `|` : 비트 OR
- `^` : 비트 XOR
- `~` : 비트 NOT
- `<<` : 비트 왼쪽 시프트
- `>>` : 비트 오른쪽 시프트
- `>>>` : 부호 없는 비트 오른쪽 시프트

 

public class BitwiseOperators {
    public static void main(String[] args) {
        int a = 5;  // 0101 in binary
        int b = 3;  // 0011 in binary
        
        System.out.println("a & b: " + (a & b)); // 0001 -> 1
        System.out.println("a | b: " + (a | b)); // 0111 -> 7
        System.out.println("a ^ b: " + (a ^ b)); // 0110 -> 6
        System.out.println("~a: " + (~a));       // 1010 -> -6
        
        System.out.println("a << 1: " + (a << 1)); // 1010 -> 10
        System.out.println("a >> 1: " + (a >> 1)); // 0010 -> 2
        System.out.println("a >>> 1: " + (a >>> 1)); // 0010 -> 2
    }
}

 



7. 기타 연산자 (Miscellaneous Operators)

Java에는 위에서 설명한 연산자 외에도 다양한 기타 연산자가 있습니다. 이 섹션에서는 삼항 연산자, 인스턴스 연산자, 형 변환 연산자 등을 다룹니다.

7.1. 삼항 연산자 (Ternary Operator)
삼항 연산자는 조건문을 간결하게 작성하는 데 사용됩니다. `조건식 ? 참일 때의 값 : 거짓일 때의 값` 형태로 사용됩니다.

public class TernaryOperator {
    public static void main(String[] args) {
        int a = 10;
        int b = 5;
        
        int max = (a > b) ? a : b;
        System.out.println("Max value: " + max); // 10
    }
}



7.2. instanceof 연산자
`instanceof` 연산자는 객체가 특정 클래스의 인스턴스인지 여부를 검사하는 데 사용됩니다.

public class InstanceofOperator {
    public static void main(String[] args) {
        String str = "Hello, World!";
        
        if (str instanceof String) {
            System.out.println("str is an instance of String");
        }
    }
}



7.3. 형 변환 연산자 (Type Cast Operator)
형 변환 연산자는 하나의 자료형을 다른 자료형으로 변환하는 데 사용됩니다. `(자료형)값` 형태로 사용됩니다.

public class TypeCastOperator {
    public static void main(String[] args) {
        double d = 9.78;
        int i = (int) d; // double to int
        
        System.out.println("double value: " + d); // 9.78
        System.out.println("int value: " + i);   // 9
    }
}

'JAVA' 카테고리의 다른 글

Java 클래스와 객체  (0) 2024.06.23
Java Spring Security  (0) 2024.06.22
Java 자료형  (0) 2024.06.10
WebFlux: 반응형 프로그래밍을 이용한 비동기 웹 프레임워크  (0) 2024.06.09
Java 객체지향이란  (0) 2024.06.07