第四章 Kotlin基本語(yǔ)法(2)

Kotlin雖然能調(diào)用java類庫(kù),但存在很大的語(yǔ)法差異,有語(yǔ)言基礎(chǔ)的同學(xué),學(xué)起來(lái)可以通過(guò)類比的方式循序漸進(jìn)。由于我之前一直使用java進(jìn)行Android開(kāi)發(fā),學(xué)起來(lái)比較順手。

參考網(wǎng)上資料整理了kotlin中的關(guān)鍵字(可能有遺漏,請(qǐng)回復(fù)補(bǔ)充)

by、as、lazy、init、downTo、when、in、is、and、or

聲明:open、sealed、override、fun、inline、internal、data、companion、object、lateinit、var、val

數(shù)據(jù)類型:Any(Object)、Unit(Void)

基本類型:Byte、Char、Short、Int、Float、Long、Double、Boolean

kotlin中基本數(shù)據(jù)類型作為對(duì)象存在,在實(shí)際開(kāi)發(fā)中參考api使用。

字符串

不同于Java中的表現(xiàn)形式,使用$符號(hào)進(jìn)行字符串拼接,$支持表達(dá)式,用{}括弧。

val a = "test"http://定義字符串

val a1=a[1]//結(jié)果為e

val b = "copy $a" ?//字符串拼接使用$,結(jié)果為copy test,當(dāng)然java中的+也支持,不推薦

val c = "a+b=${a+b}"http://$支持表達(dá)式,結(jié)果為a+b=copy testtest

val d ="${'$'}9.99"http://結(jié)果為$9.99

if條件表達(dá)式

kotlin中if不再是一個(gè)條件判斷語(yǔ)句,而是表達(dá)式,有返回值,因此也不需要三目運(yùn)算符(xx?xx:xx)。

val a:Int=1

val b:Int=2

val c:Boolean=if(a<b) {

? ? ? print(a)

? ? ? true

? }else{

? ? ? ?print(b)

? ? ? ?false

? ?} ?//返回true

fun max(a:Int,b:Int) = if(a>b) a else b //判斷大小,返回b

另一個(gè)強(qiáng)大的判斷語(yǔ)句when

代替了java中的switch...case,條件可以是基本數(shù)據(jù)類型、字符串、表達(dá)式,語(yǔ)法自由的lambda表達(dá)式,具體參考如下實(shí)例代碼。

可將邏輯判斷結(jié)果賦值給常量、變量,甚至可以作為函數(shù)返回值

when語(yǔ)句必須包含else分支,類似java switch里的default分支。

in關(guān)鍵字

判斷一個(gè)對(duì)象是否在某個(gè)區(qū)間內(nèi),使用in關(guān)鍵字,也可當(dāng)做java中for each遍歷數(shù)組、集合,也可判斷某個(gè)元素是否在集合中,更多功能在實(shí)際開(kāi)發(fā)中能使用到。

in關(guān)鍵字的內(nèi)部實(shí)現(xiàn)原理:

for( int i = first ; i != last ; i += step){

//.........

}

Return、Break和Continue

這3個(gè)關(guān)鍵字在kotlin中的使用與java中略微不同,kotlin中任何表達(dá)式都可以使用標(biāo)簽(xx@)標(biāo)記,并且函數(shù)可以嵌套,因此我們可以使用標(biāo)簽來(lái)限制return、break、continue的使用。

上述運(yùn)行結(jié)果是:

i=1,j=5

i=0

continue,i=1,j=5

i=2

break,j=5

i=3

i=4

continue,i=5,j=1

Process finished with exit code 0

通過(guò)運(yùn)行上述代碼,我們可以理解標(biāo)簽的作用,自己動(dòng)手敲一遍代碼比copy理解的更透徹。

return的使用稍有不同,請(qǐng)看如下實(shí)例代碼:

運(yùn)行結(jié)果:

return,k=1

return,k=3

return,k=5

return,k=7

return,k=9

Process finished with exit code 0

代碼簡(jiǎn)潔,實(shí)際操作過(guò)程中,可通過(guò)標(biāo)簽的有無(wú)運(yùn)行上述代碼進(jìn)行理解。不多解釋。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 人生苦多,快來(lái) Kotlin ,快速學(xué)習(xí)Kotlin! 什么是Kotlin? Kotlin 是種靜態(tài)類型編程...
    任半生囂狂閱讀 26,703評(píng)論 9 118
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問(wèn)題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,927評(píng)論 0 33
  • Google在今年的IO大會(huì)上宣布,將Android開(kāi)發(fā)的官方語(yǔ)言更換為Kotlin,作為跟著Google玩兒An...
    藍(lán)灰_q閱讀 77,196評(píng)論 31 489
  • 《Kotin 編程思想·實(shí)戰(zhàn)》 《Kotlin極簡(jiǎn)教程》正式上架: 點(diǎn)擊這里 > 去京東商城購(gòu)買閱讀 點(diǎn)擊這里 >...
    光劍書(shū)架上的書(shū)閱讀 2,390評(píng)論 1 4
  • 這個(gè)方法不錯(cuò),因?yàn)樽约浩綍r(shí)老跑調(diào),專注力沒(méi)辦法集中,而且不能持久,做事沒(méi)有效率。工作中的硬傷啊 文章中提出的小番茄...
    李祖昀閱讀 214評(píng)論 0 0

友情鏈接更多精彩內(nèi)容