您的位置:首页 > 编程语言 > C语言/C++

第三章《操作符》的笔记——别名问题等

2008-01-22 00:44 260 查看
别名问题:
若a和b两个变量为基本类型,则a=b赋值时,是直接将b的值复制给了a。
若a和b为对象的引用,如:
Obj a = new Obj();
Obj b = new Obj();
a和b起初指向不同的对象,a=b赋值之后,是将b这个引用复制给了a,a和b同时指向了原本b所引用的对象,而a所引用的对象可能由于不再被用到而被垃圾回收器处理掉。方法调用中也存在别名问题。

在讲算术操作符的时候提到了Random类,Random类位于java.util包中。

C++这个名字暗示“超越C一步”。而在早期一次有关Java的演讲中,Bill Joy(Java创始人之一)声称“Java = C++--”(*^__^*) 嘻嘻……

关于关系操作符 == 与 !=
== 和 != 都是比较对象的引用,而并非对象的实际内容,若两个引用指向同一个对象,则==的结果为true。若要比较两个对象的实际内容是否相同,可用equals()方法。但对于我们自己创建的类,equals()方法又不能起到想象中的作用了,因为equal()方法的默认行为还是比较引用的,所以除非在自己的新类中覆盖equals()方法。“大多数Java类库都实现了equals()方法,以便用来比较对象的内容,而非比较对象的引用”。

Java中没有操作符重载

“扩展转换”Java会自动完成,不必进行显示转换;而“窄化转换”需要显示转换,且对小数点后的数字均执行“截尾”,如float类型的29.7转换成int类型时,结果为29。若要四舍五入需要用到java.lang.Math中的round()方法。(注意:大部分的数学计算在java.lang.Math类中,而不是java.math包中,java.math包中仅有三个类和一个枚举,包括前面看到的BigDecimal和BigInteger两个类)。

Java中没有sizeof()操作符,因为Java中每种数据类型在不同的机器上都有相同的大小,不需要用C/C++中的sizeof()来判断。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息