Uknow's Lab.
article thumbnail

 

 

대입 연산자

fun main() {
	var n = 3
}

대입 연산자 (=)는 오른쪽의 값을 왼쪽에 대입하는 연산자입니다.

위 코드의 경우, n에 3을 대입하는 역할을 합니다.

 

산술 연산자

fun main() {
	var a = 5
	var b = 2
	var result1 = a + b // a와 b의 덧셈
	var result2 = a - b // a에서 b를 뺌
	var result3 = a * b // a와 b의 곱셈
	var result4 = a / b // a에서 b를 나눔 (정수형의 경우 소숫점 절삭)
	var result5 = a % b // a에서 b를 나눴을 때의 나머지

	println(result1)
	println(result2)
	println(result3)
	println(result4)
	println(result5)
}

// 출력 >>>
7
3
10
2
1

+, -, *, /, %는 각각 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산을 수행하는 연산자들입니다.

 

 

증감 연산자

fun main() {
	var a = 3
	println(a) // 3 출력
	a++
	println(a) // 4 출력
	println(a++) // 4 출력, println 문이 실행된 후 a 증가
	println(a) // 5 출력
	println(++a) // 6 출력, println 문이 실행되기 전 a 증가
	
	a--
	println(a) // 5 출력
}

증감연산자 (++, --)는 각각 1 증가, 1 감소를 수행하는 연산자들입니다.

다만, 변수의 왼쪽이냐, 오른쪽이냐에 따라 그 순서가 갈리는데,

a++의 경우, 연산을 수행하고 나서 +1을,

++a의 경우, +1을 먼저 한 후 연산을 수행합니다.

 

 

비교 연산자

fun main() {
	val a = 3
	val b = 4
	val c = 3

	println(a == b) // false
	println(a == c) // true
	
	println(a != b) // true
	println(a != c) // false
}

== 는 비교연산자입니다. 왼쪽과 오른쪽의 값이 같을 때, 두 값이 같으면 true, 다르다면 false를 반환합니다.

!=는 두 값이 서로 다를 때 true, 같을때 false를 반환합니다.

 

fun main() {
	val a = 3

	println(a < 5) // true
	println(a > 5) // false

	println(a > 3) // false
	println(a >= 3) // true - 같은 것도 포함
	
}

>, <, >=, <= 등은 왼쪽이 오른쪽보다 클 때(a > b), 작을 때(a < b), 크거나 작을 때(a >= b), 작거나 클 때(a <= b)

true를 반환합니다.

 

 

범위 연산자

fun main() {
	val a = 3

	println(a in 1 .. 3) // a가 1 ~ 3 범위 내 있는 지 검사, true
	println(a in 1 .. 2) // a가 1 ~ 2 범위 내 없으므로 false
	
	println(a in 1 until 3) // 1이상 3미만. 1 ~ 2 범위 내 없으므로 true
	println(a in 1 until 4) // 1이상 4미만. 1 ~ 3 범위 내 있으므로 true
}

위 연산자들은 사실 자바나 C, 파이썬 등에서도 많이 쓰이기에 익숙하신 분들이 많이 계실겁니다.

 

a in b .. c 와 같은 범위 연산자는 a가 b 이상 c 이하 범위에 있는지 검사하는 연산자입니다.

a in b until c는 a가 b 이상 c 미만 범위에 있는지 검사하는 연산자입니다.

 

배열에 접근할 때,

크기가 4인 배열이라면 인덱스가 0, 1, 2, 3인 원소에 접근해야 하므로

실제 개발할 때는 개인적으로 .. 보단 until을 더 많이 사용합니다.

 

null 관련 연산자

null 값을 다루는 연산자들인 ?., !!., ?: 등이 있습니다.

이들은 추후 코틀린과 null 처리 편에서 등장할 예정입니다.

 

 

부록. 삼항 연산자야 어디갔니?

// 자바의 삼항 연산자
int a = 3
int b = a>3? 0:2


// 코틀린의 표현식
val a = 3
val b = if(a > 3) 0 else 2

코틀린에서는 자바에서 봤던 삼항 연산자가 존재하지 않습니다.

바로 조건문의 표현식이 곧 삼항 연산자와 같이 사용할 수 있기 때문이죠.

표현식은 조건식 파트에서 다르게 될 예정이니, 기대해주세요.

profile

Uknow's Lab.

@유노 Uknow

인생은 Byte와 Double 사이 Char다. 아무말이나 해봤습니다.