學習 Kotlin 系列:條件式 你是誰的人

更新於 2020/08/05閱讀時間約 2 分鐘
條件式可以說是程式重要的能力,也是判斷作業流程細心程度的地方。
條件式 (Condition) ,顧名思義,只有符合條件才做事
身為一個好士兵,就要執行自家長官的命令。如果是來自敵方隊伍、屬下、路人的命令,就可以快樂的無視他們。
關鍵程式碼大概就會是這樣:
if (發令者 == 自家長官) {執行命令} else {無視}
緊跟著 if 的括號裡的內容就是執行命令的條件, else 就是表示除此之外的其它情形,所以也就不用另外描述的括號了。
== 在 Kotlin 裡就是請程式判斷雙方是否等價,判斷不等則是 != ,判斷大小的符號和小學數學課的一樣,就不多解釋: > 、 >= 、 < 、 <= 。
而更深刻的比對是否同一對象,就再多一個等號, === 和 !== 。就像你錢包裡的五元和我錢包裡的五元雖然是等價的,但其實不是同一枚五元硬幣。
我們要注意的就是,有哪些條件要獨立出來,條件成真時又要做些什麼事。
當有多個條件並行時,可以用 else if ,程式會依序判斷,當不滿足 if 時,才去看 else if 的條件。
if (發令者 == 自家長官) {執行命令}
else if (發令者 == 敵方隊伍) {無間道}
else if (發令者 == 可愛的屬下) {調教}
else {無視}
因為是用同一變數去做比對,有更簡便的寫法:
when (發令者){
自家長官 -> {執行命令}
敵方隊伍 -> {無間道}
可愛的屬下 -> {調教}
else - > {無視}
}
比較複雜的條件,就要用上高中數學課的邏輯, && 就是交集條件,|| 就是聯集條件。不喜歡數學的人也沒問題,就想成前者是我都要,後者是有就好。
比如說指揮官希望部隊人數在 20 人以上 30 人以下,可以用:
if (人數 >= 20 && 人數 <= 30) {人數剛好}
或是用更簡便的範圍 (Range) 描述 「介於」這個概念。
if (人數 in 20..30) {人數剛好}
如果同一個條件要在多處引用,也可以選擇儲存判斷後的結果,放在 Boolean 這個變數型態。
val 人數符合規定 : Boolean = 人數 in 20..30
if (人數符合規定) {人數剛好}
avatar-img
6會員
45內容數
和 Kotlin 相關的系列文章。 給程式初學者的「Kotlin 學習系列」 給正在實戰的工程師「Kotlin 實戰系列」
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Kate的沙龍 的其他內容
賦值 (Assign Value) 想成套繩圈的動作, var 的繩圈是可以鬆綁重來的,val 套住對方就不能換了,而進階版 const val 綁住對方之後,對方的時間就被凍結了。 其實,以 Kotlin 的程式語言設計來說,比起賦值 (Assign Value),用賦址 (Assign
行程 (Process),正如其名,指的是正在執行的程式 (Program),變數在其之中,是獲得命名,能保留自我的少數特殊存在。如果變數屬於全域變數 (Global Value),那麼其生命週期就會和行程一致,其他較短生命週期的都是局部變數 (Local Value)。 從一而終,在生命中止前不變
接續上次的士兵類別,提到名字用了 String 變數。 String 是字串的意思,在 Kotlin 裡,常見變數可以分成幾個基本資料型別:數字(Number)、字串(String)、布林(Boolean)。 差別在於行為模式不同,以加法為例,數字執行數學課上的四則運算的加法,字串卻做了連接,布林則
作為指揮官,如果只有一個部下也太令人傷心了。 為能夠有效率的取得大量的士兵,使用類型(Type)來廉價批發。 建立一個檔案「士兵.kt」,這次選 class,讓 IDE 幫我們初始化類別的程式碼 。 建立一個檔案「士兵.kt」,選 class 。  IDE 預設將 class 取名和檔案一樣。 初級
程式是個單純的小伙子,他會按照程式碼的內容執行動作,所以我們可以把函數當作給他的指令「單位」,不是最小單位,就只是單位。 以下是令人熱血沸騰的情境: 「射擊準備!發射角度東偏南33度,目標距離200公尺,風向正西速度每小時100公里,氣溫38度,濕度百分之20。」 「yes, my master.」
現在,開始建立第一個檔案吧,一樣用最簡單的 Hello World 示範。 在 kotlin 資料夾按右鍵選擇 New 裡的 Kotlin File/Class 。 雖然有許多格式可以選,但其實只是 IDE 提供初始程式碼的差別,完全可以中途更改,我們這次選最基本的 File 格式就好。 命名檔案和
賦值 (Assign Value) 想成套繩圈的動作, var 的繩圈是可以鬆綁重來的,val 套住對方就不能換了,而進階版 const val 綁住對方之後,對方的時間就被凍結了。 其實,以 Kotlin 的程式語言設計來說,比起賦值 (Assign Value),用賦址 (Assign
行程 (Process),正如其名,指的是正在執行的程式 (Program),變數在其之中,是獲得命名,能保留自我的少數特殊存在。如果變數屬於全域變數 (Global Value),那麼其生命週期就會和行程一致,其他較短生命週期的都是局部變數 (Local Value)。 從一而終,在生命中止前不變
接續上次的士兵類別,提到名字用了 String 變數。 String 是字串的意思,在 Kotlin 裡,常見變數可以分成幾個基本資料型別:數字(Number)、字串(String)、布林(Boolean)。 差別在於行為模式不同,以加法為例,數字執行數學課上的四則運算的加法,字串卻做了連接,布林則
作為指揮官,如果只有一個部下也太令人傷心了。 為能夠有效率的取得大量的士兵,使用類型(Type)來廉價批發。 建立一個檔案「士兵.kt」,這次選 class,讓 IDE 幫我們初始化類別的程式碼 。 建立一個檔案「士兵.kt」,選 class 。  IDE 預設將 class 取名和檔案一樣。 初級
程式是個單純的小伙子,他會按照程式碼的內容執行動作,所以我們可以把函數當作給他的指令「單位」,不是最小單位,就只是單位。 以下是令人熱血沸騰的情境: 「射擊準備!發射角度東偏南33度,目標距離200公尺,風向正西速度每小時100公里,氣溫38度,濕度百分之20。」 「yes, my master.」
現在,開始建立第一個檔案吧,一樣用最簡單的 Hello World 示範。 在 kotlin 資料夾按右鍵選擇 New 裡的 Kotlin File/Class 。 雖然有許多格式可以選,但其實只是 IDE 提供初始程式碼的差別,完全可以中途更改,我們這次選最基本的 File 格式就好。 命名檔案和
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
無論你是內容創作者、學生還是專業工作者, 微論文都能幫助你提升寫作技能,精練思想。 微論文強調從經驗、意見和事件三方面入手, 使文章更具深度和多樣性。 在這篇文章中, 我將分享三個關於微論文的重要啟發, 幫助你更好地運用這種寫作方式。 ▋啟發1 - 深入理解
有一個東西叫「學習悖論」,是柏拉圖的美諾篇說的, 大意是這樣: 人沒辦法學習。 首先,一個人不能研究他知道的東西, 因為他已經知道了,無須再研究; 但是,他也不能研究他不知道的東西, 因為,他不知道他要研究的是什麼。 聽起來好像很詭異。 但是,先不要管裡面可能的邏輯、或歧義問
每當我學習新東西,總是感到無比的興奮。相較於買車出遊,我更喜歡透過摸索新事物來擴展自己的眼界。 ▋透過閱讀擴展視野 我主要透過購買書籍來進行探索,這也多虧父母從小到大提供的經濟支持。從幼稚園到博士畢業,我大概購買了四五千冊的書籍。父親甚至在我的房間外搭了一個鐵皮屋,專門用來存放我各式各樣
Thumbnail
@十年前,非常羨慕網路遊戲中,畫得美輪美奐的插畫,諸如龍,騎士,獅鷲怪物等等的電腦繪圖插畫。剛開始自己存錢買一塊日本的電腦繪圖板,想看youtube的電腦繪圖教學來畫,結果就畫成下面左邊那幅很好笑的德行(疑似幼稚園塗鴉)。 @後來有一次陪朋友去巨匠電腦報名,莫名其妙被櫃台小姐鼓動,用每期兩千元
本課程介紹如何學習 Kotlin 程式語言,KT 老師專門開設了一門從零開始學 Kotlin 程式設計的課程,非常適合對此有興趣的初學者。
Thumbnail
关于 Notion 的使用教程,在 Notion 相关社区已经有不少精品内容。这篇文章中,无意于探讨过于高级的技术,而是为准备使用 Notion 以及 相关的 FlowUs 用户提供一个详实、全面的使用教程。 本文会不定期更新。 数字花园:Notion 优质资源汇总) 使用反思 辅助工具·软件联动
Thumbnail
Roam Research 是最近几年,除了 Notion 以外,被广大笔记用户最为关注的产品。关于 Roam, 很多读者已经了解颇多。因此,对于 Roam 我只做简要评价,重点在于分享 Roam 使用所需要的学习资源和使用教程。 介绍 双链笔记赛道的开创者。 优点 📷 缺点 评价 免费使用
Thumbnail
20211104舊文 前陣子在《百病起於寒》一書中,看到很有意思的一段敘述,讓我聯想到,人生這條路,如果想走的又穩健又長遠,那這種「懂得用持續性小火去溫暖自己」的概念,是相當重要的。 書中摘要如下(p132): 而當人的能量越來越趨盈滿,就能感知到自己人生的下一步該做些什麼,這是很自然的。 **
Thumbnail
贏了升學制度卻失去了創造能力 臺灣的代工業很強,有很大一部分是源自於升學考試制度。因為在升學考試的制度之下,我們養成喜歡正確的答案,不需要思考,只講求效率和速度完成目標,為了達成所謂的“良率”慢慢地失去思考的過程,不再擁有個人的想法和觀點 自學的能力等於未來的競爭力
Thumbnail
別用戰術上的勤奮,掩蓋戰略上的愚蠢,這裡的戰術指的是方法,戰略指的是心態,在方法開始之前,你必須先把你的學習心態調整好,心態對了,方法對了,學習效益才會逐漸成長,因此在這我必須先告訴你3個,學習經常會犯下的迷思 迷思1學習就是輸入再輸,學習並非只有輸入再輸出,如果少了思考,那麼會陷入,盲目學習。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
無論你是內容創作者、學生還是專業工作者, 微論文都能幫助你提升寫作技能,精練思想。 微論文強調從經驗、意見和事件三方面入手, 使文章更具深度和多樣性。 在這篇文章中, 我將分享三個關於微論文的重要啟發, 幫助你更好地運用這種寫作方式。 ▋啟發1 - 深入理解
有一個東西叫「學習悖論」,是柏拉圖的美諾篇說的, 大意是這樣: 人沒辦法學習。 首先,一個人不能研究他知道的東西, 因為他已經知道了,無須再研究; 但是,他也不能研究他不知道的東西, 因為,他不知道他要研究的是什麼。 聽起來好像很詭異。 但是,先不要管裡面可能的邏輯、或歧義問
每當我學習新東西,總是感到無比的興奮。相較於買車出遊,我更喜歡透過摸索新事物來擴展自己的眼界。 ▋透過閱讀擴展視野 我主要透過購買書籍來進行探索,這也多虧父母從小到大提供的經濟支持。從幼稚園到博士畢業,我大概購買了四五千冊的書籍。父親甚至在我的房間外搭了一個鐵皮屋,專門用來存放我各式各樣
Thumbnail
@十年前,非常羨慕網路遊戲中,畫得美輪美奐的插畫,諸如龍,騎士,獅鷲怪物等等的電腦繪圖插畫。剛開始自己存錢買一塊日本的電腦繪圖板,想看youtube的電腦繪圖教學來畫,結果就畫成下面左邊那幅很好笑的德行(疑似幼稚園塗鴉)。 @後來有一次陪朋友去巨匠電腦報名,莫名其妙被櫃台小姐鼓動,用每期兩千元
本課程介紹如何學習 Kotlin 程式語言,KT 老師專門開設了一門從零開始學 Kotlin 程式設計的課程,非常適合對此有興趣的初學者。
Thumbnail
关于 Notion 的使用教程,在 Notion 相关社区已经有不少精品内容。这篇文章中,无意于探讨过于高级的技术,而是为准备使用 Notion 以及 相关的 FlowUs 用户提供一个详实、全面的使用教程。 本文会不定期更新。 数字花园:Notion 优质资源汇总) 使用反思 辅助工具·软件联动
Thumbnail
Roam Research 是最近几年,除了 Notion 以外,被广大笔记用户最为关注的产品。关于 Roam, 很多读者已经了解颇多。因此,对于 Roam 我只做简要评价,重点在于分享 Roam 使用所需要的学习资源和使用教程。 介绍 双链笔记赛道的开创者。 优点 📷 缺点 评价 免费使用
Thumbnail
20211104舊文 前陣子在《百病起於寒》一書中,看到很有意思的一段敘述,讓我聯想到,人生這條路,如果想走的又穩健又長遠,那這種「懂得用持續性小火去溫暖自己」的概念,是相當重要的。 書中摘要如下(p132): 而當人的能量越來越趨盈滿,就能感知到自己人生的下一步該做些什麼,這是很自然的。 **
Thumbnail
贏了升學制度卻失去了創造能力 臺灣的代工業很強,有很大一部分是源自於升學考試制度。因為在升學考試的制度之下,我們養成喜歡正確的答案,不需要思考,只講求效率和速度完成目標,為了達成所謂的“良率”慢慢地失去思考的過程,不再擁有個人的想法和觀點 自學的能力等於未來的競爭力
Thumbnail
別用戰術上的勤奮,掩蓋戰略上的愚蠢,這裡的戰術指的是方法,戰略指的是心態,在方法開始之前,你必須先把你的學習心態調整好,心態對了,方法對了,學習效益才會逐漸成長,因此在這我必須先告訴你3個,學習經常會犯下的迷思 迷思1學習就是輸入再輸,學習並非只有輸入再輸出,如果少了思考,那麼會陷入,盲目學習。