美文网首页
kotlin基础之三 流程控制,函数

kotlin基础之三 流程控制,函数

作者: 大鹏的鹏 | 来源:发表于2018-11-22 16:29 被阅读5次

1.when表达式

when取代了C风格语言的switch。相较switch而言,when语句显得更加的强大,灵活性更好。

  val x = 1
        when (x) {
            1 -> {
                Log.d("MainActivity", "x == 1")
            }
            2 -> {
                print("x == 2")
                Log.d("MainActivity", "x == 2")
            }
            else -> {
                Log.d("MainActivity", "其他")
            }
        }

-when 将它的参数和所有的分支条件顺序比较,直到某个分支满足条件。
1.如果很多分支需要用相同的方式处理,则可以把多个分支条件放在一起,用逗号分隔:

 when(a){
        1,3 -> println("当前传入值为$a")
        else ->  print("没有符合的匹配项")
    }

2.我们可以用任意表达式(而不只是常量)作为分支条件

      val x = 3
        when (x) {
            parseInt("3") -> Log.d("tag", "x->3")
            else -> Log.d("tag", "x->else")
        }

2.for循环.

val stringArrays : Array<String> = arrayOf("hello","kotlin","hello","android")
    for (item in stringArrays){
        println(item)
    }

2.函数.

2.1函数定义

定义格式为:权限修饰符 fun 函数名(参数名 :类型,...) : 返回值{}
函数从参数角度,可以分为有参函数以及无参函数;从返回值角度,可以分为有返回值的函数以及没有返回值的函数。那么函数一共就有4种类型,无参无返回值、无参有返回值、有参无返回值、有参有返回值。

//无参无返回值
fun test() {
    println("test")
}
 
//无参有返回值
fun test(): String {
    return"test"
}
 
//有参无返回值
fun test(content: String) {
   println(content)
}
 
//有参有返回值
fun test(content: String): String {
    retur ncontent
}
当然,没有返回值的函数,也可以明确指定返回值类型为Unit。
//无参无返回值
fun test():Unit{
    println("outerFun")
}
 
//有参无返回值
fun test(content: String) :Unit {
    println(content)
}
  • 上面的例子中没有可见性修饰符,那是因为Kotlin中默认为public可见性修饰符
  • ()圆括号必须存在,即使是没有参数的情况下
  • {}大括号必须存在,即使是没有函数体的时候,不过在Kotlin中有一个特例就是,函数具备返回值的时
    候,如果只用一个表达式就可以完成这个函数,则可以使用单表达式函数。在下面会详细的给大家讲解
  • 在函数没有返回值时可以省略其返回值
2.2函数默认参数.

对于默认参数,即使指一个函数中的参数具有默认值,这样在使用该函数的时候,可以省略一部分参数,可以减少函数的重载

 // 默认参数的函数使用
        defArgs()
        defArgs(1, 10f)
        defArgs(1, 10f, true)

   fun defArgs(numA: Int = 1, numB: Float = 2f, numC: Boolean = false) {
        println("numA  =  $numA \t numB = $numB \t numC = $numC")
    }

命名参数

        defArgs(numA = 1, numB = 10f, numC = true)

可变长度的参数
java中使用String...arg来表示长度不确定的参数,使用vararg关键字修饰变量,表示该类型参数的数量可变。通常因该把它放在参数列表的最后方。

add("xixi", "haha", "heihei")

fun add(vararg arag: String) {
for (x in arag) {
            Log.d("Tag", x);
        }

    }

相关文章

  • kotlin基础之三 流程控制,函数

    1.when表达式 when取代了C风格语言的switch。相较switch而言,when语句显得更加的强大,灵活...

  • Kotlin流程控制语句笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin泛型笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin与Java互操作笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin协程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin空指针安全(null-safety)笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin函数式编程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin面向对象编程笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin类型系统笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin委托(Delegation)笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

网友评论

      本文标题:kotlin基础之三 流程控制,函数

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