我的Kotlin学习之旅(二)

来源:互联网 发布:arcgis mac版 编辑:程序博客网 时间:2024/06/11 04:20

在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]

基本语法就到这里了

原创粉丝点击