오늘은 조건문 if, when에 대해 공부했다.
if문은 조건이 true인지 false인지에 따라서 어떤 작업을 할 것인지를 결정합니다.
true와 false 중 하나로 결정되기 때문에 if문을 이중 분기라고도 부릅니다.
if문의 기본 형태는 다음과 같습니다.
if(조건식) {
// 조건식이 true일 때 이 부분 실행
}
if(조건식) {
// 조건식이 true일 때 이 부분 실행
} else {
// 조건식이 false 일 때 이 부분 실행
}
예시 코드
fun main() {
var count : Int = 85
if(count >= 90){ // false
println("if문 : 합격(장학생)")
}else if(count >= 60){ // true
println("if문 : 합격")
}else {
println("if문 : 불합격") //false
}
// 출력값 : if문 : 합격
}
count의 값을 85로 선언해주었고,
60점 이상 조건식에 true이기 때문에 if문 : 합격이라는 결과가 나온다!
when문은 여러 가지 경우에 따라서 어떤 작업을 할 것인지를 결정하기 때문에 when문을 다중 분기라고도 부릅니다.
when문의 기본형태는 다음과 같습니다.
when (식) {
값1 -> // 값1이면 이 부분 실행
값2 -> // 값2이면 이 부분 실행
.
.
else -> // 어디에도 해당하지 않으면 이 부분 실행
}
예시 코드
fun main() {
var count : Int = 85
var jumsu : Int = (count/10)*10
when(jumsu) {
100 -> println("when문 : 합격(장학생)")
90 -> println("when문 : 합격(장학생)")
80, 70, 60 -> println("when문 : 합격")
else -> println("when문 : 불합격")
}
// 출력값 : when문 합격
}
count값은 85입니다.
count/10의 값을 다시 10으로 곱하면 십의 자리수로 만들어 줄 수 있습니다.
85/10 = 8, 8*10 = 80
jumsu의 값이 80이 되어 when문 : 합격이라는 결과가 나오게 되었습니다!
when문 : in 키워드
위의 코드와 같이 각각의 값에 따라 처리하게 할 수도 있고, in 키워드를 사용하여 범위로 처리할수도 있습니다!!
fun main() {
var score : Int = 95
when(score){
in 90..100 -> println("when문 : 합격(장학생)")
in 60..89 -> println("when문 : 합격")
else -> println("when문 : 불합격")
}
}
when문은 kotlin언어에만 있는 조건문이고, switch()문과 다르게 break문을 사용하지 않는다
if문: 범위가 넓고 값을 특정할 수 없을 경우
ex) 연도 데이터: 2019,2020,2021....
when문: 범위가 제한되고 값도 특정할 수 있는 경우
ex)요일 데이터:월,화,수,목,금,토,일
val day:String="월"
if(day=="월"){
...
}else if(day=="화"){
...
}else if(day=="수"){
...
}
when(day){
"월"->
"화"->
"목"->}