본문 바로가기
Java/데이터형과 연산자

Operator

by 요섹남 2021. 11. 23.

1. 연산자

    - 연산자는 어떠한 기능을 수행하는 기호(+, -, *, / 등)로 피연산자와 함께 사용

        * 피연산자 : 연산자의 작업 대상

    - 연산자의 종류

        * 단항 연산자 : +, - , ++, --, ~, !

          * 증감연산자(++, --)

(증감 연산자가 앞에 오는 경우와 뒤에 오는 경우 비교 => 앞에 오면 더하고 난 후의 값 후 수행, 뒤에 오면 더하기 전의 값 후 수행)

          * 부호연산자(+, -), 논리 부정연산자(!)

            * 부호연산자 : + 는 피연산자에 * 1, - 는 피연산자에 * -1

            * 논리부정연산자( ! ) : true를 false로 false를 true로 변환

          * 비트전환연산자( ~ )

            * 2진수로 변환 후 0을 1로, 1을 0으로 변환 한다(보수형태)

         * 타입변환연산자

      * 이항 연산자(산술, 비교, 논리)

         * (byte, char, short)의 연산 시 결과는 int로 바뀜

산술: 사칙연산(+, -, *, /), 나머지연산자(%)

            *시프트연산자 : <<, >>, >>>

                * << : 이진수를 좌측으로 이동(좌측 이동 시, 빈 칸을 0으로 채운다.)

                * >> : 이진수를 우측으로 이동(우측 이동 시, 빈 칸은 그 옆의 숫자를 따라감, 즉 부호가 바뀌지 않는다.)

                * >>> : 이진수를 우측으로 이동(우측 이동 시, 빈 칸을 0으로 채운다. 즉 부호가 바뀔 수도 있음)

            * 비교연산자 : >, <, <=, >=, ==, !=

                * 비교연사자의 결과는 (true / false)로 반환됨 [제어문(조건 / 반복)에 주로 쓰임]

// 비교연산자

boolean res1 = 10 < 20;

System.out.println(res1);

System.out.println(10 >= 20);

System.out.println(10 == 10);

System.out.println(10 != 10);

// char 비교도 가능

System.out.println('A' < 'B');

System.out.println('A' == 65);

System.out.println(10.0d == 10.0f); // 2진수로 변환 후 비교

[true] //

[1000000001001000000000000000000000000000000000000000000000 00000]

System.out.println(0.1d == 0.1f); // 2진수로 변환 후 비교

[false]

//

[1111111011100110011001100110011001100110011001100110011001 1010]

//

[11111110111001100110011001100110100000000000000000000000000000000~]

 

          * 비트연산자(&, |, ^)

 

// 비트연산자 & (and)

int m1 = 10, m2 = 9;

int m3 = m1 & m2;

System.out.println(m3); // 1010과 1001의 and 연산 결과는 1000

 

// 비트연산자 | (or)

int m3 = m1 | m2;  // 1010과 1001의 or 연산 결과는 1011.

// 비트연산자 ^ (xor)

int m3 = m1 ^ m2; // 1010과 1001의 xor 연산 결과는 0011

 

          * 논리연산자 : &&, | |, &, ^, | 

{"originWidth":862,"originHeight":300,"style":"alignCenter","caption":"&& 연산은 앞의 구문이 true일 때만, 뒤에 구문을 체크한다.(and),

          * 삼항연산자 : ? :

               * 간단한 조건식에 사용

          * 대입연산자 : =, +=, -=, *=, /=, %=

               * 오른쪽 피연산자의 값을 외쪽 피연산자에 저장한다. 단 왼쪽 피연산자는 상수가 아니어야한다.

- 연산자의 우선 순위

  * 1.단항연산자 2.산술연산자 3.비교연산자 4.논리연산자 5.삼항연산자 6.대입연산자

'Java > 데이터형과 연산자' 카테고리의 다른 글

Data Type  (0) 2021.11.23