카테고리 없음
[Kotlin 2-2] 연산자
연나연
2023. 12. 28. 15:03

일부를 제외한 대부분의 특수 문자를 연산자로 사용한다.
주어진 값을 정해진 방식에 따라 계산하고 그 값을 되돌려준다.
Kotlin은 연산자와 함수 두 가지를 제공한다.
1. 단항 연산자
2. 증감 연산자
3. 산술 연산자
4. 대입 연산자
5. 비교 연산자
연산자 우선순위
최우선 연산자
▶( ) : 수학과 같이 가장 먼저 계산할 부분이 있다면 ( ) 로 묶어 준다.
var a1:Int = 10 + 2 * 4 var a2:Int = (10 + 2) * 4 println("a1 : $a1") println("a2 : $a2")출력결과
단항 연산자
▶연산에 참여하는 값이 하나인 연산자
▶!(not) : true를 false로 false를 true로 바꿔준다.
▶조건식의 결과를 반대로 부정하고 싶을 때 사용한다.
var a3 = true var a4 = !a3 var a5 = !a4 println("a4 : $a4") println("a5 : $a5")출력결과
부호 연산자
▶ + : 그대로, - : 양수를 음수로, 음수를 양수로
var a6 = 100 var a7 = +a6 var a8 = -a6 println("a7 : $a7") println("a8 : $a8")출력결과
증감 연산자
▶변수가 가지고 있는 값을 1 증가하거나 1 감소한다.
▶변수 앞에 있는 것과 뒤에 있는 것이 조금 다르다.
var a9 = 100 a9++ println("a9: $a9") var a10 = 100 a10 = a10 + 1 println("a10: $a10") ++a9 println("a9: $a9") a9-- println("a9 : $a9") --a9 println("a9 : $a9")출력결과
증감연산자가 앞에 있는 경우
▶최우선 연산자를 제외한 모든 연산자들 보다 먼저 수행된다.
var a13 = ++a11 var a14 = --a12 println("a11: {$a11}, a13: {$a13}") println("a12: {$a12}, a14: {$a14}")
증감연산자가 뒤에 있는 경우
▶모든 연산자들 보다 가장 마지막에 수행된다.
a11 = 10 a12 = 10 a13 = a11++ a14 = a12-- println("a11 : ${a11}, a13 : $a13") println("a12 : ${a12}, a14 : $a14")
산술 연산자
▶곱하기, 나누기, 나머지 연산자가 더하기, 빼기 보다 먼저 수행된다.
// (더하기) var b1 = 10 + 3 // (빼기) var b2 = 10 - 3 // (곱하기) var b3 = 10 * 3 // (나누기) var b4 = 10 / 3 // (나머지) var b5 = 10 % 3 println("b1: $b1") println("b2: $b2") println("b3: $b3") println("b4: $b4") println("b5: $b5")
관계 연산자
▶두 값의 관계를 보고 true나 false를 결과로 준다.
▶좌측의 값이 우측의 값보다 작은가
// 좌측의 값이 우측의 값보다 작은가 var b6 = 10 < 3 var b7 = 10 < 20 println("b6: $b6") println("b7: $b7") // 좌측의 값이 우측의 값보다 작거나 같은가 b6 = 10 <= 3 b7 = 10 <= 20 var b8 = 10 <= 10 println("b6 : $b6") println("b7 : $b7") println("b8 : $b8")// 좌측의 값과 우측의 값이 같은가 b6 = 10 == 20 b7 = 10 == 10 println("b6 : $b6") println("b7 : $b7")
논리 연산자
▶좌측과 우측의 값이 true와 false인 수식에서 연산을 하는 연산자
▶논리 연산자 좌측과 우측에는 관계 연산자를 사용하는 연산식이 들어가는 것이 일반적이다.
▼ && : 좌우의 수식의 결과가 모두 true인 경우는 결과가 true이고 하나라도 false라면 결과는 false가 된다.
-주어진 모든 조건에 만족하는 경우인지 확인할 때 사용한다.
var c1 = 10 > 2 && 10 < 20 var c2 = 10 < 2 && 10 < 20 var c3 = 10 > 2 && 10 > 20 var c4 = 10 < 2 && 10 > 20 println("c1 : $c1") println("c2 : $c2") println("c3 : $c3") println("c4 : $c4")
▼ ||(or) : 좌우의 수식의 결과가 모두 false인 경우는 결과가 false이고 하나라도 true라면 결과는 true가 된다.
-주어진 조건들 중에 하나라도 만족하는지 확인할 때 사용한다.
c1 = 10 > 2 || 10 < 20 c2 = 10 < 2 || 10 < 20 c3 = 10 > 2 || 10 > 20 c4 = 10 < 2 || 10 > 20 println("c1 : $c1") println("c2 : $c2") println("c3 : $c3") println("c4 : $c4")
배정 대입 연산자
▶++, -- (증감연산자)는 변수의 값을 1 증가하거나 1 감소하는 역할을 수행한다.
▶만약 증가 감소가 아닌 다른 연산을 하거나 1이 아닌 연산에 참여할 값을 직접 지정하고자 한다면// 배정 대입 연산자를 사용한다.
▶산술 연산자와 같이 사용하는 경우가 많다.
var d1 = 10 var d2 = 10 d1 = d1 + 10 d2 += 10 println("d1: $d1") println("d2: $d2")












