Posts /

Kotlin 学习记录(逻辑控制)

15 Jul 2019

Kotlin 学习记录


本文只记录重要的或者与C/C++、Java 出入较大的内容

逻辑控制

  1. IF

​ 需要注意,Kotlin中没有三元运算符 :?, 因为if表达式会有返回值,当条件内逻辑为代码段时,则选择最后一句的值作为返回值。

  1. 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表达 / 函数定义