Java, C#, Swift语法对比速查表

10 篇文章 0 订阅
2 篇文章 0 订阅

Java, C#, Swift语法对比速查表

  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<键类型, 值类型> 变量名 = newTreeMap<键类型, 值类型>() {

{

put(键1, 值1); 

put(键2, 值2); 

}

};

var 变量名= newDictionary<键类型, 值类型>()

{

[键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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件实现DX9功能 TransGaming公司发布了一款号称革命性的纯软件3D渲染引擎工具,TransGaming宣称这款渲染引擎工具支持所有的Pixel和Vertex Shader DX9特效,并且可以获得比微软D3D的REF设备(reference rasterizer)快50倍的速度。可能很多朋友对TransGaming公司几乎没怎么听说过,不过提到这家公司的一个名为Cedega的软件,很多熟悉Linux的朋友可能马上就会想起了,Cedega是一个可以使Windows平台的游戏运行在Linux下的创新软件,支持《战地:越南》、《马克思.佩恩》、《半条命2》等多款Windows平台下的人气大作。 今天TransGaming新发布的SwiftShader工具据说可以让用户使用非常一般的显卡也能达到相当不错的游戏速度,不知道这款工具会不会影响到ATi和nVIDIA的生意。我们先一起来看看SwiftShader的具体工作需求: —— 700 MHz或更高的x86处理器(需要支持SSE扩展指令集),推荐Pentium-M处理器 —— 一块2D显卡,无需3D显卡!! —— Win2000或XP系统,Linux系统通过Cedega支持也可以。 —— 256MB内存 —— 25MB磁盘空间 SwiftShader通过TransGaming自己的SwiftAsm runtime code生成系统来达到其声称的执行效率,SwiftAsm可以把所有基于shader的、固定的几何函数以及像素管线操作代码转换成为高速的x86 SSE/MMX代码,然后这些代码会被缓存起来以备随时调用。SwiftAsm可以让开发者很容易的为自己程序进行高效优化。 SwiftShader的安装非常简单,SwiftShader的渲染引擎已经被封装到了D3D8.DLL和D3D9.DLL这两个DLL文件中。这两个DLL文件可以被拷贝到任何使用D3D的应用程序目录下,SwiftShader会自动代替操作系统的D3D引擎。除了DLL文件外,还需要一个额外的配置文件SwiftShader.ini来供SwiftShader调用。不过并非所有的D3D应用程序都能正常的使用的SwiftShader的渲染引擎,很多程序和游戏需要通过TransGaming公司的调试修改认证才可以顺利运行。 目前TransGaming公司提供了一个展示DEMO供用户下载,其中包括了3个非常简单的演示DEMO以及一个《马克思.佩恩》的SwiftShader.ini配置文件。
TransGaming公司今天发布了一款号称革命性的纯软件3D渲染引擎工具,TransGaming宣称 这款渲染引擎工具支持所有的Pixel和Vertex Shader DX9特效,并且可以获得比微软D3D 的REF设备(reference rasterizer)快50倍的速度。可能很多朋友对TransGaming公司几 乎没怎么听说过,不过提到这家公司的一个名为Cedega的软件,很多熟悉Linux的朋友可 能马上就会想起了,Cedega是一个可以使Windows平台的游戏运行在Linux下的创新软件, 支持《战地:越南》、《马克思.佩恩》、《半条命2》等多款Windows平台下的人气大作 。 今天TransGaming新发布的SwiftShader工具据说可以让用户使用非常一般的显卡也能达到 相当不错的游戏速度,不知道这款工具会不会影响到ATi和nVIDIA的生意。我们先一起来 看看SwiftShader的具体工作需求: —— 700 MHz或更高的x86处理器(需要支持SSE扩展指令集),推荐Pentium-M处理器 —— 一块2D显卡,无需3D显卡!! —— Win2000或XP系统,Linux系统通过Cedega支持也可以。 —— 256MB内存 —— 25MB磁盘空间 SwiftShader通过TransGaming自己的SwiftAsm runtime code生成系统来达到其声称的执 行效率,SwiftAsm可以把所有基于shader的、固定的几何函数以及像素管线操作代码转换 成为高速的x86 SSE/MMX代码,然后这些代码会被缓存起来以备随时调用。SwiftAsm可以 让开发者很容易的为自己程序进行高效优化。 SwiftShader的安装非常简单,SwiftShader的渲染引擎已经被封装到了D3D8.DLL和 D3D9.DLL这两个DLL文件中。这两个DLL文件可以被拷贝到任何使用D3D的应用程序目录下 ,SwiftShader会自动代替操作系统的D3D引擎。除了DLL文件外,还需要一个额外的配置 文件SwiftShader.ini来供SwiftShader调用。不过并非所有的D3D应用程序都能正常的使 用的SwiftShader的渲染引擎,很多程序和游戏需要通过TransGaming公司的调试修改认证 才可以顺利运行。 Demo在那两个文件夹中! 如果想使用此软件的功能,请将d3d8.dll d3d9.dll 和 SwiftShader.ini 拷贝到游戏目录下即可

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值