Java, C#, Swift语法对比速查表
| ? | Java 8 | C# 6 | Swift |
| 變量 | 類型 變量名; | 類型 變量名; | var 變量名 : 類型; |
| 變量(類型推斷) | N/A | var 變量名=初值; | var 變量名=初值; |
| 常量 | final 類型 常量名=初值; | readonly 類型 常量名=初值; | let 常量名 : 類型=初值; |
| 基本類型 | int short long byte | int short long byte | Int32 Int16 Int64 Int8 |
| 字符串 | String 變量名=""; | string 變量名=""; | let 變量名 : String=""; |
| 字符串嵌入值 | N/A | "\{表達式}" | "\(表達式)" |
| 可變字符串 | StringBuilder | StringBuilder | var 變量名 : String; |
| 定常數組 | 類型[] 變量名={元素1,元素2}; | 類型[] 變量名={元素1,元素2}; | let 變量名 : 類型名[] = [元素1, 元素2]; |
| 變長數組(列表) | ArrayList<類型> | List<類型> | var 變量名=類型名[](); |
| 追加元素 | add | Add | append |
| 遍歷 | for (類型 變量 : 集合) | foreach (類型 變量 in 集合) | for (變量 in 集合) |
| 字典 | TreeMap<鍵類型, 值類型> | Dictionary<鍵類型, 值類型> | Dictionary<鍵類型, 值類型> |
| 字典初始化 | TreeMap<鍵類型, 值類型> 變量名 = new TreeMap<鍵類型, 值類型>() { | var 變量名= new Dictionary<鍵類型, 值類型>() | var 變量名 : Dictionary<鍵類型, 值類型>= [ |
| 字典下標 | N/A(使用get方法) | 變量名[鍵] | 變量名[鍵] |
| 定義函數(方法) | 返回類型 方法名(參數類型1 形參1, 參數類型2 形參2){} | 返回類型 方法名(參數類型1 形參1, 參數類型2 形參2=默認值){} | func 函數名(形參1 : 參數類型1, 外參名 形參2 : 參數類型2=默認值) -> 返回類型{} |
| 調用函數(方法) | 方法名(實參1, 實參2); | 方法名(實參1, 實參2); | 函數名(實參1, 外參名 : 實參2); |
| 可變參數 | 返回類型 方法名(參數類型… 形參){} | 返回類型 方法名(params 參數類型[] 形參){} | func 函數名(形參 : 參數類型...) -> 返回類型{} |
| 傳出參數 | N/A,包在對象里面 | 返回類型 方法名(ref 參數類型 形參){} | func 函數名(inout 形參 : 參數類型) -> 返回類型{} |
| 調用傳出參數 | N/A | 實參 | &實參 |
| 函數類型 | N/A,用單方法接口替代 | Action和Func系列泛型類 | (參數類型1, 參數類型2) –> 返回類型 |
| 閉包 | (參數類型 形參) -> 表達式 | (參數類型 形參) => 表達式 | { (形參: 參數類型) –> 返回類型 in 表達式} |
| 枚舉 | enum 類型名 { | enum 類型名 | enum 類型名 { |
| 結構(值類型) | N/A | struct 結構名 { 成員 } | struct 結構名 { 成員 } |
| 類(引用類型) | class 類名 { 成員 } | class 類名 { 成員 } | class 類名 { 成員 } |
| 創建對象實例 | new 類名(實參1, 實參2) | new 類或結構名(實參1, 實參2) | 類或結構名(外參名1 : 實參1, 外參名2 : 實參2) |
| 靜態成員 | static | static | 結構和枚舉static,類和接口class |
| 訪問級別 | public,公有 | public,公有 | public,公有 |
| 存儲屬性 | N/A,get set前綴方法命名約定 | 類型 屬性名 { get; set; }=初始值; | var 屬性名 : 類型=初始值; |
| 計算屬性 | N/A,get set前綴方法命名約定 | 類型 屬性名 | var 屬性名 : 類型 { |
| 索引器(下標) | N/A | 返回類型 this[參數類型 形參] { | subscript(形參 : 參數類型) –> 返回類型 { |
| 構造器 | 類名(參數類型 形參){} | 類名(參數類型 形參){} | init(形參 : 參數類型){} |
| 自身實例 | this | this | self |
| 調用其它構造器 | 類名() { | 類名() : this(實參) | init() { |
| 繼承 | class 派生類 extends 基類 { 成員 } | class 派生類 : 基類 { 成員 } | class 派生類 : 基類 { 成員 } |
| 調用基類構造器 | 派生類名(參數類型 參數) { | 派生類名(參數類型 參數) : base(參數) | init(參數 : 參數類型) { |
| 虛函數 | 默認都可覆蓋,不可覆蓋標final | 標virtual可覆蓋 | 默認都可覆蓋, 不可覆蓋標@final |
| 密封類 | final | sealed | @final |
| 覆蓋(override) | 不加修飾,可加@Override | override | override |
| 調用基類方法 | super.方法(); | base.方法(); | super.方法(); |
| 類型檢查 | 基類實例 instanceof 派生類型 | 基類實例 is 派生類型 | 基類實例 is 派生類型 |
| 向下轉型 | (派生類型)基類實例 | (派生類型)基類實例 | 基類實例 as 派生類型 |
| 接口 | interface | interface | protocol |
| 實現接口 | class 類 implement 接口 { 成員 } | class 類 : 接口 { 成員 } | class 類 : 接口 { 成員 } |
| 抽象類 | abstract | abstract | N/A |
| 擴展 | 接口的默認方法 | 擴展方法 | extension |
| 命名空間 | package | namespace | 按module |
轉載于:https://www.cnblogs.com/clockdotnet/p/4263922.html
總結
以上是生活随笔為你收集整理的Java, C#, Swift语法对比速查表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: poi导出word文档
- 下一篇: (原创)c#学习笔记06--函数02--