今晚睡不着。。。。。不知道是不是看综艺看嗨了。。。。那继续补Kotlin的坑吧hhh
表达式
if表达式
if...else...和Java代码的使用一致
和Java代码不同的地方:
if语句是有返回值的, 可以进行赋值,但是要注意表达式赋值时分支必须要完备
赋值语句:
val x=if(b<0) 0 else b
when表达式
加强版switch,支持任意类型
支持纯表达式条件分支(类似if)
表达式的完备性和if完全相同
循环语句
for循环
基本写法:for(element in elements)...
给任意类实现Iterator方法
while循环
和Java使用方法一致
异常捕获
try...catch
catch分支匹配异常类型
表达式,可以用来赋值
参数
具名参数:
给函数的实参附上形参
eg:sum(arg1=2,arg2=3)
变长参数:
某个参数可以接受多个值
可以不为最后一个参数
如果在传参的时候有歧义,需要使用具名参数
Spread Operator
只支持展开Array
只用于变长参数列表的实参
不能重载
fun main(vararg args:String)
{
for(arg in args)
{
println(arg)
}
}
默认参数
为函数参数指定默认值
可以为任意位置的参数指定默认值
传参时,如果存在歧义,需要使用具名参数来进行传参
这里传的double值就是默认参数