🎈Kotlin旅行記3日目


前回の旅行

  • 制御フロー(if文、when文)
  • エルビス演算子
  • アレイ
  • Collection,MutableCollection
  • 今日行った場所


    複文


    繰り返し文は、繰り返し可能なオブジェクトに対して繰り返し機能を実行します.

    くりかえし文


    for in反復文は、for(反復ターゲット名の変数){実行文}の形式で使用されます.
    実行文の繰り返し回数はターゲットの繰り返し回数と同じで、ターゲット値は変数に入ります.
    ex)
        val mNumList= mutableListOf<Int>(4,5,6,7)
        for (num in mNumList){
            println(num)
        }
    運転画面

    索引の使用


    ターゲット名の変数を繰り返します.withIndex(){実行文}の形式で使用します.
    ex)
        val mNumList = mutableListOf<Int>(4, 5, 6, 7)
        for ((index, num) in mNumList.withIndex()) {
            println("index = $index value = $num")
        }
    実行画面

    foreach反復文


    Lambdaを使用すると、forEachを使用して簡単に重複文を作成できます.
    オブジェクト名.forEach{実行文}として使用でき、値はit形式で入力できます.
    オブジェクト名.forEach{変数->実行文}を使用して変数名を指定することもできます.
    ex)
        val mNumList = mutableListOf<Int>(4, 5, 6, 7)
        mNumList.forEach() { num -> println(num) }
    
    実行画面

    索引の使用


    目標を繰り返す.forEachIndexed{インデックス名,変数->実行文}
    ex)
        val mNumList = mutableListOf<Int>(4, 5, 6, 7)
        mNumList.forEachIndexed { index, num -> println("index = $index value = $num") }
    実行画面

    …(至)


    for(index in初期値...ターゲット値){execution}の形式で使用します.
    インデックスはターゲット値に増加し、文を繰り返し実行します.
    ex)
        val mNumList = mutableListOf<Int>(4, 5, 6, 7)
        for (i in 0..mNumList.size-1){
            println(mNumList.get(i))
        }
    実行画面

    まで


    for(index in初期値からターゲット値まで){execution}の形式で使用します.
    インデックスはターゲット値の下部に追加され、文が繰り返し実行されます.(10の場合は9)
    ex)
        val mNumList = mutableListOf<Int>(4, 5, 6, 7)
        for (index in 0 until mNumList.size) {
            println(mNumList.get(index))
        }
    実行画面

    downTo


    これまでの複文は0などの初期値からインデックスが増加する方式であり,downToを用いて末尾からインデックスが減少する方式で複文を行うことができた.
    downToはfor(初期値の変数){実行文として使用されます.
    ex)
    
        val mNumList = mutableListOf<Int>(4, 5, 6, 7)
        for (index in mNumList.size - 1 downTo (0)) {
            println(mNumList.get(index))
        }
    実行画面

    step


    Stepを使用すると、インデックスの増加、減少量を制御できます.
    for(増減文step(増減量)として使用します.
    ex)
        val mNumList = mutableListOf<Int>(4, 5, 6, 7)
        for (i in 0 until mNumList.size step (2)){
            println(mNumList.get(i))
        }
    実行画面

    ドア


    while文は、次の条件式に一致しないまで文を繰り返します.
    フォーマットはwhile(条件文){実行文}
    ex)
        val b = 4
        var a = 1
        while (a < b) {
            println(a)
            a++
        }
    実行画面

    上記の例では、条件文は「aがbより小さい」である.
    したがって、aがb未満になるまで文を繰り返し実行する.
    aが出力されると、aの値は1つずつ増加するので、aがbの値4になるとwhile文は動作を停止する.

    マルチタイムゲート


    do while文はwhile文と同じ操作ですが、まず実行文を実行し、重複する条件を確認します.
    do{実行文}while(条件文)として使用します.
    ex)
        val b = 1
        var a = 1
        do {
            println(a)
            a++
        } while (a < b)
    実行画面

    上記の例では、繰り返しの条件は「aがbより小さい」である.
    aはbと同じであるため、重複する条件には適用されない.
    ただし、dowhile文では、まず文を1回実行し、値を出力します.
    while文が動作を停止するのが見えます.

    今日の感想

  • の複文をよく覚えてください.
  • 今日は他のことをするためによく勉強できなかったので、残念です.