TAE

[kotlin] 반복문 for문 본문

Kotlin/개념

[kotlin] 반복문 for문

tg-world 2021. 9. 9. 16:34
반응형

- 코틀린 for문

 

for(요소변수 in 컬렉션 혹은 범위){

반복할 구문

}

 

으로 for문 사용이 가능하다.

 

먼저 1,2,3,4,5를 출력하는 for문은

   for (x in 1..5) { // in과 범위지정을 활용한 루프 
            Log.d("for", "x==$x") //결과 1,2,3,4,5 
        }

요소 변수 x를 선언하고 in연산자에 범위를 1..5 로 지정하면 1~5까지의 숫자가 출력이 된다.

 

java 같은 경우

    for (int x=1; x<6; x++){
            Log.d("Log","x=="+x);
        }

코틀린이 java for문보다 좀더 간결하게(?) 사용이 가능한것같다

 

-1부터 10까지 더하기

   var sum=0 
        for (i in 1..10){
            sum=+i 
        } 
        Log.d("sum","sum=$sum") //결과 sum=55

 

 

- 하행반복 (downTo사용)

       for (i in 5..1) //아무것도 출력되지 않음
         for (i in 5 downTo 1){} // 5,4,3,2,1

for문을 반대로 반복하고 싶을때 i in 5..1 이렇게 사용하면 될것같지만 이렇게 사용하면 아무것도 출력되지 않는다.

하행반복은 downTo 를 사용하여 반복을 실행시킨다.

 

- 단계증가 (step사용)

    for (i in 1..10 step 2){
            Log.d("step","step=$i")
        } //1,3,5,7,9

일정한 단계를 실행하고싶을땐 setp 을 사용한다.

위 코드처럼 step을 2로 설정하게되면 2단계씩 뛰며 출력이 된다.

 

- foreach 사용

 val numberList = arrayListOf<Int>(1,2,3,4,5,6,7)

        for (i in 0..numberList.size){ //컬렉션 사용
            Log.d("listnum","forlistnum=$i")
        }
        
        //명시적으로 i변수에 값을 지정
        numberList.forEach { i->
            Log.d("listnum","foreachnum=$i")
        }
        //암묵적인 방법 it키워드 변수 사
        numberList.forEach {
            Log.d("listnum","foreachnum2=$it")
        }

        run{
            numberList.forEach {
                if (it==3)
                    return@run //1,2 run 구문 탈출 break 와 같은기능
                return@forEach // 1,2,4,5,6,7 foreach 구문 탈출 continue와 같은기능

                Log.d("foreachRun","run사용=$it")
            }
        }

        //forEachIndexed 를 사용하여 인덱스와 값을 추출하고 싶을때
        numberList.forEachIndexed { index, number ->
            Log.d("foreachindexed","index=$index number=$number")
        }

 

반응형
Comments