Kotlin语法 入门篇章(1)

Java和Kotlin数据类型对比表
Java基本数据类型Kotlin对象数据类型数据类型说明
intInt整形
longLong长整型
shortShort短整形
floaFloat单精度浮点型
doubleDouble双精度浮点型
booleanBoolean布尔型
charChar字符型
byteByte字节型

点击右侧绿色按钮运行

Kotlin语法 入门篇章(1)

函数:

定义一个方法,接收两个整形参数,返回一个最大值

fun main(){
    print(methodName(2,9))
}

// 函数

// 返回两个数其中一个比较大的值
fun methodName(parame1: Int,parame2:Int):Int{
    return max(parame1,parame2)
}

当函数只有一行代码的时候,我们还能简写,像这样,我们可以将上面的写法简写成这样,输出结果是一样的

fun methodName(parame1:Int,parame2:Int)= max(parame1,parame2)

2.判断语句

fun largeNumber(num1:Int,num2:Int):Int{
    var v=0;
    if (num1>num2){
        v=num1
    }else{
        v=num2
    }
    return v
}

这里的写法实现的效果其实和上面的差不多,都是返回一个最大值

kotlin的if语句比相较于Java多了一个功能,那就是可以有返回值,是不是感觉很神奇呢,小编也觉得很神奇,那究竟是怎么一回事呢,快跟着小编来看看吧,事实就是kotlin的if可以携带返回值,而Java的不可以,看到这里你是不是和小编一样感到很神奇呢。小编第一次知道也是感觉感到很神奇,快给小编点个赞吧。

Kotlin语法 入门篇章(1)

好了,不沙雕了。

将上面的代码改写为

fun largeNumber(num1: Int, num2: Int): Int {
    val v = if (num1 > num2) {
        num1
    }else{
        num2
    }
    return v
}

注意,这里每个条件最后一行代码作为返回值,最终将变量v返回,直接在main()方法里打印就可以看到结果

Kotlin语法 入门篇章(1)

when语句

我们现在做一个查询商品价钱的功能

fun getShopPrice(name:String)=if (name=="香蕉"){
    3
}else if (name=="苹果"){
    5
}else if (name=="菠萝"){
    10
}else{
    0
}

这里定义一个方法,接收一个String类型参数,并返回一个价钱

这里的代码其实还是有些冗余,虽然可以实现很多功能,但是如果判断条件多的时候就应该考虑考虑使用when了

fun getShopPrice(name:String)=when(name){
    "香蕉" ->5
    "苹果"->6
    "菠萝"->9
    else ->0
}

有没有感觉不仅代码更好看了,而且更好看了

当代码逻辑只有一行的时候 花括号可省略

在when中可以进行类型匹配

fun checkNumber(num:Number){
    when(num){
        is Int -> println("这是一个整形")
        is Double -> println("这是一个双精度浮点型")
        else -> println("不是 num类型")
    }
}

什么是类型匹配??

在kotlin中,Number相当于一个抽象类,Int Long Float Double都是它的子类型,所以这里可以使用类型匹配来判断传入的是什么参数

相关推荐