
[Java] 연산자(Operator)
헤이베이지 HeyBeige
·2020. 12. 29. 16:30
연산자(Operator)
연산자란 '연산을 수행하는 기호'를 말한다. 자바에서는 사칙연산(+,-,*,/)을 비롯해서 다양한 연산자들을 제공한다.
연산자가 수행하려면 반드시 연산의 대상이 있어야 하는데, 이것을 '피연산자(Operand)'라고 한다
연산자(Operator) → 연산을 수행하는 기호
피연산자(Operand) → 연산자의 작업 대상(변수, 상수, 리터럴, 수식)
[ x + 3 → 밑줄 : 피연산자 / (+)기호 : 연산자 ]
연산자의 종류
종류 | 연산자 | 설명 |
산술 연산자 | + - * / % << >> | 사칙 연산과 나머지 연산 |
비교 연산자 | > < >= <= == != | 크고 작음과 같고 다름을 비교 |
논리 연산자 | && || ! & | ^ ~ | '그리고(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 |