Kotlin|【Kotlin基础系列】第2章 基本语法(1)

基础语法中主要说明以下几点:
1.1 包的声明应处于源文件顶部。 目录与包的结构无需匹配:源代码可以在文件系统的任意位置。
1.2 变量 val:只读局部变量,只能为其赋值一次;var:可重新赋值的变量。
1.3 字符串模板 通过$字符拼接变量,不需要+拼接变量了。
1.4 函数 fun开头,返回参数类型在后面,函数体可以是表达式,其返回类型可以推断出来。Unit为返回无意义的值的函数,也可省略不写。
1.5 条件表达式 即if else,可简(if(a>b) a else b,同Java的三目表达式a > b? a:b
1.6 when表达式 when 表达式,对比Java的switch功能相似,但key对应的类型不只Int
1.7 for循环 使用in
1.8 range区间 可用于检测某个数字是否在指定区间外,或者结合for循环使用区间迭代,或数列迭代
1.9 while循环 基本同Java
以上几点直接看下面代码:

// ★ 1.包的声明应处于源文件顶部。 // 目录与包的结构无需匹配:源代码可以在文件系统的任意位置。 package com.yvan.kotlin// 导包 import kotlin.text.*// 可以在顶层声明变量,val不可变、var可变。 val y = 10 var x = 200/** * Kotlin 应用程序的入口点是 main 函数。 */ /* fun main() { // 无换行打印 print("Hello world!") } *//** * 可变数量的String参数, * Unit为返回值可省略不写 */ fun main(args: Array): Unit {// ★ 2.变量:val:只读局部变量,只能为其赋值一次;var:可重新赋值的变量。 // 立即赋值 val a: Int = 1 // 自动推断出 `Int` 类型 val b = 2 // 如果没有初始值时,类型不能省略 val c: Int // 明确赋值 c = 3 // var 可重新赋值的变量 var d = 5 d += 1 println("a = $a, b = $b, c = $c,d = $d, x = $x, y = $y")// ★ 3.字符串模板 var e = 1 // 模板中的简单名称: val s1 = "e is $e" e = 2 // 模板中的任意表达式: val s2 = "${s1.replace("is", "was")}, but now is $e" println("s2 = $s2")// ★ 4.函数 // 参数传入函数,返回Int输出, println(sum(3, 5)) // 直接在打印通过$调用函数 使用返回值输出 println("sum of 19 and 23 is ${sum2(19, 23)}")// ★5.条件表达式 println(maxOf2(1, 2))// ★6.for 循环 val items = listOf("apple", "banana", "kiwifruit") for (item in items) { println(item) } // 或者 for (index in items.indices) { println("item at $index is ${items[index]}") }// ★7.while 循环 var index = 0 while (index < items.size) { println("item at $index is ${items[index]}") index++ }// ★8.when 表达式 println(describe("Hello"))// ★9.使用区间(range) val f = 10 val g = 9 if (f in 1..g + 1) { println("fits in range") } // 检测某个数字是否在指定区间外。 val rangeList = listOf("a", "b", "c") if (-1 !in 0..rangeList.lastIndex) { println("-1 is out of range") } if (rangeList.size !in rangeList.indices) { println("list size is out of valid list indices range, too") } // 区间迭代。 for (i in 1..5) { print(i) } // 或数列迭代。 for (j in 1..10 step 2) { print(j) } println() for (k in 9 downTo 0 step 3) { print(k) }}/** * 函数 */ fun sum(a: Int, b: Int): Int { return a + b }/** * sum函数的简写,直接将计算的值作为函数返回值返回 */ fun sum2(a: Int, b: Int) = a + b/** * 条件表达式 */ fun maxOf(a: Int, b: Int): Int { if (a > b) { return a } else { return b } }/** * maxOf 函数简写,同Java的三目表达式(a > b? a:b) */ fun maxOf2(a: Int, b: Int) = if (a > b) a else b/** * when 表达式,对比Java的switch功能相似,但key对应的类型不只Int */ fun describe(obj: Any): String = when (obj) { 1 -> "One" "Hello" -> "Greeting" is Long -> "Long" !is String -> "Not a string" else -> "Unknown" }

【Kotlin|【Kotlin基础系列】第2章 基本语法(1)】

    推荐阅读