Kotlin基本使用三

来源:互联网 发布:迪奥华氏知乎 编辑:程序博客网 时间:2024/05/17 22:41

主要测试三目运算符,with调用类中多个方法,when,if表达式

package net.edaibu.kotlintestimport java.io.File/** * Created by ${GEQIPENG} on 2017/5/20. * 数据类 *///数据类data class Customer(val name: String, val age: Int)//设置方法默认值fun method1(a: Int = 0, b: Int = 2, c: String = "") {}fun main(args: Array<String>) {    //过滤list    val list = listOf("asyncHttp", "okHttp", "Retrofit", "xUtils", "httpUrlConnection", "httpClient")    list.filter { it.startsWith("h") }            .forEach { println(it) }    //字符差值器    val name = "";    println("name $name")    //遍历map集合    val map = mapOf("a" to 1, "b" to 2)    println(map["a"])    //懒属性//    val p:String by lazy { }    //扩展函数     什么鬼,干什么用的!    fun String.spaceToCamelCase() {        "Convert this to camelcase".spaceToCamelCase()    }    println("?的使用___________________________")    //为空判断    val files = File("test").listFiles()    println(files?.size)    //不为空..否则..判断    println(files?.size ?: "empty")    //判断为空时的操作    files ?: println("存在文件")    //不为空执行下面的代码块   结果:001 002 003    files.let {        val list2 = listOf("001", "002", "003")        for (item in list2) {            println(item)        }    }    println("when判断使用————————————————————————————————————")    fun colors(str: String): Int {        return when (str) {            "red" -> 1            "green" -> 2            "blue" -> 3            else -> 0        }    }    println(colors("red"))    println("try.... catch使用————————————————————————————————————————————")    fun tryCatch() {        val result = try {            println("哈哈哈哈")        } catch (e: ArithmeticException) {            throw IllegalStateException(e)        }    }    println(tryCatch())    println("if表达式的使用————————————————————————————————————————————")    fun UseIf(param:Int){        val result=if (param==1){            "俄罗斯"        }else if(param==2){            "美国"        }else{            "中国"        }        println(result)    }    println(UseIf(100))        println("只有一个表达式的函数————————————————————————————————————")    fun onlyOne()=11111    //另外一种写法    fun onlyOne2():Int {        return 1111    }    println(onlyOne())    println(onlyOne2())    println("利用with调用对象中的多个方法————————————————————————————————")    //创建对象    val mMultiMethod = multiMethod();    //使用with调用类中的方法    with(mMultiMethod) {        print1()        print2()    }//生成一个判断的布尔值    val boolean:Boolean?=false    if (boolean==true){        println(true)    }else{        println(false)    }    } class multiMethod{    fun print1(){        println(1)    }    fun print2(){        val  list3= listOf("红茶","绿茶","奶茶")        for (tea in list3){            println(tea)        }    }}


原创粉丝点击