[Java] 연산자

2025. 2. 1. 17:32·TIL/Java

산술 연산자

  • 더하기 ( + )
  • 빼기 ( - )
  • 곱하기 ( * )
  • 나누기 ( / )
  • 나머지 구하기 ( % )

나누기 ( / ) 의 경우 연산 대상에 따라서 그 연산 행위가 달라진다.

  • 정수끼리만 나눌 경우 몫을 구한다 ( 5 / 2 = 2 )
  • 실수가 포함되어 나눌 경우 실수에서의 나눗셈을 한다 ( 5.0 / 2 = 2.5 )

 

비교 , 논리 연산자

결과로 참 ( true ) 혹은 거짓 ( false ) 가 나오게 되는 연산자이다.

비교 연산자

  • 같다 ( == ) 
  • 같지 않다 ( != )
  • 크다, 작다 ( < , > )
  • 같거나 크다, 같거나 작다 ( <= , >= )

논리 연산자

  • 양쪽 모두 참 ( true ) 이다 ( && )
  • 양쪽 중 하나 이상이 참이다 ( || )
  • ^ ( 양쪽의 논리 타입이 서로 반대이다 )

논리 연산자의 계산

  • && 연산자를 사용했을 때, 연산자 앞의 결과가 false 라면 연산자 이후 문장을 확인하지 않는다.
int i = 0 ;
boolean a = ( i == 1 && i == i++ ); // 이 때 후위증감자가 실행되지 않는다.
System.out.println(i);

// 출력 결과는 0

 

비트 연산자

  • 비트 값이 모두 1이다 ( & )
  • 비트 값 중 하나 이상이 1 이다 ( | )
  • 비트 값이 서로 다르다 ( ^ )
  • 비트 값 반전 ( ~ )
  • 시프트 연산 ( << , >> )
  • 양수화 시프트 연산 ( >>> )

시프트 연산 ( << , >> )

  • 시프트 연산은 부호 비트를 제외하고, 명시된 수만큼 비트들을 이동시키고 빈자리를 0으로 채우는 것이다.
  • int a = 4 => 0000 0100
  • int b = a >> 1 일 때 , 비트 연산 결과는 0000 0010 이므로 b = 2이다
  • 즉 우측 시프트 연산은 다음과 같다. 원래 값 / 2 ^ ( 시프트 연산 횟수 )
  • 또한 좌측 시프트 연산은 다음과 같다. 원래 값 * 2 ^ ( 시프트 연산 횟수 )

양수화 시프트 연산 ( >>> )

  • 양수화 시프트 연산은 부호 비트를 포함하여 이동시키게 되어서 부호 비트가 항상 0이 된다.

'TIL > Java' 카테고리의 다른 글

[Java] 자바의 객체 지향 문법  (0) 2025.02.03
[Java] 클래스의 필드와 메서드  (1) 2025.02.01
[Java] 자바 객체 지향 프로그래밍  (0) 2025.02.01
[Java] 자바의 변수와 타입  (1) 2025.01.31
[Java] 자바 시작  (0) 2025.01.30
'TIL/Java' 카테고리의 다른 글
  • [Java] 클래스의 필드와 메서드
  • [Java] 자바 객체 지향 프로그래밍
  • [Java] 자바의 변수와 타입
  • [Java] 자바 시작
Charlie.han
Charlie.han
백엔드 개발자가 되기 위해 공부한 것들(Java, Spring, SQL, 네트워크, AWS 등)을 기록하고 공유하는 블로그입니다.
  • Charlie.han
    Chalie's Devlog
    Charlie.han
  • 전체
    오늘
    어제
    • 분류 전체보기 (32)
      • TIL (32)
        • Java (20)
        • Spring (2)
        • SQL (5)
        • 알고리즘 (4)
        • 트러블슈팅 (1)
      • WIL (0)
        • 카카오테크 부트캠프 (0)
  • 태그

    default메서드
    jdk란?
    불변객체
    프로그래머스
    object
    묵시적형변환
    컬렉션프레임워크
    데이터베이스
    프로그래머스 베스트앨범 자바
    인터페이스
    sql limit
    인스턴스
    자바
    프로그래머스 베스트앨범
    static메서드
    string
    프로그래머스 소수찾기
    Java
    unsupported characters for the charset 'iso-8859-1'
    인텔리제이한글
    프로그래머스 소수찾기 자바
    타입안전열거형
    인텔리제이 한글 깨짐
    static 필드
    참조공유
    SQL
    제네릭 클래스
    다형성
    super()
    sql where
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Charlie.han
[Java] 연산자
상단으로

티스토리툴바