본문 바로가기

JAVA

[Java] 자바 연산자

자바 연산자: 프로그램에서 데이터를 처리하기 위한 기호

 

◆ 산술 연산자 (Arithmetic Operators)

  ■ 기본 산술 연산자:

    ○ ' + ' 덧셈 

     ' - '  뺄셈

     ' * '  곱셈

     ' / '  나누기 (몫)

     ' % '  나머지_mod (나눴을 때 몫말고 나머지)

 

   증감 연산자: 

     ' ++ '  증가 (++num1 --> 왼쪽에 있을 땐 +1 / num1++ --> 오른쪽에 있을 땐 +0)

     ' -- '   감소 (--num1 --> 왼쪽에 있을 땐 -1 / num1--  --> 오른쪽에 있을 땐 -0)

        전위(prefix) 및 후위(postfix) 사용 가능:

int a = 5
System.out.println(++a);    // 6 (증가 후 사용)
System.out.println(a++)   // 6 (증가 후 사용)

 

◆ 할당 연산자 (Assignment Operators)

      = (기본 할당)

     +=, -=, *=, /=, %= (오른쪽에 있는 걸 왼쪽에 연산후 왼쪽에 넣는다)

ex)

int 5; 
a += 3;   //    a = a + 3 과 동일

 

비교 연산자 (Comparison Operators)

    ○ ' == '  같음

    ○ ' != '   다름

    ○ ' > '    크다

    ○ ' < '    작다

    ○ ' >= '  크거나 같다

    ○ ' <= '  작거나 같다

※ 주의: 객체 비교 시 equals( ) 메소드 사용 권장

 

논리 연산자 (Logical Operators)

    ○ ' && '  AND 그리고

    ○ ' || '     OR    또는

    ○ ' ! '      NOT   둘다 아님

단축 평가 (short-circuit evaluation) 지원:

if (obj ! = null && obj. method ( ) == true ) {
                //  obj가 null이 아닐 때만 method( ) 호출
 }

 

비트 연산자 (Bitwise Operators)

    ○ ' & '      비트 AND 

    ○ ' | '        비트 OR

    ○ ' ^ '       비트 XOR

    ○ ' ~ '       비트 NOT

    ○ ' << '     왼쪽 시프트

    ○ ' >> '     부호 있는 오른쪽 시프트

    ○ ' >>> '   부호 있는 왼쪽 시프트

ex) 

int a = 5;      //  0101 in binary
int b = 3     //   0011 in binary
System.out.println(a & b);      //    0011 in binary (1 in decimal)

 

삼항 연산자 (Ternary Operators)

    ○ 조건 ? 표현식1 : 표현식2

ex) 

int result (b) ? a b;    // a와 b 중 큰 값 선택

 

  instanceof 연산자

    ○ 객체가 특정 클래스의 인스턴스인지 확인:

if (obj instanceof String) {
         String str (String) obj ; 
 }

 

연산자 우선순위

  1. 후위 증감 (expr++, expr--)
  2. 전위 증감 (++expr, --expr) 및 단항 (+, -, ~, !)
  3. 곱셈, 나눗셈, 나머지 (*, /, %)
  4. 덧셈, 뺄셈 (+, -)
  5. 시프트 (<<, >>, >>>)
  6. 관계 (<, >, <=, >=, instanceof)
  7. 동등 (==, !=)
  8. 비트 AND (&)
  9. 비트 XOR (^)
  10. 비트 OR ( | )
  11. 논리 AND (&&)
  12. 논리 OR ( ||)
  13. 삼항 (?:)
  14. 할당 (=, +=, -=, /=, %=, ^=, |=, <<=, >>=, >>>=)

문자열 연결 연산자

    ○ ' + ' 연산자를 사용하여 문자열 연결:

String str = "Hello" " " "world"    // "Hello world"

 

연산자 오버로딩

    ○ 자바는 연산자 오버로딩을 지원하지 않음 (단, String  클래스의 + 연산자는 예외)

 

비트 연산자의 특수 용도

    ○ 플래그 설정 및 해제:

int flags 0
flags | = 0x1       // 첫 번째 비트 설정
flags & = ~0x1   // 첫 번째 비트 해제

 

null 안전 연산자 (Java 8+)

    ○ Optional 클래스와 함께 사용

Optional<String> name Optional.ofNullable(getName( ));
String result name.orElse("Unknown");

 

메소드 참조 연산자 (Java 8+)

    ○ :: 연산자를 사용하여 메소드 참조:

List<String> name Arrays.asList("Alice", "Bob", "Charlie");
name.forEach(System.out :: println);

 

람다 표현식 연산자 (Java 8+)

    ○ - > 연산자를 사용하여 람다 표현식 정의:

Runnable r = () -> System.out.println("Hello, world! );

 

 

'JAVA' 카테고리의 다른 글

[Java] 수업 정리 _ 2 (24.11.06)  (0) 2024.11.06
[Java] 수업 정리 _ 1 (24.11.06)  (1) 2024.11.06
[Java] 자바 상수 정리  (1) 2024.11.06
[Java] 자바 변수 정리  (0) 2024.11.06
[Java] 자바 개념  (0) 2024.11.06