for
    kotlinでのforはC#のforeachのようにコレクションの要素に順番にアクセスできます。
    もちろん、C言語などでよくあるN回繰り返すというような処理も可能です。
    そのような場合にはレンジを利用します。
fun main(args: Array) {
    val fruits = listOf("apple", "banana", "orange")
    // コレクションの要素を順番に取り出す
    for (item in fruits) {
        println(item)
    }
    // インデックスを取得して要素にアクセスすることもできる
    for (i in fruits.indices) {
        println(fruits[i])
    }
    // 要素とインデックスを同時に取り出すこともできます
    for ((index, item) in fruits.withIndex()) {
        println("${index}: item")
    }
    // レンジをりようし利用して指定回数繰り返す
    val num = 10
    var sum = 0
    for (i in 0 until num) {
        sum += i
        println("sum = ${sum}")
    }
}  apple
banana
orange
apple
banana
orange
0: item
1: item
2: item
sum = 0
sum = 1
sum = 3
sum = 6
sum = 10
sum = 15
sum = 21
sum = 28
sum = 36
sum = 45 while
    while、do…whileループはJavaなどと同様に使うことができます。
    do…whileでは、doブロック内で宣言した変数は、
    whileの条件判定部のスコープになります。
val data = mutableListOf(1, 2, 3, 4)
fun main(args: Array) {
    var num = 1
    while (num < 100) {
        num += num;
        println(num)
    }
    do {
        val num = fetchData()
        println(num)
    } while (num != null) // ここでもnumを参照することができます
}
fun fetchData(): Int? =
    if (data.isEmpty()) {
        null
    } else {
        val ret = data[0]
        data.removeAt(0)
        ret
    }  2
4
8
16
32
64
128
1
2
3
4
null