Kotlin 與 Swift 語法對照:跨平台開發者 (2025年)

Kotlin 與 Swift 語法對照表(2025 年版) 在行動應用開發中, Kotlin 與 Swift 分別是 Android 與 iOS 的主流語言。雖然語法有些差異,但其實它們有很多相似之處。本文整理了常用的語法對照表,方便跨平台開發者快速上手。 1. 變數宣告 // Kotlin val name: String = "Alice" // 常數 var age: Int = 25 // 可變數 // Swift let name: String = "Alice" // 常數 var age: Int = 25 // 可變數 2. 條件判斷 // Kotlin if (age >= 18) { println("Adult") } else { println("Minor") } // Swift if age >= 18 { print("Adult") } else { print("Minor") } 3. 函式定義 // Kotlin fun greet(name: String): String { return "Hello, $name!" } // Swift func greet(_ name: String) -> String { return "Hello, \(name)!" } 4. 陣列與迴圈 // Kotlin val fruits = listOf("Apple", "Banana", "Cherry") for (fruit in fruits) { println(fruit) } // Swift let fruits = ["Apple", "Banana", "Cherry"] for fruit in fruits { print(f...

[Java] UVa 12439 February 29

題目連結

題意:
一般而言,我們知道每 4 年會出現一次 2月有 29 天
多出來的 2/29 叫做 leap day (閏日)

題目先告知閏日的規則:
西元年為4的倍數會閏;100的倍數不閏;400的倍數卻又閏

即,西元 4, 8, ... 會閏
但遇到西元100, 200, 300, 500, ... 不閏(400倍數可閏)

其實這樣的規則還少了4000的倍數又不閏,但此題依照題意描述為準
相關規定可以參考 這則新聞

測資方面,先告知會有幾組,每組有兩行分別代表一段區間頭尾
要計算這段區間內的閏日數(即 2/29出現次數)

解法:
計算一段區間內的值,最快的做法就是計算頭尾兩者之差
如上圖,以西元0年為基準
假設測資頭尾是 a 與 b
先個別統計從0年到a b的閏日數(leap a, leap b)
兩者相減即為所求

根據規則,要計算leap數
拿該西元年/4後,扣掉/100的值,再加上/400就是了

還要探討兩個條件:
1. 若 a 或 b 的年份恰好為閏年
上述的 leap 計算是包含該年
如果日期是1/1~2/28,該年的閏日是不能加進去的

例如:
西元4年 1/2,如果不判斷,leap數是1
事實上從0年到此區間leap是 0 (把西元4年算進去了)

2. 計算頭的時候,如果日期恰好為2/29,也要先扣掉
否則頭尾都會計算到,相減時就抵銷了

例如:
西元4年 2/29 ~ 西元4年 3/2,如果不先扣,leap數分別都是1
相減為0,但這個區間是有一個leap的(即2/29)

程式(Java):

留言

這個網誌中的熱門文章

【Ubuntu】Terminal 複製貼上的方法 Copy & Paste

【Ubuntu】關閉預設畫面自動鎖定

[Java] HashMap資料結構簡介與用法