第三章《操作符》的笔记——别名问题等
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()来判断。
若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()来判断。
相关文章推荐
- X Chen笔记---Centos/Redhat网卡别名问题
- 【C】【笔记】《C和指针》 第一章 快速上手 第二章 基本概念 第三章 数据 第四章 语句 第五章 操作符和表达式
- Java Puzzlers笔记--puzzle 8: Dos Equis 选择操作符问题
- 《Statistical Methods for Recommender Systems》阅读笔记--第三章(1)--EE问题
- java 编程思想的学习笔记 - 第三章 操作符 第四章 控制执行
- 【学习笔记】读项亮的《推荐系统实践》_第三章推荐系统冷启动问题
- Thinking in JAVA笔记——第三章 操作符 &第四章控制执行流程
- #Thinking in Java阅读笔记# 第三章 操作符
- 《Java编程思想》笔记 第三章 操作符
- 《Statistical Methods for Recommender Systems》阅读笔记--第三章(2)推荐系统中的EE问题
- hessian使用笔记(关于Hessian-servlet.xml别名问题)!
- Java编程思想笔记——第三章 操作符
- 推荐系统实践阅读笔记——第三章 推荐系统的冷启动问题
- thinking in java 笔记 思维导图 第三章操作符
- c++笔记(5):操作符、结构体、结构数组、链表、约瑟夫问题
- 【算法】数据结构与算法分析学习笔记——第三章习题选做Josephus问题
- 【java编程思想笔记】第三章—操作符
- Thinking In Java笔记(第三章 操作符)
- java编程思想第三章 操作符 笔记
- 【笔记】【算法学习】【动态规划】背包问题总结(1)