Kotlin编程入门
1、Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。JetBrains,作为目前广受欢迎的Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。
现在开始介绍kotlin入门知识。
2、基本语法
1.定义包
包的声明应处于文件顶部
package my.demo
import java.util.*
//...
包的结构并不需要与文件夹路径完全匹配:源代码可以在文件系统的任意位置。
2.定义函数
带有两个Int参数,返回Int的函数:
fun sum(a: Int, b: Int): Int { return a + b}
将表达式作为函数体,返回值自动推断的函数:
fun sum(a: Int, b: Int) = a + b
不确定返回值Unit的函数:
fun printSum(a: Int, b: Int): Unit { print(a + b)}
Unit类型的返回,在函数定义中可以省略:
fun printSum(a: Int, b: Int) { print(a + b)}
3.定义局部变量
常量(使用val关键字声明):
val a: Int = 1val b = 1 //Int类型自动推断val c:Int //如果没有初始值,声明常量时,常量的类型不能省略c=1
变量(使用var关键字声明):
var x=5 //Int 类型自动推断(5 默认是Int)
x+=1
4.使用字符串模板
fun main(args: Array<String>) { if (args.isEmpty()) return print("First argument:${args[0]}")}
5.使用条件判断
fun max(a: Int, b: Int): Int { return if (a > b) a else b}
3、6.使用nullable values和检查null
当某个变量的值可以为null{:.keyword}的时候,必须在声明处的类型后添加?来标识该引用可为空
fun parseInt(str: String): Int? { return Integer.parseInt(str)}
7.使用类型检查和自动映射
is{: .keyword}运算符用于类型判断:检查某个实例是否是某类型,如果一个局部常量或者不可变的类成员变量已经判断出为某类型,那么判断后的分支中可以直接当做该类型使用,无需强制转换。
fun getStringLength(obj: Any): Int? { if (obj is String) { return obj.length } return null}
或者
fun getStringLength(obj: Any): Int? { if (obj !is String) { return null } return obj.length}
甚至
fun getStringLength(obj: Any): Int? { if (obj is String && obj.length > 0) { return obj.length } return null}
8.使用for循环
fun main(args: Array<String>) { for (arg in args) print(arg)}
或者
fun main(args: Array<String>) { for (i in args.indices) print(args[i])}
9.使用while循环
fun main(args: Array<String>) { var i = 0 while (i < args.size) print(args[i++])}
10.使用when表达式
fun cases(obj: Any) { when (obj) { 1 -> print("One") "Hello" -> print("Greeting") is Long -> print("Long") !is Long -> print("Not a Long") else -> print("Unknown") }}
11.使用区间(ranges)
使用in{: .keyword} 运算符来检查某个数字是否在指定区间内:
fun main(args: Array<String>) { val x = 2 val y = 100 if (x in 1 until y) print("OK")}
检查某个数字是否在指定区间外:
fun main(args: Array<String>) { val x = 2 val y = 100 if (x !in 3 until y) print("Out")}
区间内迭代:
fun main(args: Array<String>) { for (x in 1..5) print(x)}
12.使用集合
对集合进行迭代:
for (name in names) { println(name)}
使用in{: .keyword}运算符来判断集合内是否包含(.contains)某实例in{: .keyword}:
if (text in names) { print("Yes")}
使用字面量函数来过滤(filter)和变换(map)集合:
names.filter { it.startsWith("A") }.sortedBy { it }.map { it.toUpperCase() }.forEach { println(it) }
Kotlin的基础语法就介绍到这里!