Java语言 C#语言 一些区别(1)

来源:互联网 发布:中学生编程软件 编辑:程序博客网 时间:2024/06/05 23:51

写文档背景

总有人会问我,Java语言和C#语言有什么区别。因为我曾用过这两种语言进行过研发。

我本人有时候很懒,又不细心。被问到这个话题的时候,其实从来都没有自己去思考并整理这个问题。

其实有想过,不过后来忘记了(时间久远了)。但是从来都没有一次去记录过。

我当时临场应变,依稀记得一些,不过细节上却说不出个123来。

直观感觉,C#用起来比Java简单。这不是错觉,是真的用起来简单。

因为一些原因,我有些时间可以进行这些实验了。我的实验是参照《Java解惑》这本书,之后整理的一些内容。

废话不多说了,马上进入正题。


正题

C# 是在VS2010尝试的。

文章中可能会有些的不对的地方,多多包涵。


1.Unicode 转义字符。

【Java】


等价于


虽然看似极端,不过确实能执行。

Java对 字符串字面常量中 Unicode 转义字符 没有提供任何特殊处理。
编译器在将程序解析成各种符号之前,先将Unicode转义字符转换成它们所表示的字符。

因为有着这样的原因,Java代码可以完全用 Unicode码去编写。

我们不能在类、接口、方法注释中,轻易使用Unicode码,虽然IDE工具会提示我们将会有错误。

C#语言对Unicode码的机制有所不同,在注释当中直接写也不会有问题。因此C#程序就不能完全用 Unicode码去编写。


Java语言与C#语言不同处体现。

【Java】

【C#】




2.Java计算精确计算时,需要多多考虑。

Java和C#都是强类型的。不过Java和C#基本数据类型的机制却完全不同。

Java对整数是正负没有强制要求。C#却有明确的无符号整数和有符号整数机制。

这在某些情况编程的时候,很棘手。

如下代码可以说明这点:

①多重转型

【Java】


【C#代码】


②十六进制(hex)的趣事

【Java代码】
  




【C#代码】


【细扣的话】Java语言处理数制方法 与 C#语言处理数制方法是不同的。如下。

【Java】


【C#】



③长整除

【Java代码】



【C#代码】 事先计算会不会溢出



④找零时刻(零钱)

【Java代码】

【C#代码】


3.三目运算符 Java中使用一定要确定第二,第三表达是的数据类型。

【Java代码】

【C#代码】 通过实验观察 C#是要求 第二,第三表达式的类型是一定要相同的。不同时会向宽的数据类型隐式的转换。


4. x += i; x = x + i; 表达式体现的问题。

有的问题Java已经做了调整(+为字符串连接符的时候)。

上述连个表达式,Java处理的时候有不同的原则,而C#处理的时候遵从同一个原则。

【Java代码】

JDK5,JDK6


JDK7+

【C#代码】



5.字符串问题的处理方式。

①静态字符串 Java是开放的。 C#是有要求的。

【Java代码】



【C#代码】


②字符串常量 用连接字符串  连接  字符串变量,处理机制不同。

【Java代码】生成一个新的对象。

【C#代码】不会生成一个新的对象。


结尾:

上面的几个实验不能说明哪种语言更好,涉及的内容也不是很多。

不过在使用Java语言和C#语言还是有区别的。

我本人感觉,使用Java语言编程的时候考虑的东西可能会多一些,相对C#语言。(也可能我接触C#语言接触的比较少。)

不过从另一方面,初学Java语言和C#语言的时候,肯定是C#语言上手快错误相对少。

因为初学一般都是数据类型、运算符等方面的知识。

而从上面实验过程中不难发现Java语言在这方面的要求还是蛮高。


0 0
原创粉丝点击