按照开发文档敲了一遍,根据打印值对其中的使用进行了简单注释
package net.edaibu.kotlintest
/**
* Created by ${GEQIPENG} on 2017/5/20.
*/
fun main(args: Array<String>) {
println("for 循环_______________________")
//for 循环遍历
val items = listOf("apple", "orange", "banana")
for (item in items) {
println(item)
}
//通过索引遍历
for (index in items.indices)
println("item in $index is ${items[index]}")
println("while循环__________________________________")
//while 循环
val itemList = listOf("red", "green", "blue", "yellow")
var index = 0
while (index < itemList.size) {
println("color in $index is ${itemList[index]}")
index++
}
println("when表达式__________________________")
//when 表达式
fun describe(objects: Any): String =
when (objects) {
1 -> "one"
2 -> "two"
3 -> "three"
4 -> "four"
5 -> "five"
else -> "unKnown"
}
println(describe(1))
println(describe(6))
println("range使用_____________________________")
val x = 10
val y = 9
if (x in 1..y + 1) {
println("$x in range")
}
println("范围迭代遍历___________________________________")
for (x in 1..20) {
print("$x ,")
}
println()
println("___________________________________")
val itemList2 = listOf("001", "002", "003", "004", "005")
if (-1 !in 1..itemList2.size) {
println("-1 not in itemList2")
}
if (itemList2.size !in itemList2.indices) {
println("itemList2 size out of itemList2 indices")
}
println("步进模式判断_____________________________________")
//步进模式就是每几个单位显示一次,我这里step后写的3,输出1,4,7,10
for (x in 1..10 step 3) {
print("$x ,")
}
println()
println("集合的使用________________________________")
println("list集合")
//遍历输出
val listItems = listOf("orange", "apple", "banana")
for (item in listItems) {
print("$item ")
}
println()
println("set 集合")
//注意when使用时优先匹配第一个输出,一旦输出,后面的将不再输出
val setItems = setOf("北京", "天津", "上海", "广州", "深圳")
when {
"北京" in setItems -> println("天安门")
"天津" in setItems -> println("狗不理包子")
"上海" in setItems -> println("东方电视塔")
"广州" in setItems -> println("小蛮腰")
"深圳" in setItems -> println("华侨城")
else -> println("搞错了地址")
}
println("lamada表达式___________________________________")
val listItems2 = listOf("orange", "apple", "banana","ok","okHttp","okIo")
listItems2.filter { it.startsWith("o")}//筛选以o开头的字符串
.sortedBy { it }//排序
.map { it.toUpperCase()}//转换为大写字母
.forEach { println(it) }//遍历
}