1. 字符串模版
字符串模版现在很多语言都是支持的,比如说: php
和 js
等等。虽然 java
也可以用,但我没看到原生的支持。模块大家都差不多都是以 $
开头:
val name = "wujing"
println("I am ${name + "yue"}")
如果只有一个变量,没有其他操作,那么可以省略打括号:
val name = "wujing"
println("I am $name")
2. for 循环
kotlin
的 for
循环跟其他的有些是不同的,而且有好几点。
2.1 遍历数组
val items: List<String> = listOf("apple", "banana", "kiwifruit")
for (item in items) {
println(item)
}
这种情况下没有下标,使用下标的方式:
val items: IntArray = intArrayOf(1, 2, 3)
for (i in items.indices) {
println(items[i])
}
能使用这种方式遍历的都是具备下面的特征:
如上所述,for 可以循环遍历任何提供了迭代器的对象。即:
有一个成员函数或者扩展函数 iterator(),它的返回类型有一个成员函数或者扩展函数 next(),并且有一个成员函数或者扩展函数 hasNext() 返回 Boolean。
这三个函数都需要标记为 operator。
2.2 区间迭代
所谓区间迭代就是从多少到多少,比如:
for (i in 1..10) {
println(i)
}
这是递增的方式,如果是递减的方式,则:
for (i in 10 downTo 1) {
println(i)
}
还有数列迭代,也就是每一次不一定都是累加或累减 1
,还有可能每一次都走两步:
for (i in 10 downTo 1 step 2) {
println(i)
}
3. if 条件
在 kotlin
中增加了新的判断语句,也是关键词 in
:
// 判断一个区间中是否包含对应的数字
if (-1 in 1..9) {
println("在")
} else {
println("不在")
}
// 输出: 不在
// 判断一个数组中是否包含指定元素
val arr = intArrayOf(1, 5, 6, 3, 8)
if (1 in arr) {
println("在")
}
// 输出:在
有存在就有不存在:
if (-1 !in 1..9) {
println("不在")
}
// 输出:不在
也就是在 in
的前面添加 !
即可。关于 if
其他的在上一篇中说了: [学习]拥抱kotlin(一)。
网友评论