Kotlin基础控制流和函数
Posted 大雄童鞋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin基础控制流和函数相关的知识,希望对你有一定的参考价值。
控制流
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的默认值是20
fun 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
以上是关于Kotlin基础控制流和函数的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin基础知识六: 标准函数(Standard Functions)
Kotlin - 在索引范围内的 IntArray 中查找最小值