본문 바로가기
IT/자바

[JAVA] 연산자

by 장장구리 2024. 4. 25.

목표

자바가 제공하는 다양한 연산자를 학습하세요.

학습할 것

  • 산술 연산자
  • 비트 연산자
  • 관계 연산자
  • 논리 연산자
  • instanceof
  • assignment(=) operator
  • 화살표(->) 연산자
  • 3항 연산자
  • 연산자 우선순위
  • (optional) Java 13. switch 연산자

1. 산술 연산자

산술 연산자는 숫자 값을 다루는 기본적인 연산자입니다.

  • 종류:
    • + : 더하기
    • - : 빼기
    • * : 곱하기
    • / : 나누기
    • % : 나머지
  • 예제:
int a = 10;
int b = 3;
System.out.println(a + b); // 13
System.out.println(a - b); // 7
System.out.println(a * b); // 30
System.out.println(a / b); // 3
System.out.println(a % b); // 1

2. 비트 연산자

비트 연산자는 비트 단위로 데이터를 처리할 때 사용됩니다.

  • 종류:
    • & : 비트 AND
    • | : 비트 OR
    • ^ : 비트 XOR
    • ~ : 비트 NOT
    • << : 왼쪽 시프트
    • >> : 오른쪽 시프트
    • >>> : 부호 없는 오른쪽 시프트
  • 예제:
int a = 5;  // 0101
int b = 3;  // 0011
System.out.println(a & b); // 1
System.out.println(a | b); // 7
System.out.println(a ^ b); // 6
System.out.println(~a);    // -6
System.out.println(a << 1); // 10
System.out.println(a >> 1); // 2
System.out.println(a >>> 1); // 2

3. 관계 연산자

관계 연산자는 두 값을 비교할 때 사용됩니다.

  • 종류:
    • == : 같음
    • != : 같지 않음
    • < : 작음
    • > : 큼
    • <= : 작거나 같음
    • >= : 크거나 같음
  • 예제:
int a = 10;
int b = 20;
System.out.println(a == b); // false
System.out.println(a != b); // true
System.out.println(a < b);  // true
System.out.println(a > b);  // false
System.out.println(a <= b); // true
System.out.println(a >= b); // false

4. 논리 연산자

논리 연산자는 논리적인 조건을 결합하거나 반전할 때 사용됩니다.

  • 종류:
    • && : 논리 AND
    • || : 논리 OR
    • ! : 논리 NOT
  • 예제:
boolean x = true;
boolean y = false;
System.out.println(x && y); // false
System.out.println(x || y); // true
System.out.println(!x);     // false

5. instanceof

instanceof 연산자는 객체가 특정 클래스의 인스턴스인지 확인합니다.

  • 예제:
String str = "Hello";
System.out.println(str instanceof String); // true
Object obj = new Object();
System.out.println(obj instanceof String); // false

6. assignment(=) operator

= 연산자는 값을 변수에 할당할 때 사용됩니다.

  • 예제:
int x = 10;
System.out.println(x); // 10

7. 화살표(->) 연산자

화살표 연산자는 람다 표현식에서 사용됩니다.

  • 예제:
List<Integer> list = Arrays.asList(1, 2, 3, 4);
list.forEach(n -> System.out.println(n));

8. 3항 연산자

3항 연산자는 간단한 조건문을 작성할 때 유용합니다.

  • 형식:
    • condition? trueValue : falseValue
  • 예제:
int a = 10;
int b = 20;
int max = (a > b) ? a : b;
System.out.println(max); // 20

9. 연산자 우선순위

연산자에는 우선순위가 있어 복합적으로 사용될 때 어떤 연산이 먼저 수행될지 결정합니다.

  • 예제:
int result = 10 + 2 * 5; // 10 + (2 * 5) = 20
System.out.println(result); // 20

10. (Optional) Java 13. switch 연산자

Java 13부터 switch는 표현식으로도 사용할 수 있게 되었습니다.

  • 예제:
int day = 5;
String dayType = switch (day) {
    case 1, 2, 3, 4, 5 -> "Weekday";
    case 6, 7 -> "Weekend";
    default -> "Invalid day";
};
System.out.println(dayType); // Weekday