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

更新於 發佈於 閱讀時間約 3 分鐘

條件式可以說是程式重要的能力,也是判斷作業流程細心程度的地方。

條件式 (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
留言分享你的想法!
avatar-img
Kate的沙龍
7會員
45內容數
和 Kotlin 相關的系列文章。 給程式初學者的「Kotlin 學習系列」 給正在實戰的工程師「Kotlin 實戰系列」
Kate的沙龍的其他內容
2023/03/22
比起說這是新技術,不如說是統一前端規格。 以前在不同框架下,類似功能的東西名字各不相同。比如輸入文字的物件,Android叫做EditText,iOS叫做UITextField,Html叫做TextBox或是input標籤。 這讓跨平台的開發者非常痛苦,痛不欲生。 而統一規格意味著,只要專心寫一套程
2023/03/22
比起說這是新技術,不如說是統一前端規格。 以前在不同框架下,類似功能的東西名字各不相同。比如輸入文字的物件,Android叫做EditText,iOS叫做UITextField,Html叫做TextBox或是input標籤。 這讓跨平台的開發者非常痛苦,痛不欲生。 而統一規格意味著,只要專心寫一套程
2021/11/23
去年停了近一年這裡的文章,其實是因為忙著將2020 iThome 鐵人賽的得獎作品——每年九月會舉辦的活動,連續三十天發表IT技術類文章——集結成書。 《老姐要用Kotlin寫專案:從 Server 到 Android APP 的開發生存日記》是以小說的敘事方式,將一對姐弟工程師合作
2021/11/23
去年停了近一年這裡的文章,其實是因為忙著將2020 iThome 鐵人賽的得獎作品——每年九月會舉辦的活動,連續三十天發表IT技術類文章——集結成書。 《老姐要用Kotlin寫專案:從 Server 到 Android APP 的開發生存日記》是以小說的敘事方式,將一對姐弟工程師合作
2021/11/22
此版本的目標畫面成果是: *金色名字。 *金色社交按鈕圖示,點擊按鈕另開對應的網頁或著顯示comming soon。 *名字和按鈕在網頁中央,如果網頁寬度不夠會換行,夠就不換行。
Thumbnail
2021/11/22
此版本的目標畫面成果是: *金色名字。 *金色社交按鈕圖示,點擊按鈕另開對應的網頁或著顯示comming soon。 *名字和按鈕在網頁中央,如果網頁寬度不夠會換行,夠就不換行。
Thumbnail
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
情境 老闆:我們要盡量滿足客戶需求。 業務:瞭解,開始給客戶一些彈性,滿足一些特殊要求。 老闆:業務不能對於客戶的要求照單全收。 業務:!? 業務:瞭解,開始變得一板一眼,結果某天有個客戶不爽。 老闆:我們要盡量滿足客戶需求。 業務:!!!? 都給你說就好啦!!!! 翻桌。 冷靜! 這樣的狀況,我
Thumbnail
情境 老闆:我們要盡量滿足客戶需求。 業務:瞭解,開始給客戶一些彈性,滿足一些特殊要求。 老闆:業務不能對於客戶的要求照單全收。 業務:!? 業務:瞭解,開始變得一板一眼,結果某天有個客戶不爽。 老闆:我們要盡量滿足客戶需求。 業務:!!!? 都給你說就好啦!!!! 翻桌。 冷靜! 這樣的狀況,我
Thumbnail
各位職場新兵或老鳥,一定遇過老闆說:有關公司的建議,只要是「合理」的都會採納作為改進...。只是如何界定「合理」?還是老闆說了算。 合理、合理,多少的惡假汝之名! 日前開會時,聽到高層會中發表論點,很弔詭! 員工請補休盡量避免,應該自我奉獻,不能影響工作? 基層有意見時,要循正常管道,不該爆料*
Thumbnail
各位職場新兵或老鳥,一定遇過老闆說:有關公司的建議,只要是「合理」的都會採納作為改進...。只是如何界定「合理」?還是老闆說了算。 合理、合理,多少的惡假汝之名! 日前開會時,聽到高層會中發表論點,很弔詭! 員工請補休盡量避免,應該自我奉獻,不能影響工作? 基層有意見時,要循正常管道,不該爆料*
Thumbnail
「を」就是「他動詞」,自願做的時候使用。 對於日本人來說,是否有自己的意志是非常重要的。 問題的關鍵不在於 "發生的事實",而在於 "是否有責任"。 理解了這個概念,也就更容易理解自動詞和他動詞了。
Thumbnail
「を」就是「他動詞」,自願做的時候使用。 對於日本人來說,是否有自己的意志是非常重要的。 問題的關鍵不在於 "發生的事實",而在於 "是否有責任"。 理解了這個概念,也就更容易理解自動詞和他動詞了。
Thumbnail
切記,每一次的上限,都是一個新的底線。 1. 保持循序漸進的步調 你需要從很前面開始,就讓他們覺得無法對你提出的論點說不。 從他們腦中的想法出發,那才是所謂的標準。 你需要從對方熟悉的地方開始,從那裡逐步進行。 你可以從大方向開始問起, 好比說「你想達成協議嗎」、「你想獲利嗎」、「請問你們信守承諾嗎
Thumbnail
切記,每一次的上限,都是一個新的底線。 1. 保持循序漸進的步調 你需要從很前面開始,就讓他們覺得無法對你提出的論點說不。 從他們腦中的想法出發,那才是所謂的標準。 你需要從對方熟悉的地方開始,從那裡逐步進行。 你可以從大方向開始問起, 好比說「你想達成協議嗎」、「你想獲利嗎」、「請問你們信守承諾嗎
Thumbnail
我當過4年志願役,來回答你的問題。
Thumbnail
我當過4年志願役,來回答你的問題。
Thumbnail
生活中睜開眼的第一剎那就要面臨各種選擇,建立一個準則越來越靠近我們真正想要的生活與工作。 透過原則找到幫助我們做決定!
Thumbnail
生活中睜開眼的第一剎那就要面臨各種選擇,建立一個準則越來越靠近我們真正想要的生活與工作。 透過原則找到幫助我們做決定!
Thumbnail
「如果老闆要的東西是錯的怎麼辦?」這是我在教學時經常被問的問題。 因此在需求訪談的工作坊中,我設計了一個角色扮演的情境劇,讓同學體驗為什麼決策者總是對於「執行者認為正確的要求」無動於衷。 ​ 最有趣的事情是,我都是現場指定一位同學擔任決策者,然後當著所有人的面告訴扮演決策者的同學,目前他的目標以及處
Thumbnail
「如果老闆要的東西是錯的怎麼辦?」這是我在教學時經常被問的問題。 因此在需求訪談的工作坊中,我設計了一個角色扮演的情境劇,讓同學體驗為什麼決策者總是對於「執行者認為正確的要求」無動於衷。 ​ 最有趣的事情是,我都是現場指定一位同學擔任決策者,然後當著所有人的面告訴扮演決策者的同學,目前他的目標以及處
Thumbnail
(Day 29) 2022 6/14 充份條件、必要條件除了從語言敍述中去判斷外,也可以由集合的文氏圖(Venn's diagram以視覺方式去理解,那就下次再說囉。
Thumbnail
(Day 29) 2022 6/14 充份條件、必要條件除了從語言敍述中去判斷外,也可以由集合的文氏圖(Venn's diagram以視覺方式去理解,那就下次再說囉。
Thumbnail
賦值 (Assign Value) 想成套繩圈的動作, var 的繩圈是可以鬆綁重來的,val 套住對方就不能換了,而進階版 const val 綁住對方之後,對方的時間就被凍結了。 其實,以 Kotlin 的程式語言設計來說,比起賦值 (Assign Value),用賦址 (Assign
Thumbnail
賦值 (Assign Value) 想成套繩圈的動作, var 的繩圈是可以鬆綁重來的,val 套住對方就不能換了,而進階版 const val 綁住對方之後,對方的時間就被凍結了。 其實,以 Kotlin 的程式語言設計來說,比起賦值 (Assign Value),用賦址 (Assign
Thumbnail
行程 (Process),正如其名,指的是正在執行的程式 (Program),變數在其之中,是獲得命名,能保留自我的少數特殊存在。如果變數屬於全域變數 (Global Value),那麼其生命週期就會和行程一致,其他較短生命週期的都是局部變數 (Local Value)。 從一而終,在生命中止前不變
Thumbnail
行程 (Process),正如其名,指的是正在執行的程式 (Program),變數在其之中,是獲得命名,能保留自我的少數特殊存在。如果變數屬於全域變數 (Global Value),那麼其生命週期就會和行程一致,其他較短生命週期的都是局部變數 (Local Value)。 從一而終,在生命中止前不變
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News