基本語法

定義包

package my.demo
import java.util.*
// …… 

定義函數(shù)

fun sum(a: Int, b: Int): Int {
    return a + b 
} 

將表達(dá)式作為函數(shù)體滞欠、返回值類型?動(dòng)推斷的函數(shù):

fun sum(a: Int, b: Int) = a + b 

函數(shù)返回?意義的值:

fun printSum(a: Int, b: Int): Unit {
    println("sum of $a and $b is ${a + b}") 
}

Unit 返回類型可以省略

fun printSum(a: Int, b: Int) {
    println("sum of $a and $b is ${a + b}") 
} 

定義局部變量

?次賦值(只讀)的局部變量:

val a: Int = 1  // ?即賦值
val b = 2   // ?動(dòng)推斷出 `Int` 類型
val c: Int  // 如果沒有初始值類型不能省略
c = 3       // 明確賦值 

可變變量:

var x = 5 // ?動(dòng)推斷出 `Int` 類型    
x += 1 

注釋

正如 Java 和 JavaScript古胆, Kotlin ?持?注釋及塊注釋。

// 這是?個(gè)?注釋 
/* 這是?個(gè)多?的   塊注釋。 */ 

與 Java 不同的是逸绎, Kotlin 的塊注釋可以嵌套惹恃。

使?字符串模板

var a = 1    // 模板中的簡單名稱:    
val s1 = "a is $a"         
a = 2    // 模板中的任意表達(dá)式:    
val s2 = "${s1.replace("is", "was")}, but now is $a" 

使?條件表達(dá)式

fun maxOf(a: Int, b: Int): Int {
    if (a > b) {
        return a
    } else {
        return b
    } } 

使? if 作為表達(dá)式:

fun maxOf(a: Int, b: Int) = if (a > b) a else b

使?可空值及 null 檢測

當(dāng)某個(gè)變量的值可以為 null 的時(shí)候,必須在聲明處的類型后添加 ? 來標(biāo)識(shí)該引?可為空棺牧。 如果 str 的內(nèi)容不是數(shù)字返回 null:

fun parseInt(str: String): Int? {
    // …… 
} 

使?返回可空值的函數(shù):

fun printProduct(arg1: String, arg2: String) {
    val x = parseInt(arg1)
    val y = parseInt(arg2)    // 直接使? `x * y` 可能會(huì)報(bào)錯(cuò)巫糙,因?yàn)樗麄兛赡転?null
    if (x != null && y != null) {        // 在空檢測后, x 和 y 會(huì)?動(dòng)轉(zhuǎn)換為?空值(non-nullable)
        println(x * y) 
   }
    else {
        println("either '$arg1' or '$arg2' is not a number")
    }    
} 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末颊乘,一起剝皮案震驚了整個(gè)濱河市参淹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌乏悄,老刑警劉巖浙值,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異纲爸,居然都是意外死亡亥鸠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門识啦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來负蚊,“玉大人,你說我怎么就攤上這事颓哮〖易保” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵冕茅,是天一觀的道長伤极。 經(jīng)常有香客問我,道長姨伤,這世上最難降的妖魔是什么哨坪? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮乍楚,結(jié)果婚禮上当编,老公的妹妹穿的比我還像新娘。我一直安慰自己徒溪,他們只是感情好忿偷,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著臊泌,像睡著了一般鲤桥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上渠概,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天茶凳,我揣著相機(jī)與錄音,去河邊找鬼。 笑死慧妄,一個(gè)胖子當(dāng)著我的面吹牛顷牌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播塞淹,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼窟蓝,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了饱普?” 一聲冷哼從身側(cè)響起运挫,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎套耕,沒想到半個(gè)月后谁帕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡冯袍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年匈挖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片康愤。...
    茶點(diǎn)故事閱讀 38,064評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡儡循,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出征冷,到底是詐尸還是另有隱情择膝,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布检激,位于F島的核電站肴捉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏叔收。R本人自食惡果不足惜齿穗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望饺律。 院中可真熱鬧窃页,春花似錦、人聲如沸蓝晒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芝薇。三九已至,卻和暖如春作儿,著一層夾襖步出監(jiān)牢的瞬間洛二,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晾嘶,地道東北人妓雾。 一個(gè)月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像垒迂,于是被迫代替她去往敵國和親械姻。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容