Jun's Blog

[Java] 연산자 본문

Java

[Java] 연산자

Fizzyelf 2020. 9. 2. 20:13

연산자

 

1. 연산자 기본
    - 단항 연산자
      : ++, --, +, -, ~, !(not), (타입) <- cast연산자
    - 이항 연산자
      : 산술 연산자
       ->  +, -, *, /, %, <<, >>, >>>(shift연산자)
       : 비교 연산자
       ->  <, >, <=, >=, ==, !=, instanceof
       : 논리 연산자
       ->  &, |, ^, &&, ||

  
    - 삼항연산자
      : __?__ :__
 
    - 대입연산자
      : =, op=
 
2. 연산우선순위
    - 단항 > 이항 > 삼항 > 대입
    - 산술 > 비교 > 논리 > 대입

 

3. 증감연산자(++, --)    특징: 자신의 타입
    - 증가연산자(++) : 피연산자의 값을 1 증가시킨다.
    - 감소연산자(--) : 피연산자의 값을 1 감소시킨다.

 

4. 부호연산자 ( + , -)
    - 기본 자료형 중에 boolean, char를 제외한 나머지 자료형에 사용 가능
  
5. 비트연환 연산자 (~)
    - 정수형과 char 형에만 사용이 가능.
    - 피연산자를 2진수로 표현하였을 때 0은 1로 1은 0으로 바꾼다.
      10 00001010
    ~10 11110101 => 1의 보수 = -11 
    ~10+1 11110110 => 2의 보수 = -10

 

6. 논리부정 연산자 ( ! )
  - boolean형에만 사용 가능하다.
  - true -> false, false -> true

 

7. 산술연산자
    - 사칙연산자 (+, -, *,/), 나머지 연산자 (%), 쉬프트 연산자(<<,>>,>>>)는 두 개의 피연산자를 취하는 이항연산자이다.
    - 이항연산을 할 때는, 두 개의 피연산자 모두 4byte형 보다 작은 경우에는 둘 다 4byte형인 int로 변환하여 연산을 수행한다.
 
8. 사칙연산자  (+, -, *,/)
    - 두 개의 피연산자 중 하나 이상이 4byte형 보다 큰 경우에는 큰 자료형으로 변환 후 연산
      : int + float => float + float -> float 
    - 두 개의 피연산자 모두 4byte형 보다 작은 경우에는 둘 다 int형으로 변환 후 연산
      : byte + short -> int + int 
    - 정수형 간의 나눗셈에서 0으로 나누는 것은 금지

 

9. 쉬프트 연산자 ( <<, >>, >>> )
    - 정수형 변수에만 사용이 가능하다.
    - 피연산자의 각자리 (2진수)를 오른쪽 또는 왼쪽으로 이동한다.
    - 곱셈과 나눗셈을 할 때 연산속도가 매우 뛰어나다.
    - << : x << n -> x*2^n
    - >> : x >> n -> x/2^n

 

10. 비교연산자
    - 두 개의 변수 또는 리터럴을 비교하는 데 사용된다.
    - 주로 조건문과 반복문의 조건식에 사용되며 연산 결과는 true 또는 false이다.
    - 이항연산자이다. 
  
11. 대소비교연산자 ( <, >, <=, >= )
    - 기본 자료형 중에 boolean 제외한 나머지 자료형에 사용이 가능하다.

12. 등가비교연산자 ( ==, != )
    - 모든 자료형에 사용이 가능하다.

 

-------------------------------------------------------------------------------
수식                                  연산 결과  
-------------------------------------------------------------------------------
x>y               x가  y보다 클 때만 true, 그 외에는 false
x<y               x가  y보다 작을 때만 true, 그 외에는 false
x>=y             x가  y보다 크거나 같을 때만 때만 true, 그 외에는 false
x<=y             x가  y보다 작거나 같을 때만 true, 그 외에는 false
x==y             x와 y가 같을 때만 true, 그 외에는 false
x!=y              x와 y가 다를 때만 true, 그 외에는 false

-------------------------------------------------------------------------------

 

13. 비트연산자 ( &,|, ^) and or xor 연산
    - 이진비트연산을 수행한다.
    - 실수형을 제외한 모든 곳에 사용 가능하다.
  
       | (OR연산) - 피연산자 중 한쪽의 값이 1이면 1의 결과를 얻는다.
      & (AND연산) - 피연산자 양쪽 모두 1이면 1의 결과를 얻는다.
      ^ (XOR연산) - 피연산자의 값이 서로 다르면 1의 결과를 얻는다.

 

14. 논리연산자 ( &&, ||)
    - 피연산자로 boolean형 또는 boolean형 값을 결과로 하는 조건식만 허용한다.
    - 조건식의 결합에 사용
    - '&&'이 '||'보다 연산 우선순위가 높다.


       || (OR) 결합 - 피연산자 중 어느 한쪽만 true이면 true의 결과를 얻는다.
       && (AND)결합 - 피연산자 양쪽 모두 true일 때 true의 결과를 얻는다.

 

15. 삼항연산자
    - 3 개의 피연산자를 필요로 하기 때문에 삼항연산자로 이름 지어졌다.
    - 삼항연산자의 조건식에는 연산 결과가 true 또는 false인 식이 사용되어야 한다
    - 기본구조
      (조건식) ? true일 때 수행 : false일 때 수행
  

 

 

Comments