kotlin学习笔记(一)

跟着郭神的《第一行代码》学一些Android和Kotlin,记录一下自己学到的一些知识点(主要是怕忘=.=)。

变量

有val和var两种,var可变,val不可变。
一般情况下先使用val,val无法满足需求时再改成var。

数据类型

Kotlin全部都是对象数据类型(首字母都大写)。

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

判断和循环

if判断

(和Java几乎没区别)
1.一个简单的最大值判断:

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

2.由于kotlin有语法糖,可以进一步简化:

fun maxNumber(num1:Int,num2:Int):Int{
    val value = if (num1>num2){//这里value不用二次赋值,所以可以改成val
        num1
    }else{
        num2
    }
    return value
}

3.还可以进一步简化

fun maxNumber(num1:Int,num2:Int):Int{
    return  if (num1>num2){
        num1
    }else{
        num2
    }
}
//或者可以进一步简化成下面这个,但是我觉得太简单了反而有些变扭-_-
fun maxNumber(num1:Int,num2:Int) = if (num1>num2) num1 else num2

when判断

1.查找某个人的分数(精准匹配)

fun getSocre(name:String) = when(name){
    "Tom" ->88
    "jack"->70
    "LiLy"->50
    else ->0
}

2.when还可以实现类型匹配(用关键字is实现)

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

fun main(){
    val  a:Double = 10.0;
    checkNumber(a)
}

运行得到结果:
运行结果

for循环

在kotlin中使用for-in循环,这里用到了区间的概念。
关键字". ."指的是左右都是闭区间,所以0. .10用数学语言表示为[0,10]
关键字"until"指的是左闭右开,所以0 until 10用数学语言表示为[0,10)
还有两个关键字经常用到,分别是stepdownTostep用于循环中跳过某些元素;downTo用于降序操作。
举例:

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

for
关键字until

fun main(){
    for (i in 0 until 10 ){
        println(i)
    }
}

在这里插入图片描述
关键字step

fun main(){
    for (i in 0 until 10 step 3){
        println(i)
    }
}

在这里插入图片描述
关键字downTo加step

fun main(){
    for (i in 10 downTo  0 step 2){
        println(i)
    }
}

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值