本文只记录重要的或者与C/C++、Java 出入较大的内容
IF
需要注意,Kotlin中没有三元运算符 :?
, 因为if
表达式会有返回值,当条件内逻辑为代码段时,则选择最后一句的值作为返回值。
FOR
Kotlin中不再有 for(int i=0;i<n;++i)
这种语法。
- 关键字 until
for (i in 0 until 5){ print("i => $i \t") //until[0,5) }
- 关键词downTo
for(i in 15 downTo 0){ print("i=> $i \t") //downTo[15->0] }
- 关键符号“..”
print("使用 符号`..`的打印结果\n") for (i in 20 .. 25){ print("i => $i \t") } println() //输出结果为 i=>20 i=>21 i=>22 i=>23 i=>24 i=>25
- 设置步长
for(i in 10 until 16 step 2){ print("i => $i \t") //输出10,12,14 }
- 迭代
提供一个迭代器来遍历任何东西;数组被编译为一个基于索引的循环,他不会创建一个迭代器对象
- 遍历字符串
for (i in "abcdefg"){ print("i => $i \t") }
- 遍历数组
var arrayListOne = arrayOf(10,20,30,40,50) for (i in arrayListOne){ print("i => $i \t") }
- 使用indices遍历数组
var arrayListTwo = arrayOf(1,3,5,7,9) for (i in arrayListTwo.indices){ println("arrayListTwo[$i] => " + arrayListTwo[i]) }
- 使用withIndex()遍历数组
var arrayListTwo = arrayOf(1,3,5,7,9) for ((index,value) in arrayListTwo.withIndex()){ println("index => $index \t value => $value") }
- 使用列表或数组的扩展函数遍历
var arrayListThree = arrayOf(2,'a',3,false,9) var iterator: Iterator<Any> = arrayListThree.iterator() while (iterator.hasNext()){ println(iterator.next()) }
//需要学习 Kotlin中的 it关键字 / Array函数本质 / lamda表达 / 函数定义