-
byte和short类型主要用于特定的应用场合,例如,底层的文件处理或者需要控制占用存储空间量的大数组。
-
十六进制数值有一个前缀0x(如0xCAFE),八进制有一个前缀0,如010对应八进制中的8。很显然,八进制表示法比较容易混淆,所以建议最好不要使用八进制常数。
-
从Java7开始,加上前缀0b就可以写二进制数。例如0b1001就是9。同样从Java7开始,还可以为数字字面量加下划线,如用1_000_000(或0b1111_0100_0010_0100_0000)表示一百万,这些下划线只是为了让人更易读。
-
绝大多数应用程序都采用double类型。在很多情况下,float类型的精度很难满足需求。float类型的数值有一个后缀F,没有后缀F的浮点数值默认为double类型。
-
浮点数值(double和float型)不适用于进制出现舍入误差的金融计算中。例如System.out.println(2.0-1.1);将打印出0.8999999999999999,而不是0.9。其主要原因就是浮点数值采用二进制系统表示,而在二进制系统中无法精确的表示分数1/10。这就好像十进制无法精确地表示1/3一样。如果需要在数值计算中不含有任何舍入误差,就应该使用BigDecimal类。
-
强烈建议不要在程序中使用char类型,除非确实需要对UTF-16代码单元进行操作。最好将需要处理的字符串用抽象数据类型表示。
-
尽管$是一个合法的java字符,但不要在代码中使用这个字符。它只用在Java编译器或其他工具生成的名字中。
-
变量名最好不要只存在大小写的区别,比如hireday和hireDay。有些程序员会这么命名:hireDay和aHireDay。
-
C/C++区分变量的声明和定义。例如int i = 10;这是一个定义,而extern int i是一个声明。Java不区分变量的声明和定义。
-
const是Java保留的关键字,但目前没有使用。在Java中,必须使用final定义常量。
-
public static strictfp void main(String[] args):使用strictfp修饰的类将使用严格的浮点计算。
-
BigInteger类实现了任意精度的整数运算,BigDecimal类实现了任意精度的浮点数运算。因为是类,所以要用类提供的方法进行运算。