본문 바로가기
IT/Java

연산자

by 봉즙 2019. 6. 16.

연산자 : 연산을 수행하는 기호(+, -, *, / 등)이며 연산자는 피연산자로 연산을 수행하고 나면 항상 결과 값을 반환.

피연산자 : 연산자의 작업대상(변수, 상수,  리터럴, 수식)

evaluation : 연산자를 사용할 때, 식을 평가하지 않으면 결과는 얻었지만, 값은 어디에도 쓰이지 않고 사라지게 된다.

연산자의 종류

 

단항연산자(ex. ++, --, +, -, ~, !, (type))와 대입연산자(ex. =, +=, <<= 등)을 제외한 연산의 진행방향은 왼쪽에서 오른쪽이다.

 

단항연산자

  • 증감 연산자(++) : 피연산의 값을 1 증가시킨다.
  • 감소 연산자(--) : 피연산자의 값을 1감소 시킨다.

※증감 연산자에는 전위형과 후위형이 있으며 전위형은 값이 참조되기 전에 증감시키며, 후위형은 값이 참조되고 난 후에 증감시킨다. (전위형 : ++ i, 후위형 : i++)

  • 부호 연산자 : -는 피연산자의 부호를 반대로 변경한 결과

산술 연산자

  • 사칙 연산자 : + - * /  올바른 연산 결과를 얻기 위해서 두 피연산자중 어느 한쪽을 실수형으로 형변환하면 다른쪽도 자동형변환이 되어 실수의 값을 얻을 수 있다. 실수의 경우 0을나누면 에러가 나지 않지만 정수의 경우 에러가 생긴다.
    byte의 경우에도 컴파일러가 byte형을 int형으로 형변환 시켜주기에 byte 타입에 저장하려 하면 에러가 생긴다.
  • 나머지 연산자 : 왼쪽의 피연산자를 오른쪽 피연산자로 나누고 난 나머지 값

비교연산자

  •  대소비교 연산자 : < > <=  >=  참이면 true 거짓이면false를 반환한다. boolean을 제외한 나머지 자료형에서는 사용가능하지만 참조형에서는 사용 불가능하다.
  • 등가비교 연산자 : == != 두피연산자의 값이  같은지 또는 다른지를 비교하는 연산자이다. 기본형과 참조형 모든 자료형에서 사용가능하다. 참조형에서는 객체의 주소값을 비교한다.
  • 문자열 비교 : == 대신 .equals를 사용하여야 한다. 두문자열이 완전히 같은것임을 비교할 뿐이며 문자열은 상수로 취급되어  따로 저장된다. 마찬가지로 true false를 반환한다.

논리연산자

  • ||(or 결합) : 피연산자중 어느 한쪽만 true이면 true를 결과로 얻는다.
  • &&(and결합) : 피연산자 양쪽 모두 true여야 true를 결과로 얻는다.

비트연산자

  • |(or연산자) : 피연산자 중 한쪽의 값이 1이면 1을 결과로 얻으며 그 외는 0을 얻는다.
  • &(and연산자) : 피연산자 양 쪽이 모두 1이여야만 1을 결과로 얻는다. 그외에 0을 얻는다.
  • ^(XOR 연산자) : 피연산자의 값이 서로 다를때만 1을 결과로 얻는다. 같을때는 0을 얻는다.
  • ~(비트전환 연산자) : 피연산자를 2진수로 표현 하였을때, 0은 1로 1은 0으로 바꾼다. 논리부정 연산자의 !와 유사하다.
  • 쉬프트연산자 : << >> 2진수로 표현시 오른쪽 또는 왼쪽으로 이동하는 것을 말한다.

조건연산자

  • 조선식 ? 식1 : 식2 : 형태인데 조건식이 참이면 식1이나오고 거짓이면 식 2가 출력되는 형태이다.

대입연산자

=  op= 변수와 같은 저장공간에 값 또는 수식의 연산결과를 저장하는데 사용

복합 대입 연산자

대입연산자는 다른 연산자(op)와 결합하여 op= 과 같은 방식으로 사용될 수 있다. (ex += )

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

반복문  (0) 2019.06.17
조건문  (0) 2019.06.17
형변환  (0) 2019.06.15
bit  (0) 2019.06.15
Scanner  (0) 2019.06.15

댓글