Kotlin 循环
当您处理数组时,经常需要遍历所有元素。
要遍历数组元素,请使用 for 循环和 in 操作符:
示例
输出 cars 数组中的所有元素:
1val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda") 2for (x in cars) { 3 println(x) 4}
您可以遍历各种类型的数组。在上面的示例中,我们使用了一个字符串数组。
在下面的示例中,我们遍历一个整数数组:
示例
1val nums = arrayOf(1, 5, 10, 15, 20) 2for (x in nums) { 3 println(x) 4}
传统的 For 循环
与 Java 和其他编程语言不同,Kotlin 中没有传统的 for 循环。
在 Kotlin 中,for 循环用于遍历数组、范围以及其他包含可计数值的事物。
Kotlin 范围
使用 for 循环,您还可以使用 .. 创建值的范围:
示例
打印整个字母表:
1for (chars in 'a'..'x') { 2 println(chars) 3}
您还可以创建数字范围:
示例
1for (nums in 5..15) { 2 println(nums) 3}
注意:第一个和最后一个值包含在范围内。
检查值是否存在
您还可以使用 in 操作符检查值是否存在于范围内:
示例
1val nums = arrayOf(2, 4, 6, 8) 2if (2 in nums) { 3 println("存在!") 4} else { 5 println("不存在。") 6}
示例
1val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda") 2if ("Volvo" in cars) { 3 println("存在!") 4} else { 5 println("不存在。") 6}
中断或继续一个范围
您还可以在范围/for 循环中使用 break 和 continue 关键字:
示例
当 nums 等于 10 时停止循环:
1for (nums in 5..15) { 2 if (nums == 10) { 3 break 4 } 5 println(nums) 6}
示例
跳过循环中的 10 并继续下一个迭代:
1for (nums in 5..15) { 2 if (nums == 10) { 3 continue 4 } 5 println(nums) 6}
Kotlin 函数
函数是只有在调用时才运行的一段代码。
您可以将数据(称为参数)传递给函数。
函数用于执行某些操作,它们也被称为方法。
预定义函数
事实证明,您已经知道函数是什么。在本教程中,您一直在使用它!
例如,println() 是一个函数。它用于向屏幕输出/打印文本:
示例
1fun main() { 2 println("Hello World") 3}
创建您自己的函数
要创建您自己的函数,请使用 fun 关键字,并写出函数名称,后跟括号 ():
示例
创建一个名为 myFunction 的函数,该函数应该输出一些文本:
1fun myFunction() { 2 println("I just got executed!") 3}
调用函数
现在您已经创建了一个函数,可以通过调用它来执行。
要在 Kotlin 中调用函数,写出函数名,后跟两个括号 ()。
在下面的示例中,myFunction() 被调用时会打印一些文本(操作):
示例
1fun main() { 2 myFunction() // 调用 myFunction 3} 4 5// 输出 "I just got executed!"
如果您愿意,可以多次调用一个函数:
示例
1fun main() { 2 myFunction() 3 myFunction() 4 myFunction() 5} 6 7// I just got executed! 8// I just got executed! 9// I just got executed!
函数参数
信息可以作为参数传递给函数。
参数在函数名称之后指定,在括号内。您可以添加任意数量的参数,只需用逗号分隔。请注意,您必须指定每个参数的类型(Int、String 等)。
下面的示例有一个函数,它接收一个名为 fname 的字符串参数。当调用函数时,我们传递一个名字,它在函数内部用于打印全名:
示例
1fun myFunction(fname: String) { 2 println(fname + " Doe") 3} 4 5fun main() { 6 myFunction("John") 7 myFunction("Jane") 8 myFunction("George") 9} 10 11// John Doe 12// Jane Doe 13// George Doe
当一个参数传递给函数时,它被称为实参。所以,从上面的示例中:fname 是一个参数,而 John、Jane 和 George 是实参。
多个参数
您可以拥有任意数量的参数:
示例
1fun myFunction(fname: String, age: Int) { 2 println(fname + " is " + age) 3} 4 5fun main() { 6 myFunction("John", 35) 7 myFunction("Jane", 32) 8 myFunction("George", 15) 9} 10 11// John is 35 12// Jane is 32 13// George is 15
注意:使用多个参数时,函数调用必须具有与参数数量相同的实参,并且实参必须以相同的顺序传递。
返回值
在上面的示例中,我们使用函数输出一个值。在下面的示例中,我们将使用函数返回一个值并将其赋值给一个变量。
要返回一个值,请使用 return 关键字,并在函数的括号后指定返回类型(在此示例中为 Int):
示例
具有一个 Int 参数和 Int 返回类型的函数:
1fun myFunction(x: Int): Int { 2 return (x + 5) 3} 4 5fun main() { 6 var result = myFunction(3) 7 println(result) 8} 9 10// 8 (3 + 5)
使用两个参数
示例
具有两个 Int 参数和 Int 返回类型的函数:
1fun myFunction(x: Int, y: Int): Int { 2 return (x + y) 3} 4 5fun main() { 6 var result = myFunction(3, 5) 7 println(result) 8// 8 (3 + 5)
返回值的简写语法
还有一种更简短的语法来返回值。您可以使用 = 操作符代替 return,而无需指定返回类型。Kotlin 足够聪明,可以自动找出返回类型:
示例
1fun myFunction(x: Int, y: Int) = x + y 2 3fun main() { 4 var result = myFunction(3, 5) 5 println(result) 6// 8 (3 + 5)
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
