Kotlin语法 入门篇章

Posted inthecloud

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin语法 入门篇章相关的知识,希望对你有一定的参考价值。

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

 

点击右侧绿色按钮运行

技术图片

函数:

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

 

 

 

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的不可以,看到这里你是不是和小编一样感到很神奇呢。小编第一次知道也是感觉感到很神奇,快给小编点个赞吧。

技术图片

 

 

好了,不沙雕了。

将上面的代码改写为

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

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

技术图片

 

 

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都是它的子类型,所以这里可以使用类型匹配来判断传入的是什么参数

以上是关于Kotlin语法 入门篇章的主要内容,如果未能解决你的问题,请参考以下文章

逆风微笑的程序猿——P35 27_kotlin新的篇章idea使用入门

逆风微笑的程序猿——P35 27_kotlin新的篇章idea使用入门

Kotlin入门(29)任务Runnable

Android:Kotlin详细入门学习指南-函数-基础语法

Kotlin快速入门:基础语法类与继承集合

Kotlin快速入门:基础语法类与继承集合