### 声明常量

在程序运行过程中一直不会改变的量称为常量（constant），通常也被称为“final 变量”。常量在整个程序中只能被赋值一次。在为所有对象共享值时，常量是非常有用的。

在 Java 语言中声明一个常量，除了要指定数据类型外，还需要通过 final 关键字进行限定。声明常量的标准语法为：

final 数据类型 常量名称[=值]

说明：常量名通常使用大写字母，这也符合Java编码规范，但这并不是必须的，声明常量时，完全可以和变量名一样使用小写字母。但是，那样容易造成混淆，降低代码可读性，所以才有规范要求常量名全部大写，并使用“_”下划线字符分割多个单词。

例 声明常量，实例代码如下：

final double PI = 3.1415926D; //声明 double 型常量 PI 并赋值

final boolean BOOL = true; //声明 boolean 型常量 BOOL 并赋值

当定义的 final 变量属于“成员变量”，则必须在定义的时候就设定它的初值。否则将会有编译错误。下面的实例可看出变量与常量的区别。

例 在项目中创建类 Part，在类体中创建变量 age 与常量 PI。在主方法中分别将变量与常量赋值，通过输出信息可测试变量与常量的有效范围。

public class Part { //新建类 Part

static final double PI = 3.14; //声明常量 PI，此时 PI 如不对其进行赋值，则会出现错误提示

static int age = 23; //声明 int 型变量 age,并进行赋值

public static void main(String[] args) { //主方法

final int number; //声明 int 型常量 number

number = 1235; //对常量进行赋值

age = 22; //再次对变量进行赋值

//number = 1236; //错误的代码，因为 number 为常量，只能进行一次赋值

System.out.println("常量 PI 的值为：" + PI); //将 PI 的值输出

System.out.println("赋值后 number 的值为:" + number); //将 number 的值输出

System.out.println("int 型变量 age 的值为：" + age); //将 age 的值输出

}

}

运行结果如图 1 所示。

图 1 的运行结果