
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第3章 基础语法
3.3.2 变量的注意事项
1.必须先声明再使用
错误示例代码。
声明在使用之后:

变量未声明的错误示例如图3-5所示。

图3-5 变量未声明的错误示例
2.变量必须在初始化后才能使用
错误示例代码。
使用之前没有初始化:

变量未初始化的错误示例如图3-6所示。

图3-6 变量未初始化的错误示例
3.变量有作用域,并且在同一个作用域中不可以重复命名
错误示例代码。
同一个作用域中的num变量声明两次:

变量重名的错误示例如图3-7所示。

图3-7 变量重名的错误示例
第一个错误提示已经在方法main中定义了变量num。同一个作用域中变量是不可以重复命名的,如果变量重名,那么Java虚拟机就不能区分两个变量了。好比班级中有两个同名的学生,老师在叫学生名字时,可能两个学生同时起立,造成老师无法直接区分。
所谓作用域,是指大括号的范围,在某个大括号的复合语句中声明的变量,仅在当前大括号范围内使用。例如,上面的第二个错误提示,找不到符号num,就是因为超过了num定义的作用域范围。
4.变量的值可以变化,但必须在变量声明的数据类型范围内
错误示例代码。
num变量是int整数类型,却被赋值为1.5的double小数类型:

变量赋值不在数据类型范围内的错误示例如图3-8所示。

图3-8 变量赋值不在数据类型范围内的错误示例