본문 바로가기
JAVA

연산자

by winteringg 2022. 8. 14.

1. 연산자
1) 연산자 (operator) : 항을 이용하여 연산하는 기호

2. 대입 연산자 (Assignmet Operator)
1) 이항 연산자
2) 변수에 변수나 값을 대입하는 연산자 (int age = 20;)
3) 이항 연산자 중 우선순위가 가장 낮은 연산자
4) '=' 기호 연산자로 오른쪽의 값이 왼쪽의 변수에 대입될 때 사용.

3. 부호 연산자
1) 단항 연산자
2) 변수의 부호를 유지하거나(+) 바꿈(-)
3) 부호 연산자 자체에 대입의 의미가 없기 때문에 실제 변수의 부호가 변하려면 대입 연산자와 같이 사용해야 함.

4. 산술 연산자
1) 사칙 연산자 (+(더하기), -(빼기), *(곱하기), /(나누기), %(나머지))

사칙 연산자

5. 복합 대입 연산자
1) 대입 연산자와 다른 연산자가 함께 사용. (+=, -=, *=, /=, %=)

복합 대입 연산자

6. 증감 연산자
1) 단항 연산자로 변수의 값에 1을 더하거나 1을 뺄 때 사용. 연산자가 변수 앞에 있는지 뒤에 있는지에 따라 결과 값이 달라 짐. 연산자가 값의 앞에 있으면 값이 먼저 증가한 후 변수에 대입 되고, 값의 뒤에 있다면 대입이 먼저 된 이후 값이 증가하게 됨.

증감 연산자

7. 비교 연산자 (관계 연산자)
1) 두 피연산자를 비교해 결과값으로 논리 값인 true나 false를 반환함.

    int x = 2;
    int y = 1;

    ==      x == y     x와 y는 같다                false
    !=       x != y      x와 y는 같지 않다          true
    >        x > y       x는 y보다 크다             true
    >=      x >= y     x는 y보다 같거나 크다    true
    <        x < y       x는 y보다 작다             false
    >=      x >= y     x는 y보다 작거나 같다    false

 

8. 논리 연산자
1) 관계 연산자와 혼합하여 많이 사용 됨.
2) 연산의 결과가 true, false 로 반환 됨.
3) 연산자
        && (논리곱, And)   =>  두 항이 모두 참이면 결과값이 참, 그렇지 않은 경우 거짓
        || (논리합, Or)    =>  두 항 중에 하나의 항이라도 참이면 결과값이 참, 두 항이 모두 거짓이면 결과값은 거짓
        !  (부정, Not)     =>  값이 참인 경우 거짓으로 변경, 값이 거짓이면 참으로 변경
4) 논리 연산 진리표
        A            B            A && B           A || B         !A 
        ----------------------------------------------
        true        true          true              true          false
        true        false         false             true          false
        false       true          false             true          true
        false       false         false             false         true

5) 논리 연산에서 모든 항이 실행되지 않는 경우 (SCE, Short Circuit Evaluation)
  - 최단 거리 평가
  - 연산의 효율 및 속도 향상을 위해 불필요한 연산을 수행하지 않는 기능.
  - 논리곱 : 두 가지 다 참이어야 함. 
    => 두 항 중에 앞의 항이 거짓이면 뒤의 항은 굳이 연산하지 않고 결과값이 출력 됨.
  - 논리 합 : 두 가지 중에 하나라도 참이면 참.
    => 두 항 중에 앞의 항이 참이면 뒤의 항은 굳이 연산하지 않고 결과값이 출력 됨.

SCE 예시


9. 조건 연산자
1) 삼항 연산자
2) 주어진 조건식이 참인 경우와 거짓인 경우 다른 결과값을 나타내주는 연산자
  - 조건식의 결과가 true 인 경우와 false 인 경우에 따라서 다른 결과가 수행 됨.
3) 조건식 ? 참일 때 실행 : 거짓일 때 실행;
   조건식 ? (참이면)결과 1 실행  :  (거짓이면)결과 2 실행

10. 비트 연산자
1) 비트 단위로 논리 연산을 수행
  - & (논리곱 AND) : 두 비트 모두 1일 경우에만 연산 결과가 1
  - | (논리합 OR) : 두 비트 중 하나라도 1일 경우 연산결과가 1
  - ^ (배타적 논리합 XOR) : 두 비트중 하나는 1이고 다른 하나가 0일 경우에만 연산결과가 1
  - ~ (논리 부정 NOT) : 0이면 1이고, 1이면 0

11. 단항, 이항, 삼항 연산자
1) 연산자를 항 개수로 구분.
2) 단항 연산자 : 하나의 피연산자만으로 이루어진 식으로 연산 수행 (ex. ++x, y--)
3) 이항 연산자 : 피연산자를 두 개 가지고 식을 구성.
4) 삼항 연산자 : 항이 세 개 있어야 함.

항과 연산자


11. 연산자 우선순위
    우선 순위           종류            연산자
    ---------------------------------------------
        1                               .  []  ()
        2               단항            ++  --  !  +  -
        3               산술            *  /  %
        4               산술            +   -
        5               비교            <  <=  >  >=
        6               관계            ==   !=
        7               논리곱          &&
        8               논리합          ||
        9               조건            ?  :
        10              대입            =  +=  -=  *=  /=  %=

'JAVA' 카테고리의 다른 글

패키지 (package) 와 import  (0) 2022.08.14
객체 지향 프로그래밍  (0) 2022.08.14
관심사의 분리(separation of concerns, SoC)  (0) 2022.08.14
상수와 리터럴  (0) 2022.08.14
변수와 자료형  (0) 2022.08.14

댓글