thinking in java学习笔记(二)
来源:互联网 发布:淘宝里的运费险怎么退 编辑:程序博客网 时间:2024/05/22 11:07
简单的浏览了下前四章,收获还是有的。
1、在方法中 return语句可以立即中断方法的执行。
2、注释文档,
将代码同文档“链接”起来。javadoc便是用于提取注释的工具,一般为public、protected成员进行文档注释。
//: ThinkingInJava/WhileTest.java/** The Thinking in java example program. * Test while. * @author dai * @version 0.0 */public class WhileTest {/**A method return true or false */public static boolean condition(){boolean result = Math.random() < 0.99;System.out.println(result + ",");return result;}/** * Entry point to class && application. * @param args array of string arguments * @throws exceptions No exceptions thrown */public static void main(String[] args) {while(condition()){System.out.println("Inside 'while'");}System.out.println("Exited 'while'");}} /* Output:...*///:~用javadoc提取此注释文档后
很有趣!
3、javaSE的经典问题---对象的等价性
<span style="white-space:pre"></span>String str0 = new String("a");String str1 = new String("a");if(str0 == str1){System.out.println("str0 == str1");}if(str0.equals(str1)){System.out.println("str0.equals(str1)");}尽管两个对象的内容相同,但是对象的引用是不同的。而关系操作符 == 比较的就是对象的引用。但是让我困解的是既然上例中equals方法比较的是两个对象的实际内容。为什么在新建类时,比较这个类的两个对象(具有相同属性值)时又是false呢?怎么是由于equals方法的默认行为是比较引用呢,这不就和上面的例子冲突了吗?在看了equals源码后(String类)有了大致的理解;
public boolean equals(Object anObject) {if (this == anObject) { return true;}if (anObject instanceof String) { String anotherString = (String)anObject; int n = count; if (n == anotherString.count) {char v1[] = value;char v2[] = anotherString.value;int i = offset;int j = anotherString.offset;while (n-- != 0) { if (v1[i++] != v2[j++])return false;}return true; }}return false; }每一种非基本类型都有他对应的equals方法!
针对上面的String类的equals我的理解是:
在初始化自己类的两个具有相同属性(String)的对象后,第二个if语句我们就用不着了,而第一个if语句仍是用的关系操作符 == ,比较的还是对象的应用。故而返回的仍是false,也就是默认的行为还是比较引用。
4、java中不允许我们将一个数字作为布尔值直接使用的。
0 0
- Thinking In Java 学习笔记(二)
- thinking in java学习笔记(二)
- 学习《Thinking in java》笔记二
- Thinking In Java学习笔记二
- Thinking in java学习笔记-并发(二)
- Thinking in Java 笔记(二)
- Thinking in Java阅读笔记(二)
- Thinking In Java 学习笔记(序)
- thinking in java 学习笔记(1)
- Thinking in java 学习笔记(2)
- Thinking In Java学习笔记(1)
- Thinking In Java学习笔记(2)
- Thinking In Java 学习笔记(一)
- Thinking In Java 学习笔记(三)
- Thinking In Java 学习笔记(四)
- thinking in java 学习笔记(一)
- Thinking in java 学习笔记(一)
- (Thinking in Java学习笔记)初始化
- POJ 1062 昂贵的聘礼(dijkstra)
- SpringMVC之@RequestBody, @ResponseBody
- 2016 阿里校招笔试应用题总结
- jQuery 浏览器版本判断BUG
- opengl es 2.0游戏与图形编程——2.设置图形投影
- thinking in java学习笔记(二)
- 关于枚举enum
- zjnu(1182)——能量项链
- hdoj 2824 The Euler function 【欧拉函数】
- js apply/call/caller/callee/bind使用方法与区别分析
- hdoj.1759 Matrix Revolution【矩阵快速幂->逆思维】 2015/08/24
- HDOJ 1074.Doing Homework(状态压缩DP)
- 重启adb连接
- 【POJ1611】【The Suspects】【并查集水题】【增加一个num[]记录数量】