if문
- C언어에서 사용하는 if(-else if - if)문과 똑같다.
if(조건1){
...
}else if(조건2){
...
}else{
...
}
📌 값을 리턴하는 if
var num = if(a > b){
a
}else if(a == b){
b
}
- 예시
: 두 수를 비교해서 더 큰 값을 변수 max에 넣기
var max = if(a > b){
a
}else{
b
}
📌 엘비스 연산자 ?:
- 변수에 null값이 들어갔을 때 null값을 다른 값으로 변환해주는 연산
- kotlin의 null 안정성과 관련
- 예시
val number1: Int? = null
val number2: Int? = 100
val number3 = number1 ?: 10
val number4 = number2 ?: 10
when 구문
- 다른 언어의 switch문과 같은 역할을 한다.
- when구문 안에 들어가는 조건식은 꼭 true나 false일 필요가 없다.
- when 구문은 조건으로 갖는 값(예시에서 value)의 모든 경우에 대응해주는 것이 좋다. (else를 써주는 습관을 가지면 좋을듯!!)
- 중괄호 내의 코드가 간단하면 역시 중괄호 생략 가능하다.
- 예시
val value: Int = 3
when(value){
1 ->{
println("value가 1입니다.")
}
2 -> {
println("value가 2입니다.")
}
3 -> {
println("value가 3입니다.")
}
else -> {
println("value는 모르는 숫자입니다.")
}
}
📌값을 리턴하는 when
val value: Int = 3
val value2 = when(value){
1 -> 10
2 -> 20
3 -> 30
else -> 100
}
📌when구문의 다양한 조건식
is연산자와 함께 사용하는 when구문
- is연산자는 변수의 타입을 묻는 연산자이다.
- Boolean값으로 리턴
val value: Int = 5
when(value){
is Int ->{
println("value is Int")
}
else ->{
println("value is not Int")
}
}
in연산자와 함께 사용하는 when구문
- in연산자는 변수가 특정 범위 내에 있는지 묻는 연산자이다.
- Boolean값으로 리턴
val value: Int = 5
when(value){
in 1..10->{
println("value is in 1-10")
}
in 11..20->{
println("value is in 11-20")
}
else->{
println("value is not in 1-20")
}
}