鱼C论坛

 找回密码
 立即注册
查看: 3121|回复: 2

[技术交流] kotlin 基础之循环语句与判断表达式

[复制链接]
发表于 2017-11-15 08:55:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. fun main(args: Array<String>) {
  2.     var i=0
  3.     var j=0
  4.     while(i<10){
  5.         i++
  6.         print(i)
  7.     }
  8.     println()
  9.     println("---------------一条分割线----------------")
  10.     do {
  11.         j++
  12.         print(j)
  13.     }while (j<10)
  14. }
复制代码

while(){}和do{}while()语句,跟其他语言都差不多,输出结果为:
12345678910
---------------一条分割线----------------
12345678910



下面说一下for循环,这跟别的语言的区别是在判断里可以用in表达式和区间,例如:
  1. var list= listOf("小甲鱼","不二如是","风介","康小泡")
  2.     for (i in list){
  3.         println(i)
  4.     }
  5.     println()
  6.     for(i in 1..10){
  7.         print(i)
  8.     }
复制代码

输出结果为:
  1. 小甲鱼
  2. 不二如是
  3. 风介
  4. 康小泡

  5. 12345678910
复制代码

在1和10之间放两个点就是一个区间,使用这个非常方便,而且还可以转换为列表,如:
  1. var arrayList=(0..100).toList()
  2.     print(arrayList)
复制代码

输出结果为:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]

区间也可以是字母,如:
  1. for(i in 'a'..'z'){
  2.         print(i)
  3.     }
复制代码

输出结果为:
abcdefghijklmnopqrstuvwxyz

if判断表达式跟其他语言的区别是有返回值,如:
  1. var a="a"
  2.     var b="b"
  3.     var d=if (a is String){
  4.         var c=a.plus(b)
  5.         c
  6.     }else{
  7.         ""
  8.     }
  9.     print(d)
复制代码

这个代码的意思就是如果a的类型是字符串,那就返回字符串a+b的值,如果不是就返回个空字符串。注意:只有大括号里的最后一行才能作为返回值,
输出结果为:
ab


接着介绍when表达式,在别的语言里相似的有switch语句,kotlin把switch改成了when表达式,这种更简便好用,他同样也有返回值,例如:
  1. val str:String?=null
  2.     val num:Int?=10
  3.     val a=when(num){
  4.         in 1..10-> "the number equal $num"
  5.         else->"the number is not in this array"
  6.     }
  7.     val b=when{
  8.         str==null-> "str is empty"
  9.         else->""
  10.     }
  11.     println(a)
  12.     println(b)
复制代码

输出结果:
the number equal 10
str is empty

评分

参与人数 2荣誉 +10 鱼币 +10 贡献 +8 收起 理由
chun888 + 5 + 5 + 3 鱼C有你更精彩^_^
不二如是 + 5 + 5 + 5 期待~

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-15 10:09:37 | 显示全部楼层
排版有进步~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-16 13:45:57 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 22:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表