
Java解惑
文章平均质量分 69
chjttony
java软件工程师。
展开
-
《java解惑》读书笔记1——表达式之谜
1.奇偶性判断: 问题: 如果使用下面的程序判断整数奇偶性会有什么问题: public static boolean isOdd(int i){ return i % 2 == 1; }上述代码对于正整数没有任何问题,但是对于所有负奇数的判断全部都是错误的。 原因: java对于取余运算符(%)的定义为:对于所有int数值a和所有非零int数值b,都满足如下恒等式: (原创 2013-11-21 17:02:11 · 2869 阅读 · 0 评论 -
《java解惑》读书笔记2——字符串之谜
1.字符拼接: 问题: 程序员几乎在每天编程中都遇到和处理字符串拼接的问题,但是是否对其了解的足够深入,且看下面的程序: public static void main(String[] args) { System.out.print("H" + "a"); System.out.print('H' + 'a'); }很多人觉得输出结果应是:HaHa,但是真实的程序运行结果是:H原创 2013-12-02 13:45:49 · 2839 阅读 · 0 评论 -
《java解惑》读书笔记3——更多字符串之谜
1.字符串替换: 问题: 下面这段程序把类全路经名中的"."替换为"/",代码如下: package com.javapuzzlers; public class Test { public static void main(String[] args){ System.out.println(Test.class.getName().replaceAll(".", "/") +原创 2013-12-29 10:21:57 · 2228 阅读 · 0 评论 -
《java解惑》读书笔记4——循环谜题
1.byte数值比较: 问题: 下面的程序循环遍历byte数值,以查找某个特定值,代码如下: public class Test { public static void main(String[] args) { for(byte b = Byte.MIN_VALUE; b < Byte.MAX_VALUE; b++){ if(b == 0x原创 2014-01-17 17:21:37 · 3400 阅读 · 0 评论 -
《java解惑》读书笔记6——类谜题
1.方法重载: 问题: 下面的程序演示方法重载,代码如下: public class Test{ public static void main(String[] args) { new Test(null); } private Test(Object o){ System.out.println("Object");原创 2014-02-19 13:56:28 · 3307 阅读 · 0 评论 -
《java解惑》读书笔记5——异常谜题
1.finally语句块中的return: 问题: 下面的小程序运行结果是什么: public class Test { public static void main(String[] args) { System.out.println(decision()); } static boolean decision(){ t原创 2014-01-24 15:56:17 · 3239 阅读 · 0 评论 -
《java解惑》读书笔记7——库谜题
1.不可变类: 问题: 下面的程序计算5000+50000+500000值,代码如下: import java.math.BigInteger; public class Test{ public static void main(String[] args){ BigInteger fiveThousand = new BigInteger("5000");原创 2014-02-24 16:06:10 · 3137 阅读 · 0 评论 -
《java解惑》读书笔记8——更多类谜题
1.变量隐藏: 问题: 猜猜下面的小程序打印结果应该是什么: class Base{ public String className = "Base"; } class Derived extends Base{ private String className = "Derived"; } public class Test{ public stati原创 2014-03-04 17:13:33 · 3291 阅读 · 0 评论