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