3.5 字面量和常量
在程序中,2.54(或 " in =")这样的值被称为字面量(literal)。一般而言,使用字面量没什么错,但如果在表达式中使用 2.54 这样的数字,却不作任何解释的话,代码将难以理解。另外,如果同样的值出现多次,且以后可能需要修改,那么代码将难以维护。
这样的值有时被称为魔幻数字(magic number,这里的“魔幻”可不是褒义的),一种很好的做法是像以下这样将魔幻数字赋给变量,并给变量指定有意义的名称:
double cmPerInch = 2.54;cm = inch * cmPerInch;
这个版本更容易理解,而且不那么容易出错,但还是存在一个问题,那就是变量是可变的,而 1 英寸对应的厘米数是不变的。一旦给 cmPerInch 赋值,就再也不应该修改。Java 提供了实施这种规则的语言特性——关键词 final。
final double CM_PER_INCH = 2.54;
将变量声明为 final 意味着对其进行初始化后,就不能重新赋值了。如果你试图这样做,编译器就会报错。声明为 final 的变量被称为常量(constant);根据约定,常量名全部大写,且单词间用下划线(_)连接。
