Kotlin 基礎(chǔ)語(yǔ)法
Kotlin 文件以? .kt 為后綴胆胰。
包聲明
kotlin源文件不需要相匹配的目錄和包,源文件可以放在任何文件目錄。
以上例中 test() 的全名是 com.runoob.main.test、Runoob 的全名是 com.runoob.main.Runoob弥奸。
如果沒有指定包,默認(rèn)為default包奋早。
默認(rèn)導(dǎo)入
有多個(gè)包會(huì)默認(rèn)導(dǎo)入到每個(gè)test 文件中:
kotlin.*
kotlin.annotation.*
kotlin.collections.*
kotlin.comparisons.*
kotlin.io.*
kotlin.ranges.*
kotlin.sequences.*
kotlin.text.*
函數(shù)定義
函數(shù)定義使用關(guān)鍵字 fun盛霎,參數(shù)格式為:參數(shù) : 類型
定義常量與變量
可變變量定義:var 關(guān)鍵字
定義: var <標(biāo)識(shí)符> : <類型> = <初始化值>
不可變變量定義(常量):val 關(guān)鍵字愤炸,只能賦值一次的變量(類似Java中final修飾的變量)
定義: val <標(biāo)識(shí)符> : <類型> = <初始化值>
常量與變量都可以沒有初始化值,但是在引用前必須初始化
編譯器支持自動(dòng)類型判斷,即聲明時(shí)可以不指定類型,由編譯器判斷期揪。
注釋
Kotlin 支持單行和多行注釋,與 Java 不同, Kotlin 中的塊注釋允許嵌套规个。實(shí)例如下:
字符串
$ 表示一個(gè)變量名或者變量值
$varName? 表示變量值
${varName.fun()} 表示變量的方法返回值:
NULL檢查機(jī)制
Kotlin的空安全設(shè)計(jì)對(duì)于聲明可為空的參數(shù)凤薛,在使用時(shí)要進(jìn)行空判斷處理,有兩種處理方式诞仓,字段后加!!像Java一樣拋出空異常缤苫,另一種字段后加?可不做處理返回值為 null或配合?:做空判斷處理
當(dāng)一個(gè)引用可能為 null 值時(shí), 對(duì)應(yīng)的類型聲明必須明確地標(biāo)記為可為 null。
當(dāng) str 中的字符串內(nèi)容不是一個(gè)整數(shù)時(shí), 返回 null:
以下實(shí)例演示如何使用一個(gè)返回值可為 null 的函數(shù):
類型檢測(cè)及自動(dòng)類型轉(zhuǎn)換
我們可以使用 is 運(yùn)算符檢測(cè)一個(gè)表達(dá)式是否某類型的一個(gè)實(shí)例(類似于Java中的instanceof關(guān)鍵字)墅拭。
區(qū)間
區(qū)間表達(dá)式由具有操作符形式..的 rangeTo 函數(shù)輔以 in 和 !in 形成活玲。
區(qū)間是為任何可比較類型定義的,但對(duì)于整型原生類型帜矾,它有一個(gè)優(yōu)化的實(shí)現(xiàn)翼虫。以下是使用區(qū)間的一些示例:
實(shí)例測(cè)試: