Kotlin 学习——基础语法

    和 Java 一样,当需要引包时,包的声明需要写在源文件顶部

import java.util.*

//...

    当我们创建一个 Kotlin 的 .kt 文件,可以直接在里面写 main() 方法,Kotlin 的 main() 方法:

fun main(args: Array<String>) {
    
}

    接下来我们可以创建一个 sum() 方法:

fun main(args: Array<String>) {
    //在 main() 方法中调用 sum() 方法
    println("a+b+"+sum(1,2))
}

//方法中有两个参数,Int 型的 a 和 Int 型的 b,该方法也是 Int 型的,所以要返回一个 Int 型的值
fun sum(a:Int,b:Int):Int{
    return a+b;
}

    结果如下:


    变量定义:

//变量定义 val 定义的变量是不可变的,相当于 Java 中的 final,而 var 是可变的
val a:Int = 1 //直接给定类型并赋值
val b=2       //直接赋值,自动推断出为 Int 类型
val c:Int = 0 //全局变量必须初始化
var e:Int = 0

fun init(){
    val d:Int //局部变量可以不用初始化
    d = 5     //后面在赋值
    c=5       //报错提示 val cannot be reassigned 表示 val 的变量不能再被指定
    e=6
}

    如果对于全局变量 不初始化会报错:


    字符串操作:

fun main(args: Array<String>) {
    var a = 1

    //$ 相当于 Java 和 C 中的 d%、f% 等,而这里的 $ 不需要区分,直接在后面加上变量即可
    var s1 = "a is $a"
    a = 2
    //${}会先运行 {} 中的结果
    val s2 = "${s1.replace("is","was")},but now is $a"
    println(s1)
    println(s2)
}

    结果:


    条件表达式:

fun main(args: Array<String>) {
    //条件表达式,两种写法能达到一样的结果
    var a = 5
    var b = 6
    if (a>b){
        println("yes")
    }else{
        println("no")
    }
    val str = if (a>b) "yes" else "no"
    println(str)
}

    结果:


    for 循环:

fun main(args: Array<String>) {
    //使用 for 循环
    var list = listOf("a","b","c")
    //该 li 为 list 中的各个值
    for (li in list){
        println(li)
    }
    //该 index 为 list 的下标
    for (index in list.indices){
        println(list[index])
    }
}

    结果:


    while 循环:

fun main(args: Array<String>) {
    //使用 while 循环
    var list = listOf("a","b","c")
    var index = 0
    while (index < list.size){
        println(list[index])
        index++
    }
}

    结果:


    使用 when 表达式(取代了 switch-case 语法),一定要有 else 分支:

fun main(args: Array<String>) {
    //使用 when 表达式
    var a:Int = 1
    println(test(1))
    println(test(2))
    println(test(3))
    println(test(4))
}

fun test(a:Int):String=
    when(a){
        1 -> "One"
        2 -> "Two"
        3 -> "Three"
        else -> {
            "No such number"
        }
    }

    结果:

   使用区间表达式:

fun main(args: Array<String>) {
    val x = 10
    val y = 9
    //使用 if 和 in 判断 x 是不是在 1 到 y+1 之间,两边边界皆可取
    if (x in 1..y+1){
        println("yes")
    }
    //使用 for 和 in 进行 1 到 3 的循环
    for (x in 1..3){
        print(x)
        print(" ")
    }
    println()
    //使用集合和 for 和 in 来进行集合遍历
    val list = listOf("a","b","c")
    for (li in list){
        print(li+" ")
    }
    println()
    //使用 in 判断集合是否包含某实例
    when{
        "a" in list -> println("a yes")
        "e" in list -> println("e yes")
    }
}

    结果:




猜你喜欢

转载自blog.csdn.net/young_time/article/details/80436056