-
可以使用下劃線來(lái)增強(qiáng)可讀性(Kotlin1.1版本開(kāi)始支持)
val oneMillion = 1_000_000 val creditCardNumber = 1234_5678_9012_3456L val socialSecurityNumber = 999_99_9999L val hexBytes = 0xFF_EC_DE_5E val bytes = 0b11010010_01101001_10010100_10010010
-
數(shù)組
關(guān)鍵字Array琉朽,創(chuàng)建數(shù)組毒租,使用arrayOf://使用arrayOf簡(jiǎn)單創(chuàng)建數(shù)組 var students: Array<String> = arrayOf("Clock", "D_clock", "技術(shù)視界") var studentNums = arrayOf(1, 2, 3) 使用arrayOfNulls可以創(chuàng)建一個(gè)指定長(zhǎng)度,元素內(nèi)容為空的數(shù)組
//創(chuàng)一個(gè)長(zhǎng)度為10漓骚,元素內(nèi)容皆為null的數(shù)組 var emptyArray = arrayOfNulls<String>(10)
Kotlin對(duì)一些基礎(chǔ)類型定義數(shù)組會(huì)有拆裝箱的開(kāi)銷蝌衔,所以也可以使用自身封裝好的一些API進(jìn)行創(chuàng)建數(shù)組,以降低開(kāi)銷:
//創(chuàng)建一個(gè)int數(shù)組蝌蹂,避免封箱裝箱操作 var intArray = intArrayOf(1, 2, 3)
Kotlin數(shù)組還支持使用閉包進(jìn)行初始化噩斟,就像下面這樣:
//使用閉包初始化一個(gè)Array<String>,數(shù)組內(nèi)容為["0", "1", "4", "9", "16"] var asc = Array(5, { i -> (i * i).toString() })
-
字符串
關(guān)鍵字String:var useString: String = "I am a boy" var firstChar: Char = useString[0] //相當(dāng)于Java的String.charAt(0)
Kotlin的同樣支持字符串模板孤个,但是相比Java的String.format要簡(jiǎn)潔很多剃允。比如:
var nickname: String = "D_clock愛(ài)吃蔥花" println("my nickname is $nickname")//輸出昵稱 println("nickname length: ${nickname.length}")//輸出昵稱的長(zhǎng)度
-
定義函數(shù)
Kotlin定義一個(gè)函數(shù)的風(fēng)格大致如下訪問(wèn)控制符 fun 方法名(參數(shù),參數(shù),參數(shù)) : 返回值類型{ ... ... }
- 訪問(wèn)控制符:與Java有點(diǎn)差異,Kotlin的訪問(wèn)范圍從大到小分別是public齐鲤、internal斥废、protected、private给郊,不聲明默認(rèn)是public牡肉;
- 返回值類型:不需要返回類型的函數(shù),后面的
: 返回值類型
可以缺氏拧(這里可以看到無(wú)論是變量還是方法统锤,Kotlin都喜歡名字在前,類型在后)炭庙;
Kotlin支持包級(jí)函數(shù)饲窿,即函數(shù)不依賴于類而存在:
package lesson1 fun main(args: Array<String>) { println("Kotlin") }
-
參數(shù)變長(zhǎng)
Kotlin的參數(shù)變長(zhǎng),傳遞的參數(shù)使用關(guān)鍵字vararg標(biāo)明即可/***Kotlin版代碼***/ fun displayActors(vararg name: String) { println("actors: " + name); } /***Java版代碼***/ public void displayActors(String... name) { System.out.println("actors :" + name); }
-
靜態(tài)變量和函數(shù)
Kotlin沒(méi)有Java中的static概念焕蹄,如果在Kotlin中需要像Java一樣定義靜態(tài)變量和函數(shù)可以使用companion object逾雄,companion object后可以加上自定義的object名,也可以省略。// 定義 class KotlinStatic { companion object Test { var kotlinInt: Int = 0 fun getInstance(): KotlinStatic { return KotlinStatic() } } } // 使用 KotlinStatic.kotlinInt KotlinStatic.getInstance()
在Kotlin中鸦泳,如果真的想要實(shí)現(xiàn)和Java中的static變量或函數(shù)银锻,官方更推薦使用包級(jí)別的變量或函數(shù)來(lái)實(shí)現(xiàn)。
-
For循環(huán)
for循環(huán)能夠?qū)θ魏翁峁┑鳎╥terator)的對(duì)象進(jìn)行遍歷fun useFor() { val students: Array<String> = arrayOf("java", "kotlin", "go") for (student in students) {//輸出學(xué)生名字 println("student: $student") } for ((index, student) in students.withIndex()) {//輸出學(xué)生的下標(biāo)和名字 println("the element at $index is $student") } }
-
返回和跳轉(zhuǎn)
continue做鹰、break徒仓、return三種跳轉(zhuǎn)都支持跳轉(zhuǎn)到指定的標(biāo)簽處,使用@在對(duì)應(yīng)的循環(huán)或者匿名函數(shù)做標(biāo)記即可:fun useJump() { val numbers = arrayOf(1, 2, 3, 4, 5) val numbers2 = arrayOf(1, 3, 5, 7, 9) //設(shè)置testLab標(biāo)簽名 testLab@ for (num in numbers) { println("num: $num") for (num2 in numbers2) { if (num == 3) { break@testLab//直接中斷標(biāo)簽指定的整個(gè)循環(huán) } } } }
變量和函數(shù)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門帖池,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人吭净,你說(shuō)我怎么就攤上這事睡汹。” “怎么了寂殉?”我有些...
- 文/不壞的土叔 我叫張陵囚巴,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我友扰,道長(zhǎng)彤叉,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任村怪,我火速辦了婚禮秽浇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘甚负。我一直安慰自己柬焕,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開(kāi)白布腊敲。 她就那樣靜靜地躺著击喂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪碰辅。 梳的紋絲不亂的頭發(fā)上懂昂,一...
- 那天,我揣著相機(jī)與錄音没宾,去河邊找鬼凌彬。 笑死沸柔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的铲敛。 我是一名探鬼主播褐澎,決...
- 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼伐蒋!你這毒婦竟也來(lái)了工三?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤先鱼,失蹤者是張志新(化名)和其女友劉穎俭正,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體焙畔,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡掸读,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宏多。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片儿惫。...
- 正文 年R本政府宣布筐喳,位于F島的核電站,受9級(jí)特大地震影響函喉,放射性物質(zhì)發(fā)生泄漏避归。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一管呵、第九天 我趴在偏房一處隱蔽的房頂上張望梳毙。 院中可真熱鬧,春花似錦捐下、人聲如沸账锹。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)奸柬。三九已至,卻和暖如春婴程,著一層夾襖步出監(jiān)牢的瞬間廓奕,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像铃肯,于是被迫代替她去往敵國(guó)和親患亿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 《Kotin 編程思想·實(shí)戰(zhàn)》 《Kotlin極簡(jiǎn)教程》正式上架: 點(diǎn)擊這里 > 去京東商城購(gòu)買閱讀 點(diǎn)擊這里 >...
- 前言 人生苦多押逼,快來(lái) Kotlin 步藕,快速學(xué)習(xí)Kotlin! 什么是Kotlin挑格? Kotlin 是種靜態(tài)類型編程...
- 我眼中的js編程(1)主要介紹了js是用來(lái)做什么的漱抓,這一篇開(kāi)始及以后總結(jié)js具體該怎么用。本篇總結(jié)了作用域內(nèi)變量和...
- 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法恕齐,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法瞬逊,繼承相關(guān)的語(yǔ)法显歧,異常的語(yǔ)法,線程的語(yǔ)...
- 今天中午放學(xué)閨女吃著飯确镊,牙掉了差點(diǎn)吃到肚子里士骤。今天改時(shí)間了,中午去的早一點(diǎn)蕾域,下午放學(xué)早一點(diǎn)拷肌,哎,到現(xiàn)在閨女還沒(méi)睡呢...