条件控制

if表达式

基本用法

  1. // 传统用法
  2. var max = a
  3. if (a < b) max = b
  4. // 使用 else
  5. var max: Int
  6. if (a > b) {
  7. max = a
  8. } else {
  9. max = b
  10. }
  11. // 作为表达式
  12. val max = if (a > b) a else b

实例

  1. fun main(args: Array<String>) {
  2. var x = 0
  3. if(x>0){
  4. println("x 大于 0")
  5. }else if(x==0){
  6. println("x 等于 0")
  7. }else{
  8. println("x 小于 0")
  9. }
  10. var a = 1
  11. var b = 2
  12. val c = if (a>=b) a else b
  13. println("c 的值为 $c")
  14. }

运行结果如下

  1. x 等于 0
  2. c 的值为 2

when表达式

基础用法

  1. when (x) {
  2. 1 -> print("x == 1") //x等于1的时候输出x==1
  3. 2 -> print("x == 2") //x等于2的时候输出x==2
  4. else -> { // 注意这个块
  5. print("x 不是 1 ,也不是 2")
  6. }
  7. }

多个分支

  1. when (x) {
  2. 0, 1 -> print("x == 0 or x == 1")
  3. else -> print("otherwise")
  4. }

在区间中

  1. when (x) {
  2. in 1..10 -> print("x is in the range")
  3. else -> print("none of the above")
  4. }

综合实例

  1. fun main(args: Array<String>) {
  2. var x = 0
  3. when (x) {
  4. 0, 1 -> println("x == 0 or x == 1")
  5. else -> println("otherwise")
  6. }
  7. when (x) {
  8. 1 -> println("x == 1")
  9. 2 -> println("x == 2")
  10. else -> { // 注意这个块
  11. println("x 不是 1 ,也不是 2")
  12. }
  13. }
  14. when (x) {
  15. in 0..10 -> println("x 在该区间范围内")
  16. else -> println("x 不在该区间范围内")
  17. }
  18. }
  1. 输出结果为
  1. x == 0 or x == 1
  2. x 不是 1 ,也不是 2
  3. x 在该区间范围内

循环控制

for循环

基本语法

  1. for (item in items) {
  2. // ……
  3. }

实例

  1. fun main(args: Array<String>) {
  2. val items = listOf("apple", "banana", "kiwi")
  3. for (item in items) {
  4. println(item)
  5. }
  6. }
  1. 输出结果如下
  1. apple
  2. banana
  3. kiwi

while 与 do while

基本语法

  1. while( 布尔表达式 ) {
  2. //循环内容
  3. }
  4. do {
  5. //代码语句
  6. }while(布尔表达式);

实例

  1. fun main(args: Array<String>) {
  2. println("----while 使用-----")
  3. var x = 5
  4. while (x > 0) {
  5. println( x--)
  6. }
  7. println("----do...while 使用-----")
  8. var y = 5
  9. do {
  10. println(y--)
  11. } while(y>0)
  12. }
  1. 输出结果为:
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
  6. ----do...while 使用-----
  7. 5
  8. 4
  9. 3
  10. 2
  11. 1

break和continue

  1. fun main(args: Array<String>) {
  2. for (i in 1..10) {
  3. if (i==3) continue // i 为 3 时跳过当前循环,继续下一次循环
  4. println(i)
  5. if (i>5) break // i 为 6 时 跳出循环
  6. }
  7. }