No. 01 |
|
| |
연산자(operator)란? |
주어진 식을 계산하여 결과를 얻어내는 과정을 연산이라고 하며, 연산을 수행하는 기호를 연산자라고 한다.
자바의 연산 종류 및 연산자는 다양하지만, 하나씩 배워 나가면 쉽게 익숙해질 것이다.
▣ 연산자와 피연산자
연산을 수행하려면 반드시 연산의 대상이 있어야 하는데, 이를 피연산자(operand)라고 한다.
연산자(operator) : 연산을 수행하는 기호(+,-,*,/ 등)
피연산자(operand) : 연산자의 작업 대상(변수, 상수, 수식)
- 'a + 5'이라는 식이 있을 때, '+'는 두 피연산자를 더해서 결과를 반환하는 덧셈 연산자이고, 변수 x와 상수 3은 이 연산자의 피연산자이다.
- 연산자는 피연산자로 연산을 수행하고 나면 항상 결과값을 반환한다.
- 대부분의 연산자는 두 개의 피연산자를 필요로 하며, 하나 또는 세개의 피연산자를 필요로 하는 연산자도 있다.
No. 02 |
|
| |
연산자의 종류 |
연산자의 종류는 다양하지만 많이 사용하는 연산자는 일부분이다. 이미 알고 있는 연산자도 있을 것이다.
종류 |
연산자 | 설명 |
증감 |
++ -- | 피연산자에 저장된 값을 1증가 또는 감소 |
산술 |
+ - * / % | 사칙 연산과 나머지 연산(%) |
시프트 |
>> << >>> | 피연산자의 각 비트들을 대상으로 연산 |
비교 |
> < >= <= == != | 크고 작음과 같고 다름을 비교 |
비트 |
& | ^ ~ | 비트단위 논리 연산 |
논리 |
&& || ! ^ | 논리연산으로 결과값은 true 또는 false |
조건 |
? : | 조건문으로 참,거짓에 따라 작업을 수행 |
대입 |
= *= /= += -= &= ^= |= | 우변의 값을 좌변에 저장 |
▣ 연산자 우선순위와 결합규칙
식에 여러개의 연산자가 있는 경우, 우선순위가 높은 연산자를 먼저 처리한다.
동일한 우선순위의 연산자는 왼쪽에서부터 오른쪽으로 처리하나, 증감연산자와 대입연산자는 오른쪽에서 왼쪽으로 처리한다.
높음 낮음 |
++ -- |
형 변환(type casting) |
|
* / % |
|
+ - |
|
<< >> >>> |
|
<> <= >= |
|
== != |
|
& (비트 AND) |
|
^ (비트 XOR) |
|
| (비트 OR) |
|
&& (논리 AND) | |
|| (논리 OR) | |
? : (조건) | |
= += -= *= /= %= &= ^= |= |
No. 03 |
|
| |
산술 변환 |
이항 연산자는 두 피연산자의 타입이 일치해야만 연산이 가능하다. 피연산자의 타입이 서로 다르면 연산 전에 형변환 연산자로 타입을 일치시켜야한다.
다음과 같은 규칙으로 피연산자의 자동 형변환이 일어난다.
① 두 피연산자의 타입을 같게 일치시킨다.(더 큰 타입으로 일치)
② 피연산자의 타입이 int보다 작은 타입이면 int로 변환된다.
① 두 피연산자의 타입을 같게 일치시킨다.(더 큰 타입으로 일치)
long |
+ |
int | → |
long |
+ |
long |
→ |
long | |||
float |
+ |
int | → |
float |
+ |
float |
→ |
float | |||
double | + | float | → | double | + | double | → | double |
② 피연산자의 타입이 int보다 작은 타입이면 int로 변환된다.
byte | + | short | → | int | + | int | → | int | |||
byte | + | short | → | int | + | int | → | int |
'JAVA' 카테고리의 다른 글
[Java 14] 비교 연산자 (0) | 2017.11.23 |
---|---|
[Java 13] 산술 연산자 (0) | 2017.11.22 |
[Java 11] 자바에서 키 입력(Scanner) (1) | 2017.11.20 |
[Java 10] 자바의 출력문(println, printf) (2) | 2017.11.19 |
[Java 09] 형변환(casting) (0) | 2017.11.19 |