美文网首页
Kotlin基础语法(AS版)

Kotlin基础语法(AS版)

作者: 王怀智 | 来源:发表于2018-12-03 18:54 被阅读4次

    kotlin的函数表达式定义

        演示kotlin的函数表达式定义
        fun 函数名(参数:参数类型):返回值类型{
            主题部分
            return 返回部分
        }
    
    • 无返回值类型
     fun init(a: Int, b: Int): Int {
            return a + b
        }
    
    
    • 有返回值类型
     fun init(a: Int, b: Int){
            
        }
    
    
    • 表达式作为函数体
      fun sum(a: Int, b: Int) = a + b
    

    kotlin定义变量

    • var定义

    var ii = 4

    • val定义

    val i: Int = 5

    kotlin使用条件表达式

    • 源码版
       fun maxOf(str: String): String {
            if (str == "王怀智") {
                return "可以的"
            } else {
                return "重新输"
            }
        }
    
    • 简化版
      fun maxOf1(str: String) = if (str == "王怀智") "可以的" else "重新输"
    

    kotlin判断是否为空

     fun nullTest(s: String) {
            if (s != null) {//一般正确str判断为空的方式:s!=null&&s.length()>0&&s.trim().length()>0
                println("s不为空")
            } else {
                println("s为空")
            }
        }
    
    

    kotlin类型自动检测

    • 源码版
      fun objTest() {
            val s = "王怀智"
            if (s is String) {
                println("我是$s")
            }
        }
    
    • Lambda版
     val objTest={
            val s = "王怀智"
            if (s is String) {
                println("我是$s")
            }
        }
    

    kotlin使用for循环

     fun forTest() {
            var arr = listOf("英雄联盟", "穿越火线", "绝地求生")
            for (item in arr) {
                println("我喜欢玩$item")//直接获取到item值
            }
            for (index in arr.indices)//indices 索引
            {
                println("我不喜欢玩${arr[index]}")
            }
        }
    

    kotlin使用when,也就是switch

     fun whenTest(obj: Any) {
            when (obj) {
                1 -> "one"
                2 -> "Two"
                is Long -> "Long"
            }
        }
    

    kotlin使用集合

       fun listTest(){
            var items = listOf("英雄联盟", "穿越火线", "绝地求生")
            //(1)对集合进行迭代
            for (item in items){
                println(item)
            }
            //(2)使用when+in的方式判断是否存在其中
            when{
                "英雄联盟" in items->"包含其中"
            }
            //(3)使用lambda表达式来过滤(filter)与映射(map)集合
            //it是单个参数的隐式名称
            items.filter { it .startsWith("a")}
                    .sortedBy { it }
                    .map { it.toUpperCase() }
                    .forEach { println(it) }
        }
    
    • 对集合进行迭代
            for (item in items){
                println(item)
            }
    
    • 使用when+in的方式判断是否存在其中
          when{
                "英雄联盟" in items->"包含其中"
            }
    
    • 使用lambda表达式来过滤(filter)与映射(map)集合
            items.filter { it .startsWith("a")}
                    .sortedBy { it }
                    .map { it.toUpperCase() }
                    .forEach { println(it) }
    

    相关文章

      网友评论

          本文标题:Kotlin基础语法(AS版)

          本文链接:https://www.haomeiwen.com/subject/cakucqtx.html