Java变量的声明和作用域
码农洞见 人气:01 前言
变量是计算机语言中的一个概念,可以表示某个具体数值,并且这个值可以改变,所以叫变量。与之对应的是常量,常量也是用来表示某个数值的,但值是固定的,不能改变。
2 变量的声明
声明变量就是要告诉编译器这个变量的数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这个空间取个名字,称为变量名。
语法:
数据类型 变量名 [=初始值] [,变量名 [=初始值] …]
//声明一个整数类型的变量,变量名为age int age; //对变量进行赋值,变量名为age,值为18 age = 18; //数据类型 变量名 [,变量名......] int age, age1; //数据类型 变量名 [=初始值] [,变量名 [=初始值] ......] int age = 20, age1 =21;
变量名的定义要符合规则,可以包含数字、字母、下划线、$,不能包含空格、运算符,不能用纯关键字命名,不能以数字开头,大小写字母可混用,首字母应小写,后续单词的首字母应大写。对于变量的命名并不是随意的,应遵循以下几条规则:
- 变量名必须是一个有效的标识符(有变量名和数据类型)。
- 变量名不可以使用Java中的关键字。
- 变量名不能重复。
反例:代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
_name / __name / $Object / name_ / name$ / Object$
3 变量的作用域
作用域指的是作用范围,变量在什么范围内有效。
由于变量被定义出来后只是暂存在内存中,等到程序执行到某一个点,该变量会被释放掉,也就是说变量有它的生命周期。因此,变量的有效范围是指程序代码能够访问该变量的区域,若超出该区域,则在编译时会出现错误。在程序中,一般会根据变量的“有效范围”将变量分为“成员变量”和“局部变量”。
/** * 这是一个测试类 */ public class TestVar{ //成员变量 int age1 =18; //这是一个方法 public static void main(String [] args){ //局部变量 int age2 = 20; System.out.println(age1); } //这是一个方法 public void hello(){ //变量age1没有超出作用域 System.out.println(age1); //变量age2超出作用域,编译出错 System.out.println(age2); } }
成员变量:定义在类中,方法外
局部变量:定义在方法中
变量的作用范围就是找离变量最近的{}来判断是成员变量还是局部变量。
4 总结
变量其实就是内存中的一个存储空间,用来存储数据。那这么说,声明一个变量=变量空间的开辟,变量的数据类型=这个空间要存储什么数据,变量名称=这个空间叫什么名字,变量的值=这个空间的数据是什么。
加载全部内容