预处理程序的存在也造成了阅读程序的不便。如果你想使用别人已经完成的C语言程序,那么通常你不但要阅读他所写下的文件,还必须一并查阅上文件,才能了解其程序的全貌。如果换成是Java程序,只要查看java的程序文件就够了。
(6)与C类,Java含有一系列“主类型”(Primitive type),以实现更有效率的访问 在Java中,这些类型包括boolean,char,byte,short,int,long,float以及double.所有主类型的大小都是 固有的,且与具体的机器无关(考虑到移植的问题)。这肯定会对性能造成一定的影响,具体取决于不同的机器。对类型的检查和要求在Java里变得更苛刻。
例如:
条件表达式只能是boolean(布尔)类型,不可使用整数。
必须使用象XY这样的一个表达式的结果;不能仅仅用“XY”来实现“副作用”。
(7)Java静态引用的字串会自动转换成String对象。[/b][/color] java和C及C不同,没有独立的静态字符数组字串可供使用。
c和c十十不支持字符串变量,在c和c十十程序中使用Null终止符代表字符串的结束,在Java中字符串是用类对象(string和stringBuffer)来实现的,这些类对象是Java语言的核心,用类对象实现字符串有以下几个优点:
a)在整个系统中建立字符串和访问字符串元素的方法是一致的;
b)Java字符串类是作为Java语言的一部分定义的,而不是作为外加的延伸部分;
c)Java字符串执行运行时检查,可帮助排除一些运行时发生的错误;
d)可对字符串用“十”号进行连接操作。
(8) Java增添了三个右移位运算符“>>>”,具有与“逻辑”右移位运算符类的功用,可在最末尾插入零。“>>”则会在移位的同时插入符号位(即“算术”移位)。
(9) 尽管表面上类,但与C相比,Java数组采用的是一个颇为不同的结构,并具有独特的行为。就是说Java提供数据下标越界检查,而C没有提供.
有一个只读的length成员,通过它可知道数组有多大。而且一旦超过数组边界,运行期检查会自动丢弃一个异常。所有数组都是在内存“堆”里创建的,我们 可将一个数组分配给另一个(只是简单地复制数组句柄)。数组标识符属于第一级对象,它的所有方法通常都适用于其他所有对象。
(10) 对于所有不属于主类型的对象,都只能通过new命令创建和C不同,Java没有相应的命令可以“在堆栈上”创建不属于主类型的对象。所有主类型都只 能在堆栈上创建,同时不使用new命令。所有主要的类都有自己的“封装(器)”类,所以能够通过new创建等价的、以内存“堆”为基础的对象(主类型数组 是一个例外:它们可象C那样通过集合初始化进行分配,或者使用new).
(11) Java中不必进行提前声明方法。
若想在定义前使用一个类或方法,只需直接使用它即可——编译器会保证使用恰当的定义。所以和在C中不同,我们不会碰到任何涉及提前引用的问题。
(12) Java用包代替了命名空间。
由于将所有东西都置入一个类,而且由于采用了一种名为 “封装”的机制,它能针对类名进行类于命名空间分解的操作,所以命名的问题不再进入我们的考虑之列。数据包也会在单独一个库名下收集库的组件。我们只需简单地“import“(导入)一个包,剩下的工作会由编译器自动完成。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/sanxing/article-58491-6.html
要掌控这门技能
美派军舰巡航南海中国岛礁12海里
韬啊要加油啊