Coding/Java

Java Operator(연산자)

heyoon2j 2020. 9. 15. 23:29

■ Java Operator(연산자)

 - 연산자(Operator) : 연산에 사용되는 표시나 기호

 - 피연산자(Operand) : 연산되는 데이터

 - 연산식(Expression) : 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것


1. 산술 연산자(Arithmatic Operators)

연산자 설명
+ 두 피연산자의 합
- 두 피연산자의 차
* 두 피연산자의 곱
/ 두 피연산자의 나눈 몫
% 두 피연산자의 나눈 나머지(Modulus)

 

* 주의사항

1) 실수 연산

System.out.println((6.0 - 5.9) * 10);     // 1이 아닌 0.99999가 나온다.

- 정확하게 계산해야 할 때는 부동소수점(실수) 타입을 사용하지 않는 것이 좋다. 실수 타입은 정확히 표현할 수 없어 근사치로 처리하기 때문이다. 정확한 계산이 필요하다면 정수 연산으로 변경한 뒤 연산해야 된다.

 

2) Overflow

System.out.println(Integer.MAX_VALUE / 2 * 3); // Overflow
System.out.println(Integer.MAX_VALUE + 1);

- MAX_VALUABLE 또는 MIN_VALUABLE의 값을 넘는 경우, Overflow 발생

- Overflow는 메모리가 표현할 수 있는 값을 넘는 경우를 말한다.

 

3) /, % 연산

- A / 0 => ArithmeticException 발생

- A % 0 => ArithmeticException 발생

- A / 0.0 => Infinity(무한대)

- A % 0.0 => NaN(Not a Number)

 


2. 대입 연산자(Assignment Operators)

연산자 설명
= 우측 피연산자의 값을 좌측 피연산자에 할당
+= a += b, a = a + b
-= a -= b, a = a - b
*= a *= b, a = a * b
/= a /= b, a = a / b
%= a %= b, a = a % b

 


3. 비교 연산자(Comparison Operators)

연산자 설명
< a < b, a가 b보다 작은가?
> a > b, a가 b보다 큰가?
<= a <= b, a가 b보다 작거나 같은가?
>= a >= b, a가 b보다 크거나 같은가?
== a == b, a가 b와 같은가?
!= a != b, a가 b와 다른가?

 


4. 논리 연산자(Logical Operators)

연산자 설명
& AND
| OR
! NOT
^ XOR
&& AND, Short Circuit
|| OR, Short Circuit

 

* Short Circuit Evaluation

 - 앞의 조건에 따라 뒤의 조건은 확인하지 않아, 불필요한 연산을 줄여 효율적이다

 

- 논리 곱(&&)은 두 항이 모두 true일 때만 결과가 true

 : 앞의 항이 false 이면 뒤 항의 결과를 평가하지 않아도 false임

 

- 논리 합(||)은 두 항이 모두 false 일 때만 결과가 false

 : 앞의 항이 true 이면 뒤 항의 결과를 평가하지 않아도 true임

 


5. 증감 연산자(Increment and Decrement Operators)

연산자 설명
++ (Prefix) 피연산자의 값을 1 증가한 후, 연산식 평가
++ (Postfix) 연산식을 평가한 후에 피연산자의 값을 1 증가
-- (Prefix) 피연산자의 값을 1 감소시킨 후, 연산식 평가
-- (Postfix) 연산식을 평가한 후에 피연산자의 값을 1 감소

 


6. 삼항 연산자(Ternary Operator)

연산자 설명
(condition) ? (true) : (false) (condition)이 true이면 (true) 연산을 리턴, false이면 (false) 연산을 리턴

 


7. 비트 연산자(Bitwise Operators)

• 논리 비트 연산자

연산자 설명
& Bitwise AND
| Bitwise OR
~ Bitwise INV
^ Bitwise XOR

 

 

• 이동 비트 연산자

연산자 설명
<< 좌측 피연산자의 각 비트를 왼쪽으로 우측 피연산자만큼 이동시킨다. 빈자리는 0으로 채운다.
>> 좌측 피연산자의 각 비트를 오른쪽으로 우측 피연산자만큼 이동시킨다. 빈자리는 Sign Bit로 채운다.
>>> 좌측 피연산자의 각 비트를 오른쪽으로 우측 피연산자만큼 이동시킨다. 빈자리는 0으로 채운다.

 

 

 

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

Java Loops(반복문)  (0) 2020.09.16
Java Conditional(조건문)  (0) 2020.09.16
Java - Thread  (0) 2020.08.26
Java Variable & Data Type  (0) 2020.07.02
Java 개발 환경 구축 및 컴파일 과정  (0) 2020.06.29