变量的本质
变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。
Java是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变量占据存储空间的大小。 比如,int a=3; 表示a变量的空间大小为4个字节。
变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。
变量的声明:
type varName;或type varNmae=varName;
//例如
int number;
float size=32.54;//变量的声明和初始化在同一行中
师兄经验:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
在一行中声明多个变量:
int i ,j; // 两个变量的数据类型都是int
变量的分类
从整体上可将变量划分为局部变量、成员变量(也称为实例变量)和静态变量。
局部变量
方法或语句块内部定义的变量。生命周期是从声明位置开始到到方法或语句块执行完毕为止。局部变量在使用前必须先声明、初始化(赋初值)再使用。
public void test(){
int a=10;//对局部变量a声明和初始化,从属于方法内部
System.out.println(a);
}
成员变量(member variable)
方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终。如果不自行初始化,它会自动初始化成该类型的默认初始值。
public class TestVar{
double number=10;//成员变量number的声明和初始化,从属于对象
public void print(double number){
number+=10;//调用成员变量number
System.out.println(number);
}
}
静态变量(static variable)
使用static定义。 从属于类,生命周期伴随类始终,从类加载到卸载。如果不自行初始化,与成员变量相同会自动初始化成该类型的默认初始值。
public class TestVar{
static double number=10;//声明并初始化静态变量number; 从属于类
public void print(double number){
number+=10;//调用静态变量number
System.out.println(number);
}
}