Kotlin - 1 - 变量/函数/逻辑 if 和 when

本文介绍了Kotlin编程语言的基础知识,包括变量声明、函数定义以及逻辑控制结构if和when的使用方法。通过实例解析,帮助读者快速掌握Kotlin的基本语法。
摘要由CSDN通过智能技术生成
package com.kodulf.kotlinfirsttime

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import kotlin.math.max

class MainActivity : AppCompatActivity() {

    private val TAG:String = "kodulf"

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //1: kotlin 的优点 : 代码量少了50%,更高级例如使用了Lamda表达式,几乎杜绝了空指针异常,和java 完全兼容


        //2 变量的声明,var 变量名:类名 = 对应的值 或者 类名 ,相较于 java 就不需要new 的关键字了
        var d:Int = 11
        var varTest:VarTest = VarTest()
        Log.d("test","TEST", Throwable())

        //3:kotlin 的自动转换,类推导机制
        var a = 10

        //4:相较于java 没有基本数据类型了,转而变成了对应的类,例如int 变成了Int
        var b:Int = 10

        //5: val 相当于是java 中的final关键值,优先使用val 来定义数据,在需要变量的时候再改为var,这里和下面的类方法默认不让继承一个道理
        val c = 10

        //6: 函数的例子:
        // 6.1 没有返回值,
        // 6.2 有参数,(注意这里的参数的定义是服从kotlin的声明方式的,不能使用java的方式)
        // 6.3 有返回值, (返回值的类型,看上去就有点像变量的的定义一样的 :Int)
        // 6.4 只有一行的有返回值的函数,可以简化为等于号的赋值形式
        // 6.5 因为kotlin的强有力的类推导能力,只有一行的有返回值的函数,简化为等于号的赋值形式后,还可以将返回值简化掉

        Log.d(TAG,"函数的例子"+simpleFunHasOnlyOneLine3(1,2))

        //7:相较于java ,取消掉了;

        //8: 逻辑控制 - if
        // 8.1 和java 的区别就是 if可以作为返回值给return
        // 8.2 如果函数只有一句话的话,可以简化为赋值的方式
        // 8.3 如果函数只有一句话的话,可以简化为赋值的方式,还可以简化掉返回值
        Log.d(TAG,"if的语句调用"+ifTest(1,2))

        //9: when 的语句,注意kotlin 中是没有switch的语法的,因为swtich 语法的break的语法会因为忘记导致很多问题
        Log.d(TAG,"南京的温度"+whenTestGettemperature("nanjing"))

        


    }

    class VarTest {

    }

    // 6.1 没有返回值
    fun simpleFun() {

    }
    // 6.2 有参数,(注意这里的参数的定义是服从kotlin的声明方式的,不能使用java的方式)
    fun simpleFunHasParameter(num1:Int, num2:Int) {
    }
    // 6.3 有返回值, (返回值的类型,看上去就有点像变量的的定义一样的 :Int)
    fun simpleFunHasReturn ():Int {
        return 0
    }
    // 6.4 只有一行的有返回值的函数,可以简化为等于号的赋值形式
    fun simpleFunHasOnlyOneLine (num1: Int,num2: Int):Int {
        return max(num1,num2)
    }
    fun simpleFunHasOnlyOneLine2 (num1: Int,num2: Int):Int = max(num1,num2)
    // 6.5 因为kotlin的强有力的类推导能力,只有一行的有返回值的函数,简化为等于号的赋值形式后,还可以将返回值简化掉
    fun simpleFunHasOnlyOneLine3 (num1: Int,num2: Int) = max(num1,num2)

    //8: 逻辑控制 - if
    // 8.1 和java 的区别就是 if可以作为返回值给return
    // 8.2 如果函数只有一句话的话,可以简化为赋值的方式
    // 8.3 如果函数只有一句话的话,可以简化为赋值的方式,还可以简化掉返回值

    // 8.1 和java 的区别就是 if可以作为返回值给return
    fun ifTest(num1: Int,num2: Int) :Int{
        return if(num1 > num2){
            num1
        } else {
            num2
        }
    }
    // 8.2 如果函数只有一句话的话,可以简化为赋值的方式
    fun ifTest2(num1: Int,num2: Int) :Int= if(num1 > num2) num1 else num2
    // 8.3 如果函数只有一句话的话,可以简化为赋值的方式,还可以简化掉返回值
    fun ifTest3(num1: Int,num2: Int) = if(num1 > num2) num1 else num2


    //when的语法 匹配加上 -> 形式,最后是一个else,这个有点像if ,else if,else if,else
    fun whenTestGettemperature(city:String):Int{
        return when(city){
            "nanjing"->
                35
            "huaian"->
                32
            "beijing"->
                30
            else ->
                15
        }
    }

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值