声明常量

在程序运行过程中一直不会改变的量称为常量(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  的运行结果