包聲明
代碼文件的開頭一般為包的聲明:
com.rairmmd.demo
和java一樣聲明,不同的是:kotlin源文件不需要相匹配的目錄和包逊笆,源文件可以放在任何文件目錄栈戳。如果沒有指定包,默認(rèn)為 default 包难裆。
以下包會默認(rèn)導(dǎo)入到每個 Kotlin 文件中:
- kotlin.*
- kotlin.annotation.*
- kotlin.collections.*
- kotlin.comparisons.*
- kotlin.io.*
- kotlin.ranges.*
- kotlin.sequences.*
- kotlin.text.*
導(dǎo)包和java一樣:import java.util.*
定義常量與變量
可變變量定義:
var 關(guān)鍵字
var <標(biāo)識符> : <類型> = <初始化值>
var a: Int = 1
不可變變量定義:
val 關(guān)鍵字子檀,只能賦值一次的變量(類似Java中final修飾的變量)
val <標(biāo)識符> : <類型> = <初始化值>
val b: Int =2
常量與變量都可以沒有初始化值,但是在引用前必須初始化
編譯器支持自動類型判斷,即聲明時可以不指定類型,由編譯器判斷。
val b = 1 // 系統(tǒng)自動推斷變量類型為Int
val c: Int // 如果不在聲明時初始化則必須提供變量類型
c = 1 // 明確賦值
var x = 5 // 系統(tǒng)自動推斷變量類型為Int
x += 1 // 變量可修改
注釋
// 這是一個單行注釋
/* 這是一個多行的
塊注釋乃戈。 */
與 Java 不同, Kotlin 中的塊注釋允許嵌套褂痰。
函數(shù)定義
函數(shù)定義使用關(guān)鍵字 fun,參數(shù)格式為:參數(shù) : 類型
fun sum(a: Int, b: Int): Int { // Int 參數(shù)症虑,返回值 Int
return a + b
}
表達(dá)式作為函數(shù)體缩歪,返回類型自動推斷:
fun sum(a: Int, b: Int) = a + b
public fun sum(a: Int, b: Int): Int = a + b // public 方法則必須明確寫出返回類型
比java簡潔。
無返回值的函數(shù)(類似Java中的void):
fun printSum(a: Int, b: Int): Unit {
print(a + b)
}
// 如果是返回 Unit類型谍憔,則可以省略(對于public方法也是這樣):
public fun printSum(a: Int, b: Int) {
print(a + b)
}
可變長參數(shù)函數(shù)
函數(shù)的變長參數(shù)可以用 vararg 關(guān)鍵字進(jìn)行標(biāo)識:(類似java的...)
fun vars(vararg v:Int){
for(vt in v){
print(vt)
}
}
fun main(args: Array<String>) {
vars(1,2,3,4,5) // 輸出12345
}