Puzzle 04: It's Elementary

使用形似字符的迷思

下面的代码应该打印出什么?

System.out.println(12345 + 5432l);

是66666吗?但事实上打印出的是17777。

这是因为上面加式中的第二个操作数:5432l其实是5432L.

这个问题不过是由于数字1和字母l形似而错误使用引起的,本身并无多大的意义。

在任何时候,需要用到长整型时,都要尽量不使用小写字符l。当然,用l作变量名的话,也是不好的。