기본연산자
- 종류
- 산술, 대입, 증가, 감소, 비교, 논리 연산자 등
- 수식의 구조
val res = num1 + num2 |
- = : 대입 이항 연산자
+ : 덧셈 이항 연산자
산술연산자
연산자 | 의미 | 사용 예 |
---|---|---|
+ | 더하기 | 3 + 2 |
– | 빼기 | 3 – 2 |
* | 곱하기 | 3 * 2 |
/ | 나누기 | 3 / 2 |
% | 나머지 | 3 % 2 |
대입 연산자
연산자 | 의미 | 사용 예 |
---|---|---|
= | 오른쪽 항의 내용을 왼쪽 항에 대입 | num = 2 |
+= | 두 항을 더한 후 왼쪽 항에 대입 | num += 2 |
-= | 왼쪽 항을 오른쪽 항으로 뺀 후 왼쪽 항에 대입 | num -= 2 |
*= | 두 항을 곱한 후 왼쪽 항에 대입 | num *= 2 |
/= | 왼쪽 항을 오른쪽 항으로 나눈 후 왼쪽 항에 대입 | num /= 2 |
%= | 왼쪽 항을 오른쪽 항으로 나머지 연산 후 왼쪽 항에 대입 | num %= 2 |
증감 연산자
연산자 | 의미 | 사용 예 |
---|---|---|
++ | 항의 값에 1 증가 | ++num 또는 num++ |
— | 항의 값에 1 감소 | –num 또는 num– |
- 증감 연산자가 앞에 있냐 뒤에 있냐에 따라 결과값이 달라진다.
비교 연산자
연산자 | 의미 | 사용 예 |
---|---|---|
> | 왼쪽이 크면 true, 작으면 false 반환 | num1 > num2 |
< | 왼쪽이 작으면 true, 크면 false 반환 | num1 < num2 |
>= | 왼쪽이 크거나 같으면 true, 아니면 false 반환 | num1 >= num2 |
<= | 왼쪽이 작거나 같으면 true, 아니면 false 반환 | num1 <= num2 |
== | 두 개 항의 값이 같으면 true, 아니면 false | num1 == num2 |
!= | 두 개 항의 값이 다르면 true, 아니면 false | num1 != num2 |
=== | 두 개 항의 참조가 같으면 true, 아니면 false | num1 === num2 |
!== | 두 개 항의 참조가 다르면 true, 아니면 false | num1 !== num2 |
논리 연산자
연산자 | 의미 | 사용 예 |
---|---|---|
&& | 논리곱으로 두 항이 모두 true일 때 true, 아니면 false | exp1 && exp2 |
|| | 논리합으로 두 항 중 하나의 항이 true일때 true, 아니면 false | exp1 || exp2 |
! | 부정 단항 연산자로 true를 false로, false를 true로 바꿈 | !exp |
비트 연산자
- 비트와 비트 연산 이해하기
- 1010(2) = 21 + 23 = 10(10)
- 가장 왼쪽에 있는 비트는 양(+), 음(-)을 판단하는데 사용한다.
- 비트 연산을 위한 비트 메서드
표현식 | 설명 |
---|---|
4.shl(bits) | 4를 표현하는 비트를 bits만큼 왼쪽으로 이동(부호 있음) |
7.shl(bits) | 7를 표현하는 비트를 bits만큼 오른쪽으로 이동(부호 있음) |
12.ushr(bits) | 12를 표현하는 비트를 bits만큼 오른쪽으로 이동(부호 없음) |
9.and(bits) | 9를 표현하는 비트와 bits를 표현하는 비트로 논리곱 연산 |
4.or(bits) | 4를 표현하는 비트와 bits를 표현하는 비트로 논리합 연산 |
24.xor(bits) | 23을 표현하는 비트와 bits를 표현하는 비트의 배타적 연산 |
78.inv() | 78을 표현하는 비트를 모두 뒤집음 |