2.6.1 变量声明
在程序中变量在使用之前必须先声明。
语法: data_type var_name;
该语法将声明为两部分。第1部分的data_type 代表数据类型,指定的变量所存储值的类型以及要为其分配的内存数量。第2部分的var_name代表变量名,变量名需要遵循一些规则,如前所述,标识符是变量、类等所使用的名称,变量名的规则与先前讲过的标识符规则一致。
2.6.2 变量初始化
初始化意味着变量分配初始值,变量的赋值可以通过赋值运算符(=)完成。
语法: data_type var_name = value;
在该语法中 data_type指定了数据类型,var_name指定了变量名,value指定了分配给var_name的初始值。
变量动态初始化
2.6.3 变量类型
1. 局部变量
局部变量是在代块或方法内部声明的变量。
局部变量有以下限制。一
- 具有局部作用域。无法在定义其的代码框之外访问到。这个变量只能在特定的代码块内部访问。
- 访问修饰符不能用于局部变量
- 局部变量没有默认值,这种变量应该在使用之前先声明和初始化。
int num(){
int a = 10, b=5, c;
return c= a*b;
}
2. 实例变量
在类内部声明的变量称为实例变量,这种变量与类的单个实例相关,实例变量可供同类中的不同方法使用也叫做非静态成员变量。class demo{
public static void main(String args[]){
int a, b;
-----------;
}
}
3. 类/静态变量
除声明时需要使用static的关键词之外,类变量和实例变量并没有两样。这种变量不能是局部的,不管一个类被使用多少次,都只会创建一份静态或类变量的备份。class demo{
public static void main(String args[]){
static int a, b;
-----------;
}
}
4. 方法参数变量
在方法声明签名中声明的变量称为方法参数变量。只要某个方法被调用,就创建与其声明时同名的变量,与局部变量一样,这种变量也没有默认值,因此应该对其进行初始化,否则编译器将报错。
2.6.4 变量的作用域与生命周期。
变量的作用域指的是程序中可以对其进行访问和操作的部分。作用域还指定了何时为变量分配或销毁内存,生命期指定了变量在计算机内存中的寿命。前面的4种类型的变量具有不同的作用域和生命期,局部变量的范围仅限于声明它的代码块或方法,并且局部变量的生命期仅从执行代码块或方法时才开始,一旦执行完毕,局部变量就从计算机内主动销毁。