2.4反復事物:while循環とfor循環
2.4.1 whileサイクル
Kotlinにはwhileループとdo-whileループがあり、彼らの文法とJavaの対応するループには何の違いもありません.
2.4.2反復数:区間と数列
Javaではforループは、変数を初期化し、ループの各ステップで値を更新し、制限条件を満たすとループを終了します.このような最も一般的な循環用法に代わるために,Kotlinは区間の概念を用いた.
区間は本質的に2つの値の間の間隔であり、この2つの値は通常、数値です.1つの開始値、1つの終了値です.使用...演算子は区間を表します.
Kotlinの区間は含むか閉じているので、until関数を使用して終了値の半閉じた区間を作成できます.
1~100の値を印刷
逆順序印刷、偶数のみ印刷
2.4.3反復map、listセット
》》》
2.4.4「in」を使用してコレクションと区間のメンバーをチェックする
in演算子を使用して、値が区間にあるかどうか、またはその逆演算を確認します.n、この値が区間にないかどうかをチェックします.
ここで文字列比較はアルファベット順で比較されます.StringはComparableを実現しているからです.
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