산술 연산자
- 더하기 ( + )
- 빼기 ( - )
- 곱하기 ( * )
- 나누기 ( / )
- 나머지 구하기 ( % )
나누기 ( / ) 의 경우 연산 대상에 따라서 그 연산 행위가 달라진다.
- 정수끼리만 나눌 경우 몫을 구한다 ( 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 |