变量和常量都可以看做是程序中用来存储数据的容器(也可以理解为是内存单元的抽象),其中变量中存储的值在程序运行过程中是可变的,而常量中的值是不可变的。
变量
Java是强类型编程语言,必须给变量声明数据类型,并且变量只能存储该数据类型的数值,除非进行了类型转换。变量在声明了数据类型后还需要进行初始化。
在Java程序中,变量分为成员变量和局部变量。它们的区别如下:
(1)成员变量是在类的实例域中定义的变量,成员变量属于对象实例,储存在堆中,其生命周期是从对象产生到对象的消亡。
(2)局部变量是在方法体中定义的变量,存储在栈中局部变量的作用域仅局限于该方法体中,方法执行完毕,局部变量便消失。
(3)局部变量的名称可以与成员变量相同,此时成员变量将会被隐藏。
(4)成员变量如果没有进行显示的初始化,会赋默认值0,null或者false(分别对应基本数据类型、引用数据类型和布尔类型),局部变量在使用前必须进行显示初始化。
常量
在程序执行过程中,数值一直不会改变的量称为常量,使用”final”关键字进行限定,所以也叫”final变量”。常量通常使用大写字母来命名,例如:
final int PI = 3.14;
常量的值只能赋值一次,赋值后就不能再进行赋值了,如果final变量是成员变量的话,必须在定义时就设定它的初始值。