연산자란 연산을 목적으로 정의된 기호이다.
자바의 모든 연산 기호는 다음과 같다.
1. 이항 연산자
나눗셈에서 정수형인지 실수형인지에 따라서 결과값이 달라지는 점을 주의해야 한다.
7/3 을 정수형으로 끼리 나누면 정수형 결과인 2로 나오고
7.0 / 3.0 과 같이 실수형 끼리 나누면 실수형 결과인 2.3333333333333335 가 나온다.
2. 복합 (Compound) 대입 연산자
다음과 같이 a 에 a 와 다른 값과의 연산값을 넣는 방식은 표의 우측과 같이 바꿔서 표현할 수 있다.
3. 관계 연산자
관계 연산자는 두개의 피연산자 사이에서 관계를 따져주는 이항 연산자이다.
따라서 비교 연산자 라고도 한다.
해당 연산을 통해서 true, false 의 값을 반환한다.
4. 논리 연산자
이는 신호와 해석을 배우면 가장 기본적으로 배우는 내용이다.
5. Short-Circuit-Evaluation
result = ((a +=10) < 0) && ((b +=10) < 0);
와 같은 문장이 있다.
이 문장 내에서 a 와 b 는 10씩 증가하는 연산이 이루어 지므로 a 와 b 는 10씩 증가할 것으로 예상할 수 있지만 그렇지 않다.
이는 Short-Circuit-Evaluation 특성 때문인데
((a +=10) < 0) 가 false 를 반환 하면서 이 뒤의 ((b +=10) < 0) 연산이 생략되어 버린다.
이러한 일을 피하기 위해 한 문장 안에서 모든 것을 처리하지 않고 a+=10 과 b+=10 을 판단문보다 먼저 작성하는 식으로 코드를 짜는 것이 좋다.
6. 증가 및 감소 연산자 (Perfix)
변수의 값을 증가시키는 연산자로 for 문에서 상당히 많이 쓰인다.
a++; 와 같이 표현하여 a 의 값을 1 증가시키는데, 표현 방법이 2가지가 있다.
++a 와 a++ 인데 증감 연산자가 앞에 붙으면 해당 문장에서 1증가 하며, 뒤에 붙으면 해당 문장이 끝나고 다음 문장이 실행될때 1이 증가한다.
이 특성을 알아두고 적절히 사용하여야 한다.
7. 비트 연산자
비트연산자는 각각의 비트를 대상으로 연상을 진행하는 연산자이며 피연산자는 반드시 정수이어야 한다.
하드웨어 컨트롤에서 많이 사용하며 실제로 업무에서도 비트 제어에서 많이 사용하였다.
AND 연산은 두 비트 모두 1일때 1, 둘 중 하나 이상이 0이면 0을 반환
OR 연산은 두 비트 중 하나 이상이 1이면 1을 반환
XOR 는 두 비트 값이 서로 다르면 1, 같으면 0 을 반환
으로 계산한다.
8. 비트 쉬프트(Shift) 연산자
비트의 이동을 하는 연산자로 특정 비트를 컨트롤 할때 사용한다.
7의 비트 연산자로도 특정 비트를 0이나 1로 만들어 제어 하기도 하지만 해당 쉬프트를 이용 하는 경우도 있다.
사용 방법은 a << 2 이런식으로 a 의 모든 비트를 왼쪽으로 2칸씩 움직이게 만드는 방식이다.
'JAVA' 카테고리의 다른 글
[JAVA] 메소드 Method (자바 독학하기 7) (0) | 2021.06.08 |
---|---|
[JAVA] 실행 흐름 컨트롤 (자바 독학하기 6) (0) | 2021.06.07 |
[JAVA] 상수(Constants) (자바 독학하기 4) (0) | 2021.06.03 |
[JAVA] 변수(Variables) (자바 독학하기 3) (0) | 2021.06.01 |
[JAVA] JAVA 기본 골격 및 System.out.println (자바 독학하기 2) (0) | 2021.06.01 |