Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- onLayout
- ViewModel
- CollapsingToolbarLayout
- DataBinding
- room
- 알림
- Algorithm
- kotlin
- activity
- 알고리즘
- 백준
- 코틀린
- BOJ
- lifecycle
- sqlite
- Android
- hilt
- LiveData
- HTTP
- recyclerview
- 안드로이드
- AppBarLayout
- CoordinatorLayout
- CustomView
- onMeasure
- notification
- Navigation
- Coroutine
- View
- Behavior
Archives
- Today
- Total
개발일지
Kotlin in A..Z (6) - 연산자 본문
- 기본 연산자
연산자 | 의미 |
+ | 더하기 |
- | 빼기 |
* | 곱하기 |
/ | 나누기 |
% | 나머지 |
코드
println(1 + 2)
println(2 - 1)
println(1 * 2)
println(4 / 2)
println(5 % 2)
결과
3
1
2
2
1
- 대입 연산자
연산자 | 의미 |
= | 오른쪽 항을 왼쪽 항에 대입 |
+= | 왼쪽 항에 오른쪽 항을 더한 후 대입 |
-= | 왼쪽 항에 오른쪽 항을 뺀 후 대입 |
*= | 왼쪽 항에 오른쪽 항을 곱한 후 대입 |
/= | 왼쪽 항에 오른쪽 항을 나눈 후 대입 |
%= | 왼쪽 항에 오른쪽 항을 나머지 연한 후 대입 |
코드
var num:Int = 0
num = 10
println(num)
num += 10
println(num)
num -= 5
println(num)
num *= 2
println(num)
num /= 10
println(num)
num %= 2
println(num)
결과
10
20
15
30
3
1
- 증가 연산자
연산자 | 의미 |
++ | 항의 값을 1 증가 |
-- | 항의 값을 1 감소 |
코드
// 후위 증가 연산자 num1의 값을 반환하고 num1의 값을 1 증가시킨다.
var num1 = 5
var result1 = num1++
println("num : $num1, result : $result1")
// 전위 증가 연산자 num2의 값을 1 증가시키고 그 값을 반환한다
var num2 = 5
var result2 = ++num2
println("num : $num2, result : $result2")
// 후위 가감 연산자 num3의 값을 반환하고 num3의 값을 1 감소시킨다.
var num3 = 5
var result3 = num1--
println("num : $num3, result : $result3")
//전위 가감 연산자 num4의 값을 1 감소시키고 그 값을 반환한다
var num4 = 5
var result4 = num4++
println("num : $num4, result : $result4")
결과
num : 6, result : 5
num : 6, result : 6
num : 5, result : 6
num : 6, result : 5
- 비교 연산자
연산자 | 의미 |
> | 왼쪽이 크면 true 아니면 false |
< | 오른쪽이 크면 true 아니면 false |
>= | 왼쪽이 크거나 같으면 true 아니면 false |
<= | 오른쪽이 크거나 같으면 true 아니면 false |
== | 같으면 true 아니면 false |
!= | 다르면 true 아니면 false |
=== | 참조 값이 같으면 true 아니면 false |
!== | 참조 값이 다르면 true 아니면 false |
코드
println(1 > 2)
println(1 < 2)
println(1 >= 2)
println(1 <= 2)
println(1 == 2)
println(1 != 2)
println(1 === 2)
println(1 !== 2)
결과
false
true
false
true
false
true
false
true
- 논리 연산자
연산자 | 의미 |
&& | 두 항이 모두 true일 때 true 아니면 false |
|| | 하나의 항이라도 true이면 true 아니면 false |
! | true이면 false, false이면 true |
코드
println(true && false)
println(true || false)
println(!true)
결과
false
true
false
- 비트 연산자
연산자 | 의미 |
shl | 왼쪽으로 비트를 옮김 (부호 있음) |
shr | 오른쪽으로 비트를 옮김 (부호 있음) |
ushr | 오른쪽으로 비트를 옮김 |
and | 논리곱 연산 |
or | 논리합 연산 |
xor | 베타적 연산 |
inv | 비트 반전 연산 |
코드
println("1 shl 2 = ${1 shl 2}")
println("1.shl(2) = ${1.shl(2)}")
println("100 shr 2 = ${100 shr 2}")
println("100.shr(2) = ${100.shr(2)}")
println("-1 ushr 2 = ${-1 ushr 2}")
println("(-1).ushr(2) = ${(-1).ushr(2)}")
println("9 and 8 = ${9 and 8}")
println("9.and(8) = ${9.and(8)}")
println("9 or 8 = ${9 or 8}")
println("9.or(8) = ${9.or(8)}")
println("9 xor 8 = ${9 xor 8}")
println("9.xor(8) = ${9.xor(8)}")
println("9.inv() = ${9.inv()}")
결과
1 shl 2 = 4
1.shl(2) = 4
100 shr 2 = 25
100.shr(2) = 25
-1 ushr 2 = 1073741823
(-1).ushr(2) = 1073741823
9 and 8 = 8
9.and(8) = 8
9 or 8 = 9
9.or(8) = 9
9 xor 8 = 1
9.xor(8) = 1
9.inv() = -10
- 범위 연산자
연산자 | 의미 |
A..B | A에서 B까지 1만큼 증가하여 포함된 범위 |
A..B step C | A에서 B까지 C만큼 증가하여 포함된 범위 |
A until B | A에서 B - 1까지 1만큼 증가하여 포함된 범위 |
A until B step C | A에서 B - 1까지 C만큼 증가하여 포함된 범위 |
A downTo B | A에서 B까지 1만큼 감소하여 포함된 범위 |
A downTo B step C | A에서 B까지 C만큼 감소하여 포함된 범위 |
코드
for(i in 1..5) print(i)
println()
for(i in 1..5 step 2) print(i)
println()
for(i in 1 until 5) print(i)
println()
for(i in 1 until 5 step 2) print(i)
println()
for(i in 5 downTo 1) print(i)
println()
for(i in 5 downTo 1 step 2) print(i)
println()
결과
12345
135
1234
13
54321
531
- in 연산자
연산자 | 의미 |
A in RANGE | A가 RANGE안에 속해있으면 true 아니면 false |
코드
println(1 in 1..10)
결과
true
'Kotlin (코틀린)' 카테고리의 다른 글
Kotlin in A..Z (8) - 람다 (0) | 2020.07.11 |
---|---|
Kotlin in A..Z (7) - 함수 (0) | 2020.07.11 |
Kotlin in A..Z (5) - 자료형 비교, 검사, 변환 (0) | 2020.07.10 |
Kotlin in A..Z (4) - null (0) | 2020.07.10 |
Kotlin in A..Z (3) - 문자열 (0) | 2020.07.08 |
Comments