在Kotlin语言中文站学习了一段时间,这是第二次看文档,第一次简单的看了一遍,等真正要用的时候又发现不真正实践的话,学习的效果并没有很好,所以在第二遍看文档的时候,自己手写做了一遍笔记,然后接着写这个学习之旅的博客
首先是Kotlin的基本语法:
1.定义函数:
fun sum(x: Int, y: Int): Int {
return x + y
}
这个函数有两个Int类型的参数,返回的结果是Int类型
简化版(自推导型返回值):
fun sum(x: Int, y: Int) = x + y
当函数的返回类型是void的时候,用的是Unit
fun printSum(x: Int, y: Int): Unit {
println(x + y)
}
同时Unit可以省略
fun printSum(x: Int, y: Int) {
println(x + y)
}
2.定义局部变量
在kotlin中变量分为两种:val 和 var
val是常量的意思,它不可以被重新赋值,只能被赋值一次!
var代表的是变量的意思
val a: Int = 1
当对a进行重新赋值的时候,代码会飘红
var b: Int = 2;
b = 3;
var可以被重新赋值
3.使用条件表达式
if表达式的写法有但不限于以下几种:
fun max(x: Int, y: Int): Int {
if (x > y) {
return x
} else {
return y
}
}
或者
fun max(x: Int, y: Int): Int {
return if(x > y) x else y
}
或者
fun max(x: Int, y: Int) = if(x > y) x else y
4.使用for循环
val list = listOf("a","b","c")
for (item in list){
//自己的逻辑
}
又或者可以这样写:
for (index in list.indices){
//自己的逻辑
}
5.使用when表达式
when表达式是java中没有的,它的作用和switch类似
fun describe(obj: Any): String =
when(obj){
1 -> "这是数字"
"hello" -> "这是字符串"
else -> "不知道"
}
kotlin中,Any是所有类的父类,但是不等同于java中的Object,这一点要注意
when表达式必须要有else,因为它是个表达式,所以可以像上面那样写
6.使用区间(range)
if(x in 1..10){
//自己的逻辑
}
意思是 x 是否在 [1,10]这个区间内
if(x !in 1..10)
代表的是相反的意思,x不在这个区间内
for (x in 1 until 10){
//自己的逻辑
}
这里需要注意的是,这个区间表示的是[1,10),注意是不包括尾巴的
for (x in 10 downTo 0){
//自己的逻辑
}
for循环从10开始,到0 ,区间是[10,0]
基本语法就到这里了