【kotlin笔记】基础语法

一、语法:

(1)方法

default:public

所有输入类型后置,且数据类型第一个大写;

//java:
public int getScore(int id, String subjectName){
    return getStudent(id).getSubject(subjectName).get();
}

//kotlin
//存在一个null的数据类型,在后面?即可;
fun getScore(id:Int, subjectName:String) : Int{
    return getStudent(id)?.getSubject(subjectName)?.get()?:0
}

方法传入参数可以是函数

// 方法类型括号要包住前面
//error: Int->(int)
//right: (Int)->((Int)->Int)
fun sendRequest(url:String, 
                timeOut:Int=30*1000//默认值,如果不传入其他值
                function1:aFunction()? = null,
                function2:((String)->Unit)):{
    doSomething()
}

(2)变量

如果不声明,可以自动匹配数据类型;

var:可变变量

val:不可变变量

var lesson : String = “string”
lesson = lesson + "2021"

val age = 18 //自动声明类型;
age = 16 //Error

val user = User()
user.name = "这个可以变动"

特别情况:

// 自动返回数据类型
fun plus(x:Int, y:Int) = x+y

//map此时不能调用接口内容;
var map = HashMap<Long, String>();

// 可以为空
var nullableStr:String? = null

// 允许结果为空
val len:Int? = nullable?.length
// 不允许结果为空,=后面要返回0
val len:Int = nullable?.length?:0
//!!为非空断言
val len:Int = nullable!!.length

(3)逻辑函数[if, when, for]

if为表达式必须要有返回

fun max(a:Int, b:Int){
    return if(a>b) a else b
}

fun max(a:Int, b:Int){
    if(a>b){
        return a
    }else{
        return b
    }
}

when特别版switch

// when再满足第一个条件时会直接return
when(x){
    1 -> println("1")
    2,3 -> println("2 or 3")
    paseInt(5) -> println(5)
    in 1..10 -> println("1-10")
    in validNumbers -> println("valid")
    else -> print("none")
}

fun add(a:Int, b:Int ){
    return when{
        a>b -> a
        else -> b
    }
}

for

// 不包含10
for(i in 0 util 10){}

for(i in 0 util 10 step 2){}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值