Kotlin學(xué)習(xí)筆記(一):基本語法

前言

由于最近項(xiàng)目做完了加上網(wǎng)上各種文章安利kotlin的強(qiáng)大后,我也開始了我的kotlin學(xué)習(xí)之旅:) 學(xué)習(xí)的主要資料是官方參考手冊的中文文檔,所以內(nèi)容也基本出自官方文檔宰僧。

  • 定義包
package com.djc.kotlin.kotlin;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
  • 定義函數(shù)
  /**
     * 定義一個(gè)求和函數(shù)
     * 返回值為Int
     */
    fun test(a: Int, b: Int): Int {
        return a + b
    }

    /**
     * 直接將表達(dá)式作為返回結(jié)果
     */
    fun test1(a: Int, b: Int): Int = a + b

方法得定義和java比起來我覺得更為簡單,甚至返回值類型也是可以省略的。

  • 定義字段
    kotlin用val和var關(guān)鍵字來定義字段油挥,val可以當(dāng)作是java里的final來修飾,也就是用來定義常量捞烟,而var就是定義變量。補(bǔ)充說明一下,用于val是常量,所以val修飾的字段是沒有set方法的。

  • 條件控制語句
    在kotlin里if 就是一個(gè)表達(dá)式盈魁,就是說它會有一個(gè)返回值:

if(a>b)
max = a

if的分支還是可以代碼塊,最后的表達(dá)式作為代碼塊的返回值:
var  max = if (a>b){
println("a= $a")
a
}else{
println("a= $b")
b
}

這里說說我比較喜歡的一個(gè)kotlin特性--字符串模板 一個(gè)標(biāo)準(zhǔn)的字符串模板表達(dá)式由一個(gè)$加上簡單的名稱構(gòu)成 就像上面代碼的a=$a一樣

  • null安全
    這也是kotlin的特性之一窃诉,想一想我們在java里進(jìn)行的各種null安全判斷,有時(shí)候覺得生無可戀好嗎
var a :String = "test"
a = null //編譯報(bào)錯(cuò)

var a :String? = "test"
a = null//編譯不報(bào)錯(cuò)

這樣有什么好處呢赤套?其實(shí)相當(dāng)于kotlin幫我們做了安全判斷飘痛,比如你調(diào)用如下代碼:

//ide此時(shí)會提示你使用安全操作符 .? 或者操作符 !容握! 
//?意思是如果a非空則返回a.length 否則返回null 
//!!操作符 官方文檔上說是給nullPotinerException愛好者使用的 - - 如果你使用!!的話表明這個(gè)表達(dá)式一定不為null宣脉,否則報(bào)空指針異常
val length =  a?.length
//當(dāng)然官方還提供了一個(gè)elvis操作符 ?:我覺得類似三目運(yùn)算符的感覺
//意思就是左側(cè)表達(dá)式非空的話就使用它,反則使用一個(gè)非空的表達(dá)式(右側(cè))
val length = a?.length?:-1

總結(jié)

這次只是簡單的介紹了Kotlin的基本知識剔氏,我也是才剛剛開始學(xué)習(xí)塑猖,但是已經(jīng)被kotlin的特性深深吸引了,我也是學(xué)一個(gè)知識點(diǎn)寫一點(diǎn)?? 如有錯(cuò)誤谈跛,歡迎各位指正羊苟。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市感憾,隨后出現(xiàn)的幾起案子蜡励,更是在濱河造成了極大的恐慌,老刑警劉巖阻桅,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凉倚,死亡現(xiàn)場離奇詭異,居然都是意外死亡嫂沉,警方通過查閱死者的電腦和手機(jī)稽寒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來趟章,“玉大人杏糙,你說我怎么就攤上這事∮却В” “怎么了搔啊?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長北戏。 經(jīng)常有香客問我负芋,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任旧蛾,我火速辦了婚禮莽龟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘锨天。我一直安慰自己毯盈,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布病袄。 她就那樣靜靜地躺著搂赋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪益缠。 梳的紋絲不亂的頭發(fā)上脑奠,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機(jī)與錄音幅慌,去河邊找鬼宋欺。 笑死,一個(gè)胖子當(dāng)著我的面吹牛胰伍,可吹牛的內(nèi)容都是我干的齿诞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼骂租,長吁一口氣:“原來是場噩夢啊……” “哼祷杈!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起渗饮,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤吠式,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后抽米,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體特占,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年云茸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了是目。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡标捺,死狀恐怖懊纳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情亡容,我是刑警寧澤嗤疯,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站闺兢,受9級特大地震影響茂缚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一脚囊、第九天 我趴在偏房一處隱蔽的房頂上張望龟糕。 院中可真熱鬧,春花似錦悔耘、人聲如沸讲岁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缓艳。三九已至,卻和暖如春看峻,著一層夾襖步出監(jiān)牢的瞬間郎任,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工备籽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人分井。 一個(gè)月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓车猬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尺锚。 傳聞我的和親對象是個(gè)殘疾皇子珠闰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評論 2 359

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

  • 前言 人生苦多,快來 Kotlin 瘫辩,快速學(xué)習(xí)Kotlin伏嗜! 什么是Kotlin? Kotlin 是種靜態(tài)類型編程...
    任半生囂狂閱讀 26,217評論 9 118
  • Kotlin系統(tǒng)化學(xué)習(xí)-20170823文章中有大部分內(nèi)容是借鑒《Kotlin實(shí)戰(zhàn)》中文版伐厌,特此注明一下承绸。 Kot...
    ClAndEllen閱讀 1,678評論 2 10
  • Google在今年的IO大會上宣布,將Android開發(fā)的官方語言更換為Kotlin挣轨,作為跟著Google玩兒An...
    藍(lán)灰_q閱讀 76,893評論 31 489
  • 入職公司第三周時(shí)军熏,項(xiàng)目組讓我用kotlin去完成一個(gè)內(nèi)部使用的app。下面記錄一下kotlin相關(guān)筆記卷扮。因?yàn)閍pp...
    楊hai閱讀 1,127評論 1 8
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法荡澎,類相關(guān)的語法,內(nèi)部類的語法晤锹,繼承相關(guān)的語法摩幔,異常的語法,線程的語...
    子非魚_t_閱讀 31,659評論 18 399