Kotlin基础语法
2018-09-20 本文已影响1人
kevinLY
一、字符串模板
$ 表示一个变量名或者变量值
$ varName 表示变量值
$ {varName.fun()} 表示变量的方法返回值:
var a = 1
// 模板中的简单名称:
val s1 = "a is $a" // 输出: a is 1
a = 2
// 模板中的任意表达式:
val s2 = "${s1.replace("is", "was")}, but now is $a" // 输出 "a was 1, but now is 2"
Debug:
图片.png
二、NULL检查机制
Kotlin的空安全设计对于声明可为空的参数,在使用时要进行空判断处理,
有两种处理方式,
1、字段后加!!像Java一样抛出空异常,
2、另一种字段后加?可不做处理返回值为 null
3、配合?:做空判断处理
声明一个可以为空的变量:
//类型后面加?表示可为空
var age: String? = "23"
// 1、字段后加!!像Java一样抛出空异常,
//抛出空指针异常
val ages = age!!.toInt()
// 2、另一种字段后加?可不做处理返回值为 null
//不做处理返回 null
val ages1 = age?.toInt()
// 3、配合?:做空判断处理
//age为空返回-1
val ages2 = age?.toInt() ?: -1
三、区间
区间表达式由具有操作符形式 .. 的 rangeTo 函数辅以 in 和 !in 形成。
区间是为任何可比较类型定义的,但对于<整型原生类型>,它有一个优化的实现。
A:区间含义
for (i in 1..4) print(i) // 输出“1234”
等同于
for (var i = 1; i <= 4; i++) {
print(i)
}
for (i in 4..1) print(i) // 什么都不输出
等同于
for (var i = 4; i <= 1; i++) {
print(i)
}
B:使用步长 step
// 使用 step 指定步长
for (i in 1..4 step 2) print(i) // 输出“13”
等同于
for (var i = 1; i <= 4; i=i+2) {
print(i)
}
C:
for (i in 4 downTo 1 step 2) print(i) // 输出“42”
等同于
for (var i = 4; i >= 1; i=i-2) {
print(i)
}
D:半开区间
// 使用 until 函数排除结束元素
for (i in 1 until 10) { // i in [1, 10) 排除了 10
println(i)
}
等同于
for (var i = 1; i < 10; i++) {
print(i)
}