when(변수 or 수식){
값1 -> 코드
값2 -> 코드
}
val a1 = 10
when(a1){
// 수행될 코드가 한줄만 있다면 { }를 생략한다.
1 -> println("a1은 1입니다")
// 수행될 코드가 두 줄 이상이면 { }로 묶어준다.
5 -> {
println("a1은 5입니다")
println("코드가 두 줄")
println("코드가 세 줄")
}
// 두 가지 이상의 조건도 가능하다.
3, 4 -> println("a1는 3이거나 4입니다")
5, 6, 7 -> println("a1는, 5이거나 5입니다")
// 실수, 문자열도 가능하다.
33.33 -> println("a1은 33.33입니다")
"문자열1" -> println("a1은 문자열1입니다.")
// 범위를 지정할 수도 있다.
in 1..6 -> println("a5는 1부터 6사이입니다")
else -> println("조건문 안에 없음")
}
while, do-while은 자바와 동일
for
반복할 때 마다 반복 회차에 해당하는 값을 in 좌측 변수에 담아준다.
이때, 변수는 타입을 정하지 않아도 된다.
step : 증가폭
until : until 뒤에 붙는 변수 전까지// 1 <= item1 <5 for(item1 in 1 until 5){ println(item1) }
for(item2 in 1..10 step 2){ println("item2 : $item2") }
downTo : 큰 수부터 시작해서 감소할 경우 사용
for(item3 in 10 downTo 1){ println("item3 : $item3") }
반복문에 배열 사용하기
- reversed() 함수를 사용하거나 count() 함수를 이용해 유연하게 사용가능
for(item4 in arrList){ println(item4) }
for(i in 0 until arrList.count){
println(arrList[i])
}