
3.1.1 指定变量值

变量用来表示未知或变化的数据。声明变量只是告诉计算机使用某个变量名表示一个数据。如果要使用该变量,还需要将变量名和对应的数据进行关联,即为变量指定值。在Java语言中,为变量指定值有两种方式,分别为外部输入值和代码赋值。下面将依次讲解这两种方式。
1.外部输入值
外部输入值是一种动态地指定值的方式。例如,程序运行时,可以通过键盘输入某个值,将该值指定给变量。此功能需要使用Scanner类。根据获取的数值类型不同,使用的方法也不同,如表3.1所示。
表3.1 获取数值的方法

注意:这种输入值的方式一般适用于具体值未知的情况。例如,公司将有一个新员工入职,暂时不知道他的名字。那么,可以声明一个变量name,然后使用输入值的方式指定值。
【示例3-1】下面将通过输入值的方式为变量name指定值。代码如下:

运行程序,会看到如图3.1所示的结果。在“输入”文本框中输入字符串Tom,按回车键后,首先会返回输入的字符串,然后输出程序指定的内容,最后的结果如图3.2所示。

图3.1 运行结果(输入值前)

图3.2 运行结果(输入值后)
2.代码赋值
在Java语言中,除了可以外部输入值以外,还可以通过代码直接指定一个值,这种方式就是赋值。在赋值时,为变量赋的这个数值是固定值,需要使用赋值运算符(=)。赋值的基本形式如下:

【示例3-2】下面将通过赋值的方式为变量age指定值。代码如下:

运行结果如下:

变量的声明和赋值可以合并在一起,如以下代码:

可以改为以下代码:

3.操作数
在代码age=18中,age和18都被称为操作数。等号(=)是Java语言中的一个运算符。根据运算符的特性,操作数可以有一个或多个。根据操作数个数的不同,运算符分为一元运算符(单目运算符)、二元运算符(双目运算符)和三元运算符(三目运算符)。它们的详细说明如表3.2所示。
表3.2 运算符说明

注意:指定元或目就是指定操作数的个数。
4.连续赋值
在赋值时,如果两个或多个变量的值都是相同的值,可以一起进行赋值。代码如下:

运行结果如下:

5.为常量指定值
在Java中还有一种特殊的变量,被称为常量,也可以称为final变量。常量需要使用final关键字进行声明,其语法形式如下:

为常量指定值也可以有两种方式,分别为外部输入值和代码赋值。外部输入值和代码赋值都和上文中提到的使用方式一样。
【示例3-3】下面将常量age赋值为13,使用代码赋值。代码如下:

运行结果如下:

注意:常量在整个程序运行过程中只能被赋值一次,否则会出现错误,如以下代码:

在此代码中,为常量进行了两次赋值,所以会输出以下错误信息:
