0
点赞
收藏
分享

微信扫一扫

kotlin-1、基础语法

何以至千里 2021-09-28 阅读 45
Android
变量的声明
//var代表声明的是可变的变量,可以重新赋值
var baseName : String = "奥特曼"
var name = "迪迦" //类型推导,根据值的类型判断变量的类型
name = "帝拿"

//val代表声明的是不可变的变量,不能重新赋值
val age = 1000
函数
fun add(num1:Int,num3:Int):Int{
    return num1+num2
}

/**
 * 可变参数
 * numbers参数可以输入1或者多个int,如1;或者1,2,3,4,5,6
 * 作用类似java中的(... args)
**/
fun lengthMethod(vararg numbers:Int){
    for(i in numbers){
        println(i)
    }
}

/**
 * lambda函数
**/
fun main{
    //先定义形参类型和返回值类型,等号后面就是对应的实现。
    fun addMethod(Int,Int)->Int = {num1,num2 -> return num1+num2}
}

kotlin的函数与java的方法的区别?
java的方法,都必须在某一个类的里面实现。就是现有类,然后方法依附在类的内部;
kotlin的函数,不需要依附在类里面,可以单独一个文件,内部直接写kotlin的函数;

字符串

// TODO 字符串模板
fun main() {

    // $ 表示一个变量名或者变量值

    // $varName 表示变量值

    // ${varName.fun()} 表示变量的方法返回值

    val name = "张三"

    val age = 28

    val sex = 'M'

    val info = "ABCDEFG"

    println("name:$name,  age:$age,  sex:$sex  info:$info")

    // --- 自己不用关心 \n 换行 ,不用自己调整
    val infoMesage = """
        AAAAAAAAAAA
        BBBBBBBBBBB
        CCCCCCCCCCC
        DDDDDDDDDDD
        EEEEEEEEEEE
    """  // 前置空格
    println(infoMesage)

    val infoMesage2 = """
        AAAAAAAAAAA
        BBBBBBBBBBB
        CCCCCCCCCCC
        DDDDDDDDDDD
        EEEEEEEEEEE
    """.trimIndent()  //去掉空格
    println(infoMesage2)

    val infoMesage3 = """
        ?AAAAAAAAAAA
        ?BBBBBBBBBBB
        ?CCCCCCCCCCC
        ?DDDDDDDDDDD
        ?EEEEEEEEEEE
    """.trimMargin("?")  // 没空格 控制?
    println(infoMesage3)

    // 需求:显示 $99999.99
    val price = """
        ${'$'}99999.99
    """.trimIndent()
    println(price)
}
空值检查
//类型后加上?,表示这个变量可以为null
var info: String? = null

     println(info?.length)  // ? 如果info是null,就不执行 .length

     println(info!!.length) //  !! 自己保证一定不是null

区间
 // 1 到 9
    for (i in 1..9) {
        // println(i)
    }

    // 不会输出,这种写法是错误的,不能这么写
    for (i in 9..1) {
        // println(i)
    }

    // 大 到 小
    for (i in 9 downTo 1) {
        println(i)
    }

    // 用区间做判断
    val value = 88
    if (value in 1..100) {
        // println("包了 1 到 100")
    }

    // 步长指定
    for (i in 1..20 step 2) {
        // 1 3 5 7 ...
        // println(i)
    }

    // 排除 最后元素
    for (i in 1 until 10) {
        println(i)
    }
举报

相关推荐

0 条评论