Kotlin基础(四)控制流和函数
来源:互联网 发布:手机wifi热点软件 编辑:程序博客网 时间:2024/05/23 01:15
控制流
if elseif / while / when / for break continue
var array = arrayOf(1, 2, 3, 4, 5) //遍历 for (a in array) { if (a > 2) { print(a) } } //范围内 for (a in 5..20) { print(a) } var number = 1 var total = 0; while (total < 505) { total = total + number if (total > 100) { println("大于" + total) break } else { println("小于" + total) } }
when
var cu = 18//满足一个条件就结束,相当于java中的elseif//可对变量的大小/范围/值表达式/类型进行判断when (cu) { //范围(不在0~10之间) !in 0..10 -> { println("在范围内=="+cu) } //范围 1,2,3,18 -> { println("在范围内=="+cu) } //表达式 (8-6) ->{ println("2=="+cu) } //类型 is Int -> { println("${cu}是Int类型") } else -> { println(cu) }}
函数
普通函数
// fun 函数名(入参 : 参数类型 = 默认值): 返回值类型//y的默认值是20fun add(x: Int, y: Int = 20): Int { return x + y}//可变参数修饰符vararg,类似Java中的String...和int...fun sum( vararg ints : Int) : Int {var total = 0 for (a in ints) { total = total + a } return total}
fun main(args: Array<String>) { var c = add(1,2) //给了y的入参,默认值就失效了 var d = add(x = 3, y = 4) //y有默认值的时候,y可以不传 var e = add(2) println("相加后${c} ${d} ${e}") var sum = sum(5,6,2,4,9) //或 var intarray = intArrayOf(5,6,2,4,9) var sum2 = sum(*intarray) println("数组相加后${sum} ${sum2}")}
高阶函数(map和filter)
fun main(args: Array<String>) { var array = intArrayOf(1,2,3,4,5) //高阶函数:描述任务的结果,而不是使用循环详细推算 //map:常用语对集合类型的所有元素类型转换 //lambda(无名函数) 函数的元素约定名称为it var b = array.map { "第${it}"} for (i in b) { println(i) } //筛选函数 var sum = 0 var d = array.filter { it % 2 == 0 }.forEach { sum = sum + it }}
阅读全文