Java工程师Kotlin快速入门之变量与函数

变量的声明方式

kotlin中声明变量只允许两种关键字,且自带类型推导

  • var 声明变量 值可变
  • val 声明常量 值不可变 相当于Java中的final关键字
  • var a: Int = 10
    val b = 10
    

    Java和Kotlin数据类型对照表

    Java基本数据类型 Kotlin对象数据类型 数据类型说明
    int Int 整型
    long Long 长整型
    short Short 短整型
    float Float 单精度浮点型
    double Double 双精度浮点型
    boolean Boolean 布尔型
    char Char 字符型
    byte Byte 字节型

    函数的组成

    在Kotlin中,函数由以下部分组成:

  • fun:关键字用于声明一个函数。
  • functionName:函数的名称,用于标识函数。
  • parameterName:参数的名称,用于在函数内部引用参数。
  • ParameterType:参数的类型,指定参数的数据类型。
  • ReturnType:返回类型,指定函数返回的数据类型。
  • 函数体:花括号内包含函数的实际操作,包括函数的具体实现。
  • fun functionName(parameterName: ParameterType): ReturnType {
        // 函数体
        // 可以包含函数的具体实现
    }
    

    但是如果函数只有一句就可以精简为以下的形式:

    // 等于号已经说明了函数的结果
    fun largerNumber(num1: Int, num2: Int): Int = max(num1, num2)
    
    // 进一步的推导
    fun largerNumber(num1: Int, num2: Int) = max(num1, num2)
    

    字符串模板

    Kotlin自带了字符串模板,避免了我们在输出某些信息的时候需要通过+号拼接。

    fun main() {
        val name = "XuanRan"
        println("Hello $name!")
    }
    

    输出结果:Hello XuanRan!

    函数参数默认值
    fun printParams(num: Int, str: String = "hello") {
     println("num is $num , str is $str")
    }
    

    条件语句

    // 仿照Java的条件语句写法
    fun maxValue(i:Int, k:Int) :Int {
        if (i > k) {
            return i
        }else{
            return k
        }
    }
    
    // Kotlin简化写法
    fun maxValue(i:Int, k:Int) :Int {
        val res = if (i > k) {
            i
        }else{
             k
        }
        return res
    

    其中的return 可省略

    // 进一步Kotlin简化写法
    fun maxValue(i:Int, k:Int) = if (i > k) {i} else {k}
    
    // kotlin 结合函数后的进一步写法
    fun maxValue(i:Int, k:Int) = if (i > k) i else k
    

    when条件语句

    when语句相当于Java中的switch语句,同样在此处的return是可省略的。

    fun getScope(name: String) = when(name) {
        "Tim" -> 90
        "Tom" -> 100
        else -> 1
    }
    

    循环语句

  • 基本循环语句
  • // 最基本的for
    fun oneToTen() {
        for(i in 0..10){
            println(i)
        }
    }
    

    ..用于形成一个[0,10]的区间,相当于Java的以下写法:

    private void oneToTen() {
        for (int i = 0; i <= 10 ; i++) {
            System.out.println(i);
        }
     }
    
  • for-in区间遍历
  • var r = 0 until 10
    

    上述代码表示创建了一个0到10的左闭右开区间,它的数学表达方式是[0, 10)。

  • step 步长
  • fun oneToTen() {
        for( i in 0 until 10 step 2) {
            println(i)
        }
    }
    

    上述代码表示在遍历[0, 10)这个区间的时候,每次执行循环都会在区间范围内递增2

  • downTo遍历降序区间
  • // 创建了一个[10, 1]的降序区间
    fun downTo() {
        for(i in 10 downTo 1) {
            println(i)
        }
    }
    

    作者:XuanRanDev

    物联沃分享整理
    物联沃-IOTWORD物联网 » Java工程师Kotlin快速入门之变量与函数

    发表回复