Android kotlin入门与基础语法二
来源:互联网 发布:刘邦历史书籍 知乎 编辑:程序博客网 时间:2024/05/16 08:29
基本语法:
使用类型检测及自动类型转换
is运算符检测一个表达式是否某类型的一个实例。如果一个不可变的局部变量或属性已经判断出为某类型,那么检测后的分支中可以直接当作该类型使用,无需显示转换,代码示例:
fun getStringLength(obj:Any):Int?{ if(obj is String) { //'obj'在该条件分支内自动转换成'String' return obj.length } //在离开类型检测分支后,'obj'仍然是'Any'类型 return null}fun main(args: Array<String>) { println("Hello, world!") val a=getStringLength("thanks") println(a)}fun getStringLength(obj: Any): Int? {if (obj !is String) return null// `obj` 在这⼀分⽀⾃动转换为 `String`return obj.length}fun getStringLength(obj: Any): Int? {// `obj` 在 `&&` 右边⾃动转换成 `String` 类型if (obj is String && obj.length > 0) {return obj.length}return null}
for 循环的使用
val items = listOf("apple", "banana", "kiwi")for (item in items) {println(item)}或者val items = listOf("apple", "banana", "kiwi")for (index in items.indices) {println("item at $index is ${items[index]}")}
使用while循环
fun main(args: Array<String>) { val items = listOf("apple", "banana", "kiwi") var index=0 while(index<items.size){ println("item at $index is ${items[index]}") index++ }}
使用when表达式
when表达式的神奇之处就是可以任意规则匹配when方法的参数obj值,甚至是一个表达式,然后一个帅气又直接的else就返回匹配不到的情况值,真是牛了!
fun describe(obj:Any):String= when(obj){ 1->"one" "Hello"->"Greeting" is Long->"Long" !is String->"Not a String" else->"Unknown"}
区间:使用in运算符检测某个数字是否在指定区间内:
普通区间:
val x = 10val y = 9if (x in 1..y+1) {println("fits in range")}
区间迭代:
for (x in 1..5) {print(x)}输出结果: 1 2 3 4 5s
数列迭代:
for(x in 1 .. 10 step 2){ print(x)}输出结果: 1 3 5 7 9for(x in 9 downTo 0 step 3){ print(x)}输出结果: 9 6 3 0
使用集合
集合for in普通迭代
for (item in items) {println(item)}
使用when in运算符判断集合内是否包含某实例
when {"orange" in items -> println("juicy")"apple" in items -> println("apple is fine too")}
使用 lambda 表达式来过滤(filter)和映射(map)集合:
fruits.filter { it.startsWith("a") }.sortedBy { it }.map { it.toUpperCase() }.forEach { println(it) }
备注: 详细请参见lambda函数及lambda表达式
阅读全文
0 0
- Android kotlin入门与基础语法二
- Android kotlin入门与基础语法一
- Kotlin for Android(二)Kotlin基础语法
- Android kotlin 基础语法
- Kotlin学习过程 二 Kotlin基础语法
- Kotlin(二)-->基础语法
- Kotlin(二)-->基础语法
- Kotlin语法(二)基础语法
- Android Kotlin学习--基础语法
- Kotlin基础入门(二)
- Android 与 Kotlin 入门
- kotlin入门系列二---基本语法
- Kotlin入门____基础语法(一)
- Kotlin入门篇之基础语法
- Kotlin 入门基础语法学习笔记
- Kotlin学习过程 三 Kotlin基础语法二
- 零基础入门Android语法与界
- Kotlin语法基础,函数与闭包
- 整机调试连不上手机时解决办法
- 时间:UTC时间、GMT时间、本地时间、Unix时间戳
- 金钱格式化
- Dcokerfile构建Centos-ssh镜像
- GITLAB修改分支权限
- Android kotlin入门与基础语法二
- 编译时注解解析
- Node -- 模块机制
- try,catch
- CentOS-解决CentOS 7 history命令不显示操作记录的时间和用户身份问题
- profiles 配置
- java现在还很热!
- Python-unittest测试框架
- kali linux 开机输入密码无法进入界面