1) Statement : 프로그램의 문장. Expression을 포함하나 하나의 값으로 도출이 되지 않는 문장을 주로 의미
2) Expression : Statement에서 하나의 값으로 도출이 되는 문장. Kotlin에서 if-else문은 Expression이므로 바로 return이 가능하다.
fun ab (n : Int) : String {
return if (n >= 10) {
"a"
}else{
"b"
}
}
when (val) {
"a" -> println("a")
"b" -> println("b")
else -> println("null")
}
/* Java */
//올라가는 경우
for(int i=0; i<=3; i++){
System.out.println(i);
}
//2칸 이상 씩 올라가는 경우
for(int i=0; i<=10; i+=2){
System.out.println(i);
}
//내려가는 경우
for(int i=3; i>=1; i--){
System.out.println(i);
}
/* Kotlin */
//올라가는 경우
for(i in 0..3){
println(i)
}
//2칸 이상 씩 올라가는 경우
for(i in 1 step 3){
println(i)
}
//내려가는 경우
for(i in 0..10 step 2){
println(i)
}
fun ab(a: Int, b: Int) =
if(a>b) {
a
}
else {
b
}
//한줄 처리
fun ab(a: Int, b: Int) = if(a>b) a else b
/* Default Parameter, Named Argument */
//선언
fun abc(
a: Boolean,
b: Int = 3,
c: String = "c"
){
if(a){
println(b)
} else{
println(c)
}
}
//사용 (b: default c: named argument)
abc(true, c="hello") // 3 출력
abc(false, c="bye") // bye 출력
/* 가변 인자 */
fun allPrint(vararg strs : String) {
for(s in strs){
println(s)
}
}
val arr = arrayOf("a","b","c")
allPrint(*arr)