공부 자료
https://www.youtube.com/watch?v=gJJVLju4XS0&list=PLQdnHjXZyYadiw5aV3p6DwUdXV2bZuhlN&index=5
하루에 딱 2개만 성실하게 배우도록 하자.
아직은 어려운 것 같다.
조건문? 비교연산자?
조건문은 간단히 if문이다. if문은 조건이 참일 경우 따라오는 구문을 실행하는 기능을 가진다.
fun main() {
var a = 7 ------> 변수를 만들고
if(a > 10) { -------> a가 10보다 클 때
println("a는 10보다 크다") -------> "a는 10보다 크다"라고 출력한다.
}
}
이렇게만 한다면, 조건이 거짓이기 때문에 아무것도 실행되지 않는다.
이럴땐, else가 필요하다.
fun main() {
var a = 7
if(a > 10) {
println("a는 10보다 크다")
}
else {
println("a는 10보다 작거나 같다") ------> 그 외의 경우 "a는 10보다 작거나 같다"를 출력한다.
}
조건이 참일 경우 (a 값이 10보다 클 경우)는 "a는 10보다 크다"가 출력될 것이다.
이런 조건을 걸 때, 비교연산자라는 것을 사용한다.
비교연산자의 종류
부등호
<(작다) <=(작거나 같다) >(크다) >=(크거나 같다) !=(같지 않다)
등호
==(같다) [=은 값을 할당한다는 뜻이므로 =를 두번 쳐서 같다고 표시한다.]
자료형이 맞는지 틀린지 체크하는
is(맞는지) !is(틀린지)
[a is Int -> a의 자료형이 Int이다.] <- 형변환까지 한번에 시켜줌
등이 있다.
다음으로 다중 조건문을 알아보자.
다중 조건문은 if가 참과 거짓만을 비교할 수 있는 반면 when은 하나의 변수를 여러개의 값과 비교할 수 있다는 장점이 있다.
fun main() {
doWhen(1)
doWhen("DiMo")
doWhen(12L) --------------> doWhen이라는 함수에 이 값을 할당한다.
doWhen(3.14159)
doWhen("Kotlin")
}
fun doWhen (a: Any) { ----------------> doWhen이라는 함수를 만들고, 패러미터 a를 만든다.
when(a) {
1 -> println("정수 1입니다.") -------------> 1일 경우 출력
"DiMo" -> println("디모입니다.") ---------------> "DiMo"일 경우 출력
is Long -> println("Long 타입 입니다.") ----------------> Long타입일 경우 출력
!is String -> println("String 타입이 아닙니다.") ---------------> String타입이 아닐 경우 출력
else -> println("어떤 조건도 만족하지 않습니다.") -------------->그 외의 경우 출력
}
}
결과는 직접 알아보면 된다.
이제까지 when이 조건문으로 사용되는 것을 보았고,
when은 또한 표현식으로도 사용이 가능하다.
직접 값으로 사용하려면,
1 -> println("정수 1입니다.")
"DiMo" -> println("디모입니다.")
이 상태에서
1 -> "정수 1입니다"
"DiMo" -> "디모입니다"
이렇게 사용해주면 변수에 할당하거나 직접 값으로서 사용할 수 있다.
fun main() {
doWhen(1)
doWhen("DiMo")
doWhen(12L)
doWhen(3.14159)
doWhen("Kotlin")
}
fun doWhen (a: Any) { --------------------->doWhen이라는 함수가 작동하면
var result = when(a) { ---------------------> result라는 변수 안에 when(a)를 넣는다.
1 -> "정수 1입니다."
"DiMo" -> "디모입니다."
is Long -> "Long 타입 입니다."
!is String -> "String 타입이 아닙니다."
else -> "어떤 조건도 만족하지 않습니다."
}
}
열심히 공부하자 화이팅 ㅋ.ㅋ
'앱 만들기 공부 > Kotlin' 카테고리의 다른 글
[앱 만들기] Kotlin 언어 공부 05 < 반복문과 증감연산자로 같은 동작을 반복 수행하자!> (0) | 2020.03.27 |
---|---|
[앱 만들기] Kotlin 언어 공부 03 < 타입추론과 함수 > (0) | 2020.03.24 |
[앱 만들기] Kotlin 언어 공부 02 < 형변환과 배열로 자료형을 변경하고 저장하는 법 > (0) | 2020.03.23 |
[앱 만들기] Kotlin 언어 공부 01 < 변수와 자료형, 데이터를 관리하는 기본적인 방법 > (0) | 2020.03.23 |
Kotlin 언어 공부 <시작> (1) | 2020.03.23 |