学习kotlin的一些笔录

1.java其实是解释性语言,因为java通过javac编译后生成的.class文件,需要用ART虚拟机来解释才能被翻译成电脑识别的二进制文件

2.正因为第一点的原理,说以kt诞生了,kt编译器是将kotlin编译成.class文件,让ART虚拟机进行解释成二进制文件

3.kt拥有类型推导机制,kt抛弃了java的基本数据类型,全部使用对象数据类型,ef:

var a = 10 //变量a 被自动推导 出整型对象类型 Int

4.var 相当于声明变量,val相当于声明常量

5.基本语法规则:

fun 方法名(参数名:类型...):返回类型{
    return 返回值
}

6.函数中如果只有一行代码,可不写函数体,直接=放在函数末尾;ef:

fun largerNum(a:Int, b:Int) : Int{
    return max(a, b)
}
//可以写成————>
fun largerNum(a:Int, b:Int) : Int = max(a, b)
//由于kt出色的推导机制,max本来作为kt内置函数返回是Int类型,所以可以简化成
fun largerNum(a:Int, b:Int) = max(a, b)

7.条件语句

if语句可有返回值,返回值为每个条件语句的最后一行代码,ef:

fun largerNum(a:Int, b:Int) : Int{
    val value = 
    if(a>b){
        a
    } else{
        b
    }
    return value
}
//最终可压缩成为
fun largerNum(a:Int, b:Int) = if(a>b) a else b

when语句的一些特殊用法,例如凡以Tom开头的名字,他的分数就是86分

fun getScore(name:String) = when{
    name.startsWith("Tom") -> 86 //这里是特殊用法,Tom开头的都为86分
    name == "Jim"  -> 77
    name == "Jack" -> 95
    name == "Lily" -> 100
    else -> 0
}

8.区间的使用

..升序闭合

val range = 0..10//创建一个在闭合区间[0,10],0到10内的随机数

until升序非闭合

val range = 0 until 10//创建一个左闭右开的区间[0,10),0到9内的随机数

step设置元素跳跃

fun main(){
    //遍历[0,10)这个区间,每次循环在区间内递增2,相当于for循环的i+2
    for(i in 0 until 10 step 2){
        println(i)
    }
}

downTo设置降序

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值