▶ 프로그램 코드는 위에서 아래로 흘러간다. ▶ 이 흐름을 변경하고자 할 때 사용하는 것이 제어문이다. ▶ 제어문은 분기문과 반복문으로 구분된다
IF문
▶주어진 조건에 따라 작성된 코드 수행 여부를 결정하는 구문. ▶ 주어진 조건식의 결과가 true 인 경우에만 관리하는 코드가 수행된다. ▶ { } 로 묶은 부분을 관리한다.
if (조건식) { //코드// }
// 조건식의 결과가 true이므로 if 문이 관리하는 코드가 수행된다.
if(a1 == 10) {
println("a1은 10입니다.")
}
// 조건식의 결과가 false 이므로 if 문이 관리하는 코드가 수행되지 않는다.
if(a1 == 20) {
println("a1은 20입니다.")
}
if (조건식) { //코드// } else { //코드// }
// 조건식의 결과가 true 이므로 if 문이 관리하는 코드가 수행되고
// else 가 관리하는 코드는 수행되지 않는다.
if(a1 == 10) {
println("a1은 10입니다.")
} else{
println("a1은 10이 아닙니다.")
}
// 조건식의 결과가 false 이므로 if 문이 관리하는 코드가 수행되지 않고
// else 가 관리하는 코드가 수행된다.
if(a1 == 20) {
println("a1은 20입니다.")
} else{
println("a1은 20이 아닙니다.")
}
if (조건식){ //코드// } else if (조건식){ //코드// } else if (조건식){ //코드// } else { //코드// }
▶위에서 부터 아래 방향으로 조건식들을 수행하다가 true 인 부분을 만나면 그 부분을 수행하고 밖으로 나간다. ▶만약 모든 조건 수식의 결과가 false 일 경우 else 가 있으면 else 부분을 수행하고 else 부분이 없으면 아무것도 수행하지 않는다.
▶if 문에 있는 조건식이 true면 첫 번째 값이 반환되여 변수에 저장되고 false 라면 두 번째 값이 반환되어 변수에 저장된다.
EX) val a3:String = if (a2 > 50) "50보다 큽니다" else "50보다 크지 않습니다"
//조건식의 결과에 따라 변수의 값을 저장한다.
var a4 = ""
var a5 = 10
if(a5 == 10){
a4 = "10입니다."
} else {
a4 = "10이 아닙니다"
}
println("a4: $a4")
// 위의 코드는 아래와 같이 작성할 수 있다
var a6 = if(a5 == 10) "10 입니다" else "10이 아닙니다"
println("a6: $a6")
if 문이 관리하는 코드가 다수의 줄로 구성되어 있다면..
// if 문이 관리하는 코드가 다수의 줄로 구성되어 있다면..
var a7 = ""
if(a5 == 10){
var r1 = 10 + 20
a7 = "r1은 $r1 입니다"
} else {
var r1 = 100 + 200
a7 = "r1은 $r1 입니다"
}
println("a7 : $a7")
// 위의 코드는 아래와 같이 작성할 수 있다.
var a9 = if(a5 == 10){
var r1 = 10 + 20
"r1은 $r1 입니다"
} else {
var r1 = 100 + 200
"r1은 $r1 입니다"
}
println("a7 : $a7")