Kotlin教程
Kotlin 程序文件以 .kt 结尾,如:hello.kt 、app.kt。
package hello // 可选的包头 fun main(args: Array<String>) { // 包级可见的函数,接受一个字符串数组作为参数 println("Hello World!") // 分号可以省略 }
class Greeter(val name: String) { fun greet() { println("Hello, $name") } } fun main(args: Array<String>) { Greeter("World!").greet() // 创建一个对象不用 new 关键字 }
Android studio 环境搭建操作 :https://www.runoob.com/kotlin/otlin-android-setup.html
一 Kotlin基本语法
package com.runoob.main //包声明 import java.util.* //导包操作 fun test() {} //定义方法 class Runoob {} //定义类
函数定义
函数定义使用关键字 fun,参数格式为:参数 : 类型
函数定义使用关键字 fun,参数格式为:参数 : 类型
fun sum(a: Int, b: Int): Int { return a + b; }
表达式作为函数体,返回类型自动推断:
fun sum2(a: Int, b: Int) = a + b;
public fun sum(a: Int, b: Int): Int = a + b // public 方法则必须明确写出返回类型
无返回值的函数(类似Java中的void):
fun printSum(a: Int, b: Int): Unit { print(a + b) } // 如果是返回 Unit类型,则可以省略(对于public方法也是这样): public fun printSum(a: Int, b: Int) { print(a + b) }
可变长参数函数
fun vars(vararg v:Int){ for(vt in v){ print(vt) } } // 测试 fun main(args: Array<String>) { vars(1,2,3,4,5) // 输出12345 }
lambda(匿名函数)
val sumlambda: (Int, Int) -> Int = { x, y -> x + y } println(sumlambda(209, 333))
定义常量与变量
可变变量定义:var 关键字
var <标识符> : <类型> = <初始化值>
不可变变量定义:val 关键字,只能赋值一次的变量(类似Java中final修饰的变量)
val <标识符> : <类型> = <初始化值>
常量与变量都可以没有初始化值,但是在引用前必须初始化
编译器支持自动类型判断,即声明时可以不指定类型,由编译器判断。
val a: Int = 1 val b = 1 // 系统自动推断变量类型为Int val c: Int // 如果不在声明时初始化则必须提供变量类型 c = 1 // 明确赋值 var x = 5 // 系统自动推断变量类型为Int x += 1 // 变量可修改