编辑: AA003 | 2013-04-07 |
相类似的,要避免使用单独的一个 l 字母作为变量名.例如,我们很难通过观察 下面的代码段来判断它到底是打印出列表 l 还是数字 1. //不良代码-使用了 l 作为变量名 List l = new ArrayList();
l.add( Foo );
iTePub.Net-Collect System.out.println(1);
总之,小写字母 l 和数字
1 在大多数打字机字体中都是几乎一样的.为避免你的 程序的读者对二者产生混淆,千万不要使用小写的 l 来作为 long 型字面常量的 结尾或是作为变量名.Java 从C编程语言中继承良多,包括 long 型字面常量的 语法.也许当初允许用小写的 l 来编写 long 型字面常量本身就是一个错误. 谜题 谜题 谜题 谜题
5 5
5 5: : : :十六进制的趣事 十六进制的趣事 十六进制的趣事 十六进制的趣事 下面的程序是对两个十六进制(hex)字面常量进行相加,然后打印出十六进制 的结果.这个程序会打印出什么呢? public class JoyOfHex{ public static void main(String[] args){ System.out.println( Long.toHexString(0x100000000L + 0xcafebabe));
} } 看起来很明显,该程序应该打印出 1cafebabe.毕竟,这确实就是十六进制数字
10000000016 与cafebabe16 的和.该程序使用的是 long 型运算,它可以支持
16 位十六进制数,因此运算溢出是不可能的. 然而,如果你运行该程........