[Java] 연산자(Operator)

헤이베이지 HeyBeige

·

2020. 12. 29. 16:30

연산자(Operator)

연산자란 '연산을 수행하는 기호'를 말한다. 자바에서는 사칙연산(+,-,*,/)을 비롯해서 다양한 연산자들을 제공한다.

연산자가 수행하려면 반드시 연산의 대상이 있어야 하는데, 이것을 '피연산자(Operand)'라고 한다

 

연산자(Operator) → 연산을 수행하는 기호

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

 

[      +       →    밑줄 : 피연산자  / (+)기호 : 연산자      ]

 

연산자의 종류
종류 연산자 설명
산술 연산자 +  -  *  /  %  <<  >> 사칙 연산과 나머지 연산
비교 연산자 >  <  >=  <=  ==  != 크고 작음과 같고 다름을 비교
논리 연산자 &&  ||  !  &  |  ^  ~ '그리고(AND)' 와 '또는(OR)'으로 조건을 연결
대입 연산자 = 우변의 값을 좌변에 저장
기 타 (type)   ?:    instanceof 형변환 연산자, 삼항 연산자, instanceof 연산자

 

연산자의 결합규칙
종류 연산자 우선순위
단항 연산자 ++  --  +(부호)  -(부호)  ~  !  (type) 높음



















낮음
산술연산자 *   /   %
+   -
<<    >>
비교 연산자 <   >   <=   >=   instanceof
==     !=
논리 연산자 &
^
|
&&
||
삼항 연산자    ? :   
대입 연산자 =   +=   -=   *=   /=   %=
<<=   >>=    &=    ^=    |=

 

산술 변환(usual arithmetic conversion)

 이항 연산자는 두 피연산자의 타입이 일치해야 연산이 가능하므로, 피연산자의 타입이 서로 다르다면 연산 전에 형 변환한 연산자로 타입을 일치시켜야 한다.  예를 들어 int타입과 float 타입을 덧셈하는 경우, 형 변환 연산자를 사용해서 피연산자의 타입을 둘 다 int 또는 float로 일치시켜야 한다.

 

예제)

int num1 = 30;
float num2 = 23.2f;
 
float result = num2 + (float) num1; // 형변환하여 산술연산
float result2 = num2 + num1; //-> 큰 타입으로 형변환시 형변환연산자 생략 가능하다
// int result3 = num2 + num1; //문법오류 
 
System.out.println("result =" + result);
System.out.println("result2 =" + result2);
System.out.println("num1 + num2 =" + (num1 + num2)); // 자동 형변환되어 연산됨
cs

① 두 피연산자의 타입을 같게 일치시킨다. (보다 큰 타입으로 일치)

  • long + int -> long + long = long
  • float + int -> float + float = float
  • double + float -> double + double = double

② 피연산자의 타입이 int 보다 작은 타입이면 int로 변환된다. (byte , char, short <int)

  • byte + short -> int + int = int
  • char + short -> int + int = int

 

'개발 일지 > JAVA' 카테고리의 다른 글

[Java] 변수와 메서드  (0) 2021.01.11
[Java] 메소드(Method)  (0) 2021.01.07
[Algorithm] 선택정렬(Selection Sort)  (2) 2021.01.06
[Java]형식화된 출력 printf( )  (0) 2020.12.28
[Java] 변수(Variable)  (0) 2020.12.28
[Java] 자바 배우기 전 알아야 할 지식들  (0) 2020.12.28