1.控制流
fun main(args: Array<String>) {
println("----------------依次操作一个序列(如集合类型)中的每一项----------------")
val numbers = arrayOf(1, 2, 3, 4)
for (number in numbers) {
println(number)
}
println("----------------重复执行----------------")
for (n in 1..3) {
println(n)
}
println("----------------while:循环执行----------------")
var number = 1
while (number < 5) {
number++
println("hello")
}
println("----------------结束本次循环:continue----------------")
val numbers2 = arrayOf(1, 2, 3, 4)
for (number in numbers2) {
if (number == 2) {
break
}
println(number)
}
println("----------------结束整个循环:break----------------")
var number2 = 1
while (number2 < 5) {
number2++
if (number2 == 3) {
break
}
println("hello")
}
println("----------------条件判断语句:if----------------")
val a = 3
val b = 5
val result = if (a > b) "a大于b" else "a小于b"
println(result)
println("----------------条件判断语句:if----------------")
val c = 11
when (c) {
in 0..10 -> {
println("在0到10之间")
}
11,13,15 -> {
println("属于11,13,15中的值")
}
is Int -> {
println("c属于整数")
}
else -> {
println("c属于String类型")
}
}
}
----------------依次操作一个序列(如集合类型)中的每一项----------------
1
2
3
4
----------------重复执行----------------
1
2
3
----------------while:循环执行----------------
hello
hello
hello
hello
----------------结束本次循环:continue----------------
1
----------------结束整个循环:break----------------
hello
----------------条件判断语句:if----------------
a小于b
----------------条件判断语句:if----------------
属于11,13,15中的值
2.函数
fun main(args: Array<String>) {
println("----------------类似于C++ 给参数一个默认值----------------")
val a = add(3)
println(a)
println("----------------正常调用----------------")
val b = add(3, 5)
println(b)
println("----------------可变参数 传递元素----------------")
println(sum(1,2,3,4,20))
println("----------------可变参数 传递数组*Array----------------")
val c = intArrayOf(1,2,3,4,20)
println(sum(*c))
}
fun add(x: Int, y: Int = 1): Int {
return x + y
}
fun sum(vararg x: Int): Int {
var total = 0
for (i in x) {
total += i
}
return total
}
----------------类似于C++ 给参数一个默认值----------------
4
----------------正常调用----------------
8
----------------可变参数 传递元素----------------
30
----------------可变参数 传递数组*Array----------------
30
3.初识lambda与高阶函数
fun main(args: Array<String>) {
println("----------------map:常用与对集合类型的元素类型整体转变----------------")
val a = arrayOf(1,2,3,4,5,6,7,8)
val b = a.map { "变为1$it" }
for (s in b){
println(s)
}
println("----------------filter:对集合类型进行筛选----------------")
val c = a.filter { it %2 ==0 }
for (i in c) {
println(i)
}
println("----------------filter使用:对筛选数求和----------------")
var sum = 0
a.filter { it %2 ==0 }.forEach{
sum+=it
println(it)
}
println("求和:$sum")
}
----------------map:常用与对集合类型的元素类型整体转变----------------
变为11
变为12
变为13
变为14
变为15
变为16
变为17
变为18
----------------filter:对集合类型进行筛选----------------
2
4
6
8
----------------filter使用:对筛选数求和----------------
2
4
6
8
求和:20