2.4反復事物:while循環とfor循環

1713 ワード

2.4.1 whileサイクル
Kotlinにはwhileループとdo-whileループがあり、彼らの文法とJavaの対応するループには何の違いもありません.
2.4.2反復数:区間と数列
Javaではforループは、変数を初期化し、ループの各ステップで値を更新し、制限条件を満たすとループを終了します.このような最も一般的な循環用法に代わるために,Kotlinは区間の概念を用いた.
区間は本質的に2つの値の間の間隔であり、この2つの値は通常、数値です.1つの開始値、1つの終了値です.使用...演算子は区間を表します.
val oneToTen = 1..10

Kotlinの区間は含むか閉じているので、until関数を使用して終了値の半閉じた区間を作成できます.
1~100の値を印刷
for (i in 1..100) {

println(i)

}

逆順序印刷、偶数のみ印刷
for (i in 100 downTo 1 step 2) {

println(i)

}

2.4.3反復map、listセット
val binaryReps = TreeMap()

for (c in 'A'..'F'){

val binary = Integer.toBinaryString(c.toInt())

binaryReps[c] = binary

}

for ((letter,binary) in binaryReps){

println("$letter = $binary")

}

》》》
val list = arrayListOf("a","b","c")

for ((index,element) in list.withIndex()){ //         

println("$index:$element")

}

 
2.4.4「in」を使用してコレクションと区間のメンバーをチェックする
 
in演算子を使用して、値が区間にあるかどうか、またはその逆演算を確認します.n、この値が区間にないかどうかをチェックします.
fun recognize(c: Char) =

when (c) {

in '0'..'9' -> "It's a diglt!"

in 'a'..'z', in 'A'..'Z' -> "it's a letter"

else -> "I don't know"

}
println("Kotlin" in "Java".."Scala")

ここで文字列比較はアルファベット順で比較されます.StringはComparableを実現しているからです.
println("Kotlin" in setOf("Java","Scala")) // in