개발

8. 연산자(Operator) 본문

Backend/Java

8. 연산자(Operator)

Study 2021. 7. 17. 22:26

 

안녕하세요 

연산자에 관해 포스팅 해보겠습니다.

일단 자바의 연산자의 종류에는 

종류  연산자 
괄호(최우선) ( ), [ ] 
단항 연산자  ++, --, +, -, (type), !, ~ 
산술 연산자 %, /, *, +, - 
시프트 연산자 >>, <<, >>> 
관계 연산자 <, <=, >, >=, ==, != 
논리 연산자 &, ^, |, ~, &&, || 
삼항 연산자 ()? : 
대입 연산자  =, +=, -=, *=, %=, /=, >>=, <<= 

이정도가 있는데요

자바스크립트도 동일하고 대부분 다 아실테니 시프트에 관해서만 살짝 짚고 넘어가겠습니다.

 

정수형데이터에서만 사용가능하며 2진수로 표현했을때 각 자리를 오른쪽 또는 왼쪽으로 이동 합니다.
오른쪽으로 n비트 이동하면 피연산자를 2의 n승으로 나눈 것과 같은 결과이다.
'<<' 연산자의 경우, 피연산자의 부호에 상관없이 자리를 왼쪽으로 이동시킵니다.
'>>' 연산자는 음수인 경우 부호를 유지시켜주기 위해서 빈자리를 1로 채웁니다.
'>>>' 연산자는 부호에 상관없이 항상 0으로 빈자리를 채워줍니다.

 

예제입니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Shift {
    public static void main(String args[]){
        int temp;
        System.out.println(-8);
        System.out.println(Integer.toBinaryString(-8));
 
        temp = -8 << 3;
        System.out.println("-8 << 2 = " + temp);
        System.out.println(Integer.toBinaryString(temp));
 
        temp = -8 >> 3;
        System.out.println"-8 >> 2 = " + temp);
        System.out.println(Integer.toBinaryString(temp));
 
        temp = -8 >>> 3;
        System.out.println"-8 >>> 2 = " + temp);
        System.out.println(Integer.toBinaryString(temp));
    }
}
 
cs

 

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

10. 흐름 제어 점프문  (0) 2021.07.18
9. 흐름 제어 선택문  (0) 2021.07.17
7. Enum 형식  (0) 2021.07.13
6. byte, short, int, long 자료형 (정수 자료형)  (0) 2021.07.13
5. float, double, Bigdecimal 자료형 (실수 자료형)  (0) 2021.07.11