안드로이드 스튜디오 조건문과 반복문

2022. 12. 4. 20:20_Study/AndroidStudio

728x90

조건문과 반복문


조건문 if ~ else 와 표현식

 

코틀린에서 if~else는 표현식으로 사용할수 있으며, 표현식이란 결과를 반환하는 계산식을 말한다.

 

표현식 var result

 

조건문 when

when 문의 조건으로 정수가 아닌 다른타입의 데이터를 지정할 수도 있다. ex. String

    var data =10
    when (data){
        10 -> println("data is 10")
        20 -> println("data is 20")
        else -> println("data is not valid data")
    }

when 문에서는 조건을 데이터 타입, 범위 등으로 다양하게 명시할 수 있으며 is로 타입을 확인할 수 있고, in 으로 범위를 지정할 수도 있다.

 

 

if 문과 마찬가지로 표현식으로도 사용가능하다.

 

반복문 for

for 문은 제어 변숫값을 증감하면서 특정 조건이 참일 때까지 구문을 반복해서 실행한다.

for 문 조건에선 주로 범위 연산자인 in 을 사용한다.

    var sum:Int =0
    for( i in 1..10)
        sum+= i
    println(sum)

package com.example.ch3

fun main(){

    var sum:Int =0
    for( i in 1..10)
        sum+= i
    println(sum)

    var sum2:Int =0
    for( i in 2 ..10 step 2) // 2씩 증가
        sum2+= i
    println(sum2)

    var sum3:Int =0
    for( i in 1 until 10) // 9까지
        sum3+= i
    println(sum3)

    var sum4:Int =0
    for( i in 10 downTo 1) // 1씩 감소
        sum4+= i
    println(sum4)
}

컬렉션 타입의 데이터 개수만큼 반복하며 indices는 컬렌션 타입의 인덱스값을 의미한다.(배열로 들고오기)

인덱스와 실제 데이터를 함게 가져오려면 withIndex() 함수를 이용한다. (페어로 들고 오기)

 

package com.example.ch3

fun main() {

    // 배열로 들고오기
    var data = arrayOf<Int>(10, 20, 30)
    for (i in data.indices) {
        print(data[i])
        if (i !== data.size - 1) print(",")
    }
    // 페어로 들고오기
    var data2 = arrayOf<Int>(0, 220, 320)
    for ((index, value) in data2.withIndex()) {
        print(value)
        if (index !== data2.size - 1) print(",")
    }
}

 

while 문은 조건이 참이면 중괄호 {}로 지정한 영역을 반복해서 실행한다.