Типизация цикла в Kotlin
До сих пор тип в цикле не писали. Kotlin выводил его сам. Тип можно поставить явно. Его пишут после имени переменной:
val arr: Array<Int> = arrayOf(1, 2, 3)
for (num: Int in arr) {
println(num)
}
У массива строк тип элемента другой, и у переменной цикла он тот же:
val arr: Array<String> = arrayOf("a", "b", "c")
for (elem: String in arr) {
println(elem)
}
Отдельный символ в цикле имеет свой тип:
val arr: Array<Char> = arrayOf('a', 'b', 'c')
for (elem: Char in arr) {
println(elem)
}
Индекс ячейки - целое число. У переменной индекса тот же тип:
val arr: Array<Int> = arrayOf(1, 2, 3)
for (i: Int in arr.indices) {
println(arr[i])
}
Сумму копят в переменной целого типа.
На экран попадет 6:
val arr: Array<Int> = arrayOf(1, 2, 3)
var sum: Int = 0
for (num: Int in arr) {
sum += num
}
println(sum)
Строку копят в переменной строкового типа.
На экран попадет "abc":
val arr: Array<String> = arrayOf("a", "b", "c")
var res: String = ""
for (elem: String in arr) {
res += elem
}
println(res)
Счетчик подходящих элементов тоже целый:
val arr: Array<Int> = arrayOf(1, 2, 3)
var count: Int = 0
for (num: Int in arr) {
if (num == 2) {
count++
}
}
println(count)
Дан код:
val arr = arrayOf(4, 5, 6)
for (num in arr) {
println(num)
}
Явно расставьте типы.
Дан код:
val arr = arrayOf("x", "y", "z")
for (elem in arr) {
println(elem)
}
Явно расставьте типы.
Дан код:
val arr = arrayOf('x', 'y', 'z')
for (elem in arr) {
println(elem)
}
Явно расставьте типы.
Дан код:
val arr = arrayOf(2, 4, 6)
for (i in arr.indices) {
println(arr[i])
}
Явно расставьте типы.
Дан код:
val arr = arrayOf(2, 4, 6)
var sum = 0
for (num in arr) {
sum += num
}
Явно расставьте типы.
Дан код:
val arr = arrayOf("x", "y", "z")
var res = ""
for (elem in arr) {
res += elem
}
Явно расставьте типы.
Дан код:
val arr = arrayOf(1, 2, 3, 4)
var count = 0
for (num in arr) {
if (num % 2 == 0) {
count++
}
}
Явно расставьте типы.