kotlin中循环和嵌套循环的区别
Differences between loops and nested loops in kotlin
fun main(args: Array<String>) {
val books = arrayListOf("farenheit 451", "1984", "Altered Carbon", "dark matter", "Le probleme à trois corps")
for (book in books) {
if (book.contains('e')) {
println(book)
}
}
}
为什么打印这个结果:
华氏 451
变碳
暗物质
三军问题
当这个 :
fun main(args: Array<String>) {
val books = arrayListOf("farenheit 451", "1984", "Altered Carbon", "dark matter", "Le probleme à trois corps")
for (book in books) {
if (book.contains('e')) {
for(l in book){
println(l)
}
}
}
}
单独打印每个字符?
我想我知道,但不确定:
第一个循环将遍历每个元素,因此逐行打印书籍名称。
而在第二种情况下,嵌套循环遍历每个元素的每个字符
我理解正确吗?
是的,你完全正确; books
是 字符串集合 ,而 book
是 单个 字符串。
因为您不能遍历单个字符串,所以您要求遍历字符串的每个 字符(字母)。
所以你将遍历书籍,farenheit 451
将通过条件,因此 l
将是 f
、a
、r
和每次迭代依此类推。 1984
将被跳过,因为它没有通过条件,并且不会被循环。 Altered Carbon
然后将传递条件,因此将遍历其每个字符。
fun main(args: Array<String>) {
val books = arrayListOf("farenheit 451", "1984", "Altered Carbon", "dark matter", "Le probleme à trois corps")
for (book in books) {
if (book.contains('e')) {
println(book)
}
}
}
为什么打印这个结果:
华氏 451
变碳
暗物质
三军问题
当这个 :
fun main(args: Array<String>) {
val books = arrayListOf("farenheit 451", "1984", "Altered Carbon", "dark matter", "Le probleme à trois corps")
for (book in books) {
if (book.contains('e')) {
for(l in book){
println(l)
}
}
}
}
单独打印每个字符?
我想我知道,但不确定: 第一个循环将遍历每个元素,因此逐行打印书籍名称。
而在第二种情况下,嵌套循环遍历每个元素的每个字符
我理解正确吗?
是的,你完全正确; books
是 字符串集合 ,而 book
是 单个 字符串。
因为您不能遍历单个字符串,所以您要求遍历字符串的每个 字符(字母)。
所以你将遍历书籍,farenheit 451
将通过条件,因此 l
将是 f
、a
、r
和每次迭代依此类推。 1984
将被跳过,因为它没有通过条件,并且不会被循环。 Altered Carbon
然后将传递条件,因此将遍历其每个字符。