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 · 2826 阅读 · 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 · 2795 阅读 · 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 · 2190 阅读 · 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 · 3329 阅读 · 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 · 3243 阅读 · 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 · 3141 阅读 · 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 · 3091 阅读 · 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 · 3205 阅读 · 0 评论