Kotlin基础-变量
1.变量
var a: Int = 2 //声明一个变量 var a = 3 //明确知道类型的情况下可以不标明类型 var a: Int //不知道类型的情况下要声明类型 var a: String? = null //声明一个String?类型,值可以为String也可以为null lateinit var a: String //必须为不可null类型,后面要用的时候再赋值 val b = 6 //声明一个不可变量用val val b: String by lazy{"this is a String"} //懒加载,需要用的时候才加载这个变量 const val π = 3.14 //声明一个常量
2.函数
fun sum (a: Int, b: Int): Int { return a+b }//这里vararg指可变参数,可以传多个 fun div(c: Int, d: Float = 1f) fun more(vararg a: Int) = 999 //这里sum()方法也可以简写为:fun sum (a: Int, b: Int) = a+b
//这里vararg指可变参数,可以传多个 fun main(args: String) { val sum = sum(1, 2) val ss = div(2, d = 3) more(2, 35, 23) println(sum) }
3.for
fun main(args: String) { for(i in 0..10) { //普通循环。必须左小右大 println(i) } for(i in 0 until 10) println(i) //左闭右开,取不到10 for(i in 0..10 step 2) println(i) //步长10, 0,2,4.. for(i in 10 downTo 0 step 2) println(i) //倒着循环,10,8,6...,左大必须用downTo }
4.when
fun main(args: String) { //可以替代switch..case.. var i: Type when(i) { //i可以为多种类型,可以做类型判断、数值判断等 i is String -> {} i !is Float -> {} i in 0..10 -> {} else -> {} //when除了布尔值true&false之外必须要else兜底 } when{ //布尔类型不用写i boolean -> {} else -> {} } }
5.类(class)
class Aclass() { //属性 var name: String = "" lateinit var b: String //函数 fun getSomeInfo(): String { this::b.isInitialized return "" } }
6.interface
interface AAA{ fun aaa() //需要重写 fun ccc(){ //有方法体,不需要重写 } }
7.object
object obcclass{ //成员函数。属性,单例静态函数 fun aaa() } obcclass.aaa()