Kotlin基本语法

Kotlin基本语法

参考《第一行代码——Android(第3版)》做些笔记

一、变量

1、变量声明

val aaa
var bbb

val常量 只能初始化赋值一次

var变量 可以多次赋值

无须声明类型,可类型推导。

使用示例:

fun printaaa(){
    val aaa = 123
    println("aaa is "+aaa)
}

+这里看出来,kotlin很现代,应该是有很多新语言特性。如果真的颠覆了Java,Java老白兔岌岌可危。

注意 不加分号。不看缩进(这就是我讨厌python 的原因)。

2、带类型声明

val aaa:Int 

类型都封装到类里了,不再是关键字了?那是不是有method可用?

常用类型和C/C++一样,不过第一个字母变成大写,变成了类。

二、函数

关键字fun来声明:

fun func(para1:Int, para2:String):Int{
    code here
    return 0
}

()可以为空,表示无参数。

:Int表示返回值类型,没有返回值可以不写。

这里有适用于单行代码函数的语法糖

fun func(参数1,参数2):Int=单行表达式

:Int也可省略,利用上类型推导。

三、逻辑控制

1、if…else

使用上和别的没区别,不同的是会把每个分支最后一句的表达式当作if…else语句的返回值。

精简用法:

fun largerNumber(num1: Int, num2: Int) = if (num1 > num2) num1 else num2

2、when

类似于switch,但是不用break。感觉更好用。

比较进入–匹配值 -> { 执行逻辑 }

带参数:

fun getnum(name: String) = when (name) {
    "aaa" -> 1
    "bbb" -> 2
    "cc" -> 3
    "d" -> 4
    else -> 0
}

不带参数:

实际上使用起来,感觉像是把参数套入下方的匹配值表达式中比较,如果表达式成立,就执行右边的内容:

fun getnum(name: String) = when {
    name.startsWith("Wang") -> 60
    name == "Li" -> 77
    name == "Zhang" -> 95
    else -> 0

四、循环

有两种循环,while 和 for in。

while和其他的语言没什么区别。

for in (我觉得 新出来的一些语言是不是都喜欢搞 for in 这种东西)比较不同。

声明一个从小到大的闭区间:

val range = 0..100

左闭右开区间:

val range = 0 until 100

使用示例:

fun main(){
    //升
    for (i in 0 until 100 step 10){
        println(i)
    }
    //降
    for (i in 100 downTo 50 step 5){
        println(5)
    }
}

你可能感兴趣的:(Kotlin,kotlin,android,开发语言)