P28-变量的定义
-
什么是变量?
- 从本质上来说,变量就是一块内存空间,而这块内存空间有数据类型、名字、字面值。
- 变量包含三部分:数据类型、名字、字面值(数据)
- 变量是内存中存储的基本单元。
-
数据类型的作用: 不同的数据会有不同的类型,不同的数据类型会分配不同大小的内存空间。
-
注意:字面值的数据类型必须与变量的数据类型一致,否则编译会报错。
-
声明/定义变量的语法规则:
数据类型 变量名;
-
变量名必须符合标识符的要求,规范要求:首字母小写,后面每个单词首字母大写。
-
变量赋值的语法:
变量名 = 字面值;
-
等号(=)是一个运算符,先运算等号右边的表达式,再将表达式运算的结果赋值给左边的变量。
-
声明和赋值可以一起完成,即
数据类型 变量名 = 字面值;
-
在java中,变量必须先声明,再赋值,才能访问
P29-变量的执行顺序
- 在方法体中,代码遵循自上而下的顺序,逐行执行。只有当前一行执行完毕后,才能执行下一行。
- 在同一个作用域中,变量名不能重名,即不能对同一变量,重复声明。
P30-变量的作用域
- 变量的作用域:变量的有效范围,在作用域内,变量可以被访问。出了作用域范围,访问变量就会报错。
- 某一变量的作用域:最接近该变量的上级大括号的范围。
- 注意:在for循环中定义的变量,当循环结束之后,该变量的内存空间就被释放了,不能被for循环之后的语句访问。
P31—变量的分类
-
根据变量的位置,可以分为局部变量和成员变量。
- 局部变量:在方法体中声明的变量
- 成员变量:在方法体外并类体之内,声明的变量
-
不同作用域的变量,可以重名。
-
当局部变量和成员变量重名时,访问根据就近原则。即先查找当前作用域,如果当前作用域没有,再查找上一级作用域。