1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Kotlin レンジを使用したループ処理の基本表現

Last updated at Posted at 2019-11-21

Rangesを使用してループを回すときの基本的な表現を、
0~10までの数字を順番(昇順/降順)に並べるという簡単なお題でまとめた。

表現上でのルール

数字は010以外は使用できないものとしてみた。
10を含めたくない時に無理やり9とか、10-1とかで表現しないようにする。)

昇順

昇順 (〜を含めたい)

    /**
     * 昇順 (10を含めたい)
     */
    /* 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 */
    for (i in 0..10) println(i) // forループで書いた場合
    (0..10).forEach { println(it) } // forEachで書いた場合

昇順 (〜を含めたくない)

    /**
     * 昇順 (10を含めたくない)
     * ex) listのindexとかでよく使う
     */
    /* 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 */
    for (i in 0 until 10) println(i) // forループで書いた場合
    (0 until 10).forEach { println(it) } // forEachで書いた場合

降順

降順 (〜を含めたい)

    /**
     * 降順 (10を含めたい)
     */
    /* 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 */
    for (i in 10 downTo 0) println(i) // forループで書いた場合
    (10 downTo 0).forEach { println(it) } // forEachで書いた場合
    for (i in 10..0) println(i) // forループで書いた場合
    (10..0).forEach { println(it) } // forEachで書いた場合

降順 (〜を含めたくない)

    /**
     * 降順 (10を含めたくない)
     * ex) listのindexとかでよく使う
     */
    /* 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 */
    for (i in (0 until 10).reversed()) println(i) // forループで書いた場合
    (0 until 10).reversed().forEach { println(it) } // forEachで書いた場合

And more ...

割と組み合わせ方次第でなんとでも書ける感があるので、今回はこの辺で👋

参考

Ranges - Kotlin Programming Language

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?