kotlin-变量和函数

2021-03-03  本文已影响0人  在下陈小村

变量

Kotlin变量的声明,使用var和val。
var相当于在Java中没有final修饰的变量,val相当于在Java中有final修饰的变量。
var和val声明的变量是隐式的,会自动根据赋值来推导变量的类型。
当然也可以显示的声明变量

var a=10//变量a,为Int类型,值为10
val a:Int=10//显示声明变量a为Int类型,值为10
java基本类型 kotlin对象数据类型 类型说明
int Int 整型
long Long 长整型
short Short 短整型
float Float 单精度浮点型
double Double 双精度浮点型
boolean Boolean 布尔型
char Char 字符型
byte Byte 字节型

函数

函数通过fun关键字来定义

fun largeNum(a:Int,b:Int):Int{
        return max(a,b)
    }
    
    fun largeNumber(a:Int,b:Int)= max(a,b)

前面一个是最标准的方法的定义,下面这个是语法糖的形势定义的方法,当函数体中只有1行代码时,可以使用语法糖的方式来简化代码。上述代码就省略了return关键字用=来替代,用隐式推导省略了返回值的类型。

if条件语句

Kotlin的if语句和Kotlin的if语句相差不多,以代码的形势来看看Kotlin中if语句的写法

fun largeNum1(a:Int,b:Int):Int{
        var value=0
        if (a>b){
            value=a
        }else{
            value=b
        }
        return value
    }
    
    fun largeNum2(a:Int,b:Int):Int{
        return if (a>b){
            a
        }else{
            b
        }
    }
    
    fun largeNum3(a:Int,b:Int)=if (a>b) a else b
when语句
fun getScore(name:String)=when(name){
        "Tom"->86
        "Jim"->77
        "Jack"->95
        "Lily"->100
        else ->0
    }
    
    fun getScore1(name:String)=when{
        name=="Tom"->86
        name.startsWith("Jim")->77
        else->0
    }

    fun checkNumber(num:Number){
        when(num){
            is Int -> println("number is Int")
            is Double -> println("number is Double")
            else -> println("number not support")
        }
    }
for语句

0..10表示的是[0,10],0到10的闭区间
0 until 10 表示的是[0,10),0到10的开区间
step便是的是步长
10 downTo 0 表示10到0的降序

for (i in 0..10){
        println(i)
    }

for (i in 0 until 10 step 2){
        println(i)
    }

for (i in 10 downTo 1 step 3){
        println(i)
    }
标准函数

let函数、with函数、run函数、apply函数

扩展函数和运算符重载

比如给String类扩展函数,用+表示两个Money对象的相加。

上一篇 下一篇

猜你喜欢

热点阅读