Java 8 C# 6 Swift
变量 类型 变量名; 类型 变量名; var 变量名 : 类型;
变量(类型推断) N/A var 变量名=初值; var 变量名=初值;
常量 final 类型 常量名=初值; readonly 类型 常量名=初值; let 常量名 : 类型=初值;
基本类型

int short long byte
double float
boolean
char

int short long byte
double float
bool
char

Int32 Int16 Int64 Int8
Double Float
Bool
Character

字符串 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<键类型, 值类型>() {
    {
        put(键1, 值1); 
        put(键2, 值2); 
    }
};

var 变量名= new Dictionary<键类型, 值类型>()
{
    [键1] = 值1,
    [键2] = 值2,
};

var 变量名 : Dictionary<键类型, 值类型>= [
    键1 : 值1,
    键2 : 值2
];

字典下标 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 参数类型 形参){}
返回类型 方法名(out 参数类型 形参){}

func 函数名(inout 形参 : 参数类型) -> 返回类型{}
调用传出参数 N/A 实参 &实参
函数类型 N/A,用单方法接口替代 Action和Func系列泛型类 (参数类型1, 参数类型2) –> 返回类型
闭包

(参数类型 形参) -> 表达式

() –> {
   多行语句
}

(参数类型 形参) => 表达式

() =>
{
   多行语句
}

{ (形参: 参数类型) –> 返回类型 in 表达式}

{ () –>() in 
   多行语句
}

枚举

enum 类型名 {
   枚举值1(值1), 枚举值2(值2), 枚举值3(值3);
}

enum 类型名
{
   枚举值1=值1,
   枚举值2=值2,
   枚举值3=值3
}

enum 类型名 {
   case 枚举值1=值1, 枚举值2=值2, 枚举值3=值3
}

结构(值类型) N/A struct 结构名 { 成员 } struct 结构名 { 成员 }
类(引用类型) class 类名 { 成员 } class 类名 { 成员 } class 类名 { 成员 }
创建对象实例 new 类名(实参1, 实参2) new 类或结构名(实参1, 实参2) 类或结构名(外参名1 : 实参1, 外参名2 : 实参2)
静态成员 static static 结构和枚举static,类和接口class
访问级别

public,公有
protected,保护(包内和子类可访问)
无修饰符,默认(包内可访问)
private,私有

public,公有
protected,保护(子类可访问)
internal,内部(程序集内可访问)
protected internal,内部保护(程序集内的子类可访问)
private,私有

public,公有
internal,内部(模块内可访问)
private,私有

存储属性 N/A,get set前缀方法命名约定 类型 属性名 { get; set; }=初始值; var 属性名 : 类型=初始值;
计算属性 N/A,get set前缀方法命名约定

类型 属性名
{
   get
   {
   }
   set
   { //形参为value
   }
}

var 属性名 : 类型 {
   get {
   }
   set(形参) { //如不写形参名,默认为newValue
   }
}

索引器(下标) N/A

返回类型 this[参数类型 形参]

{
   get
   {
   }
   set
   { //形参为value
   }
}

subscript(形参 : 参数类型) –> 返回类型 {
 get {
}
 set { //形参为newValue
}
}

构造器 类名(参数类型 形参){} 类名(参数类型 形参){} init(形参 : 参数类型){}
自身实例 this this self
调用其它构造器

类名() {
 this(实参);
}

类名() : this(实参)
{
}

init() {
 self.init(外参名 : 实参);
}

继承 class 派生类 extends 基类 { 成员 } class 派生类 : 基类 { 成员 } class 派生类 : 基类 { 成员 }
调用基类构造器

派生类名(参数类型 参数) {
 super(参数);
}

派生类名(参数类型 参数) : base(参数)
{
}

init(参数 : 参数类型) {
 super.init(外参名 : 参数);
}

虚函数 默认都可覆盖,不可覆盖标final 标virtual可覆盖 默认都可覆盖, 不可覆盖标@final
密封类 final sealed @final
覆盖(override) 不加修饰,可加@Override override override
调用基类方法 super.方法(); base.方法(); super.方法();
类型检查 基类实例 instanceof 派生类型 基类实例 is 派生类型 基类实例 is 派生类型
向下转型

(派生类型)基类实例

(派生类型)基类实例
基类实例 as 派生类型

基类实例 as 派生类型
基类实例 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语法对比速查表相关推荐

  1. js学习笔记(十二)——语法速查表

    JS 语法速查表 转载编译自链接 基础 pdf下载 注:cheatsheet大集合 1. jsES2015的特性总结 这个链接还有一系列的手册可以查阅; 2. js基本函数 这个链接包含一系列语言.包 ...

  2. markdown中快速插入Emoji表情包语法速查表!!!

    markdown中快速插入Emoji表情包语法速查表!!!

  3. Markdown Emoji表情语法速查表

    文章目录 emoji-cheat-sheet Table of Contents People Nature Objects Places Symbols Uncategorized 本篇教程首次发布 ...

  4. JAVA修饰符速查表

    JAVA修饰符速查表

  5. Python开发资源速查表

    Python开发资源速查表 Python实现算法和设计模式 algorithms - Python的一个算法模块. PyPattyrn - 一个用于实现常见设计模式的简单而有效的库. python-p ...

  6. Sqlmap速查表/功能移植/Python批量检测SQL注入

    title: Sqlmap速查表与Python进行功能移植 copyright: true top: 0 date: 2021-02-27 11:59:00 tags: [扫描注入,注入,sqlmap ...

  7. 学习GNU Emacs命令速查表(三)

    博客地址:http://blog.csdn.net/shuxiao9058 原始作者:季亚 第八章简章的文字排版和特效编辑 表8-1:制表位命令速查表 键盘操作 命令名称 动作 (无) edit-ta ...

  8. 简述sed、grep和parted的速查表

    下载 sed.grep和parted的速查表来整合新的流程到你的工作中. Linux 因其命令闻名,部分原因是 Linux 执行的几乎所有操作都可以从终端调用:另一部分原因是 Linux 是一个高度模 ...

  9. 超全Python速查表登上GitHub热榜,标星4600+!(附链接)

    本文经AI新媒体量子位授权转载,转载请联系出处. 本文多资源,建议阅读5分钟. 本文为你分享一份超全Python速查表. 哪里不会,抄查哪里. GitHub上出现一份对Python用户非常友好的资源: ...

最新文章

  1. java中JUnit单元测试的使用方法
  2. 原理分析之三:初始化(配置文件读取和解析)
  3. 汇编语言--int指令
  4. Android apk签名方法
  5. Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart)
  6. vue-resource.js的get和post的正确用法
  7. __clone class php_「PHP 技巧」 不要直接克隆对象,请使用深拷贝
  8. python线程暂停_python3线程启动与停止
  9. MongoDB几个完整的库表设计实例
  10. 设计模式学习(三):创建型模式【转】
  11. mapxtreme相关
  12. 初学算法该直接上《算法导论》 还是先看完 《算法 第四版》?
  13. 黑盒(功能)测试基本方法
  14. Linux下ftp搭建
  15. sinx泰勒展开_求极限:泰勒公式应展开到第几阶?
  16. Asp.Net Core3.1-集成Hangfire
  17. C/C++ | 23-12 用指针的方法,将字符串“ABCD1234efgh”前后对调显示
  18. 关于罗永浩将要进军AR/VRMR领域,你又有什么评价呢?
  19. c语言 if自动机 while自动机 bool自动机 算术自动机
  20. 大秦:开局签到满级剑术天赋(二)

热门文章

  1. [NodeJs] 你有使用过npx吗?它主要解决什么问题?
  2. [react] 说说你对声明式编程的理解?
  3. 前端学习(3292):function
  4. [vue] SSR解决了什么问题?有做过SSR吗?你是怎么做的?
  5. [css] 如何使用CSS绘制一个汉堡式菜单
  6. 前端学习(2739):重读vue电商网站49之第三方库使用CDN
  7. “约见”面试官系列之常见面试题第九篇vue实现双向绑定原理(建议收藏)
  8. 前端学习(1816):前端面试题之作用域和值类型传递的参数1
  9. shiro学习(22):动态添加验证规则2
  10. Java面试题19 牛客下面有关java的引用类型,说法正确的有?