日期:2014-05-17  浏览次数:20899 次

C# 与 Java语法对比

ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_csref/html/bbf3a6da-7884-43ba-9e02-e4d727ab481a.htm

?

源文件约定(C# 与 Java)

数据类型(C# 与 Java)

运算符(C# 与 Java)

流控制(C# 与 Java)

循环语句(C# 与 Java)

类基础(C# 与 Java)

Main () 方法和其他方法(C# 与 Java)

使用不确定数目的参数(C# 与 Java)

属性(C# 与 Java)

Struct(C# 与 Java)

数组

继承与派生类(C# 与 Java)

事件

运算符重载(C# 与 Java)

异常(C# 与 Java)

高级 C# 技术(C# 与 Java)

垃圾回收(C# 与 Java)

安全代码与不安全的代码(C# 与 Java)

摘要(C# 与 Java)

?

?

Java 不允许在同一个源文件中出现多个包。而 C# 允许在一个 .cs 文件中出现多个命名空间,如下所示:

? ?
namespace AcmeAccounting
{
    public class GetDetails
    {
        // ...
    }
}

namespace AcmeFinance
{
    public class ShowDetails
    {
        // ...
    }
}

C# 提供 Java 中可用的所有数据类型,并增加了对无符号数字和新的 128 位高精度浮点类型的支持。

核心类库为 Java 中的每个基元数据类型提供了一个包装类,此包装类将基元数据类型表示为 Java 对象。例如,Int32 类包装 int 数据类型,Double 类包装 double 数据类型。

另一方面,C# 中的所有基元数据类型都是 System 命名空间中的对象。对于每个数据类型,提供了一个简称(或别名)。例如,intSystem.Int32 的简称,而 doubleSystem.Double 的简写。

下表提供了 C# 数据类型列表及其别名。如表所示,前八个数据类型对应于 Java 中可用的基元类型。但请注意,Java 的 boolean 在 C# 中称为 bool

简称

.NET 类

类型

宽度

范围(位)

byte

Byte

无符号整数

8

0 到 255

sbyte

SByte

有符号整数

8

-128 到 127

int

Int32

有符号整数

32

-2,147,483,648 到 2,147,483,647

uint

UInt32

无符号整数

32

0 到 4294967295

short

Int16

有符号整数

16

-32,768 到 32,767

ushort

UInt16

无符号整数

16

0 到 65535

long

Int64

有符号整数

64

-922337203685477508 到 922337203685477507

ulong

UInt64

无符号整数

64

0 到 18446744073709551615

float

Single

单精度浮点型

32

-3.402823e38 至 3.402823e38

double

Double

双精度浮点型

64

-1.79769313486232e308 至 1.79769313486232e308

char

Char

单 Unicode 字符

16

文本中使用的 Unicode 符号

bool

Boolean

逻辑布尔值类型

8

True 或 False

object

Object

所有其他类型的基类型