fun max(a: Int, b: Int) = if (a > b) a else b
if 在kotlin中是个表达式,它会返回一个值。
kotlin中没有三目运算符,因为如上的写法和三目运算符的作用是等效的。
/**
* A reference must be explicitly marked as nullable to be able hold a null.
* See http://kotlinlang.org/docs/reference/null-safety.html#null-safety
*/
package multiplier
//返回值为Int类型,加了?表示可以返回空值
fun parseInt(str:String):Int?{
try {
return str.toInt()
}catch (e: NumberFormatException){
println("One of the arguments isn't Int")
}
return null
}
fun main(args: Array<String>) {
if (args.size < 2){
println("No number supplied")
} else {
val x = parseInt(args[0])
val y = parseInt(args[1])
// 这里必须进行非空判断
if (x != null && y != null){
print(x * y)
} else {
println("One of the arguments is null")
}
}
}