
2.4 变量
要计算一个复杂的数学问题往往会产生许多中间量,在现实生活中我们可以把它记录在纸上供以后使用,而在程序开发中可以使用变量来进行存储,换句话说变量就是程序中数据的临时存放场所。
2.4.1 变量的定义
变量由3个部分组成:变量类型、变量名和变量值。我们将变量的这3个部分与酒店的客房进行类比,变量类型可以类比为客房的类型,如标准间、商务间或是总统套房等;变量名可以类比为房间号,如101、201、307等;变量值可以类比为入住的客人,同样一间客房可以入住不同的客人。
变量名的命名规则如下:
● 满足标识符的命名规则。
● 遵照驼峰式(Camel-Case)命名法进行命名。
● 尽量简单且能够反映其作用。
● Java变量名的长度没有限制。
Java规则规定,在使用变量前首先需要声明变量。使用未声明的变量属于违法操作,在编译时会提示变量不存在的错误。变量的定义语法格式如下所示:

变量的定义示例如下:

第一个示例定义一个整型的变量,变量名为number。第二个示例定义一个双精度浮点型的变量,变量名为price。在定义之后,就可以在后续的编码过程中使用前面定义的变量了。
2.4.2 变量的赋值
定义变量对于计算机操作系统来说,就是给变量开辟一块符合条件的内存来存储对应的数据。如果不给变量赋值而直接使用,那么在进行编译时会直接提示错误。错误内容一般如下所示:

在Java编程中,一般使用赋值运算符“=”来进行变量的赋值,其作用是将运算符右边的值赋给左边的变量。例如:

在上面的示例中,第一个语句是定义一个整型的变量,变量名为n;第二个语句的作用是将数值3赋给变量n。
运算符的右边是要赋给的值,左边是要接受的变量,例如以下的语句都是错误的赋值表达方式:

因为赋值运算符的使用方式是将运算符右边的数值给左边的变量,所以变量的位置只能在等号运算符的左边。关于变量赋值的使用如示例2-5所示。
【示例2-5】变量赋值

程序编译后,运行结果如下:

2.4.3 变量的初始化
在Java编程中,可以在需要的时候给出变量的值,也可以在定义之后立即给变量赋值。这种在变量声明的同时给变量赋值的方式,一般称之为变量的初始化,例如:

上面的示例分别定义了一个字符型变量和一个布尔型变量,并在定义之后分别将其初始化为'a'和false。
2.4.4 变量的分类
在Java编程中,根据变量的作用范围一般可以分为以下3类:
● 局部变量。
● 实例变量。
● 静态变量。
局部变量一般在方法、函数块中定义。当进入方法或者函数被调用时,变量被定义;而退出方法或函数时,变量被系统自动销毁。其作用域仅在方法中有效。
实例变量又可称为成员变量。该类型的变量定义在类的内部,在整个类中都能使用。当调用类定义一个对象时,变量被定义。当对象被释放后,变量随之消失。关于局部变量和实例变量的简单使用如示例2-6所示。
【示例2-6】变量类型

程序编译后,运行结果如下:

这里只是简单介绍变量的类型以及使用方式。在实际操作过程中,根据使用的数据范围来确定需要定义什么类型的变量。
注意
关于3种变量,将在第7章中详细介绍。