when, 반복문

유민국·2023년 5월 29일
0

when

  • when은 java에서의 switch를 대신
  • 수식이나 값의 결과에 따라 수행될 부분을 결정하게 되며 자바와 다르게 정수 뿐만 아니라 다양한 타입의 값을 비교할 수 있다.
  • 논리값(true, false)은 사용할 수 없음.

    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])
}

profile
안녕하세요 😊

0개의 댓글