空值处理
null也是值
表示没有东西,没有数据
在kotlin中因为可以智能识别值是否为空,所以空指针异常是可以避免的
但有时候又会使用这个值,那么示例如下就是空值的使用
fun hot(str:String?) : String {
//在限定类型的时候加上"?"意义就是可以放null值
return "天" + str
}
fun main(args: Array<String>) {
var result = hot(null)
print(result)
}
字符串模板
采用了$符和{}大括号来创建字符串模板
$代表值的意思, ${} 就是字符串模板
if/else的使用
第一种方式
fun main(args: Array<String>) {
var a = 1;
var b = 2;
print(more(a, b))
}
fun more(a: Int, b: Int): Int {
if (a>b) return a else return b
}
第二种方式
fun face(faces:Int){
if (faces > 80) {
println("真好看")
} else if (faces <= 80) {
println("真不好看")
}
}
fun main(args: Array<String>) {
print(face(81))
}
when的使用
和switch差不多,但是比switch功能性更强
fun main(args: Array<String>) {
toGoThere("香格里拉的卢本伟")
}
fun toGoThere(city: String) {
var name = """今天总算发工资了,这下可要去旅游了,决定了,就去${city}吧,
刚到地方,映入眼帘的就是${numToChinese(city.length)}个大字""".trimMargin()
print(name)
}
fun numToChinese(num:Int) : String {
var chinese = when(num) {
1 -> "一"
2 -> "二"
3 -> "三"
4 -> "四"
5 -> "五"
else -> num.toString()//"卧槽,这么长的名字都有吗?"
}
return chinese
}
//最后输出即可