java变量的分类

java中变量的本质和分类

java变量的本质

变量的本质代表的是“一个可操作的存储空间”,空间的位置是确定的,但是空间里存什么是不确定的,我们可以通过变量名称访问对应的“存储空间”,进而对其存储的值进行操作。

java作为一种强类型语言,对于每一个变量都必须声明其对应的数据类型。变量的数据类型决定变量对应“存储空间”的大小。例如int a=1,他表示变量a的存储空间大小为4个字节。

变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。因此变量在使用前必须声明,只有在声明之后,才能为其分配相应长度的存储空间。变量声明的格式如下:

示例

type varName [=value] [,varName[=value]...] //[]中的内容为可选项

数据类型 变量名 [=初始值] [,变量名 [=初始值]...]

//小例子

int a;

int b=10;

int a,b;

注意事项

每个变量都有类型,类型可以是基本类型也可以是引用类型。变量名称必须是合法的标识符。变量的声明是一条完整的语句,因此必须以分号作为结束。

** 温馨提示 **

不提倡==int a,b;==这种一行声明多个变量的习惯,逐一声明有利于增加代码的可读性。

java变量的分类

java变量大致可以分为三类,第一类为局部变量;第二类为成员变量(通常也称为实例变量);第三类为静态变量。

第一类:局部变量(local variable)

局部变量是方法或语句块内部定义的变量,其生命周期是从声明位置开始到方法或语句块执行完毕为止。局部变量在使用前必须先声明并初始化(赋值),否则会出错。

局部变量的初始化有两种方式,一种是先定义再初始化,代码中方式一所示,另外一种是定义的同时进行初始化,如方式二所示。

public class TestVariable{

public static void main(String[] args){

//方式一

int age;

age=18;

//方式二

int weight=50;

//错误赋值示例!!!注意这样写是错误的,不要模仿!!!!

class height{

int height;

}

height=180;

}

}

错误使用示例一:在这里虽然定义了身高height,也有初始化,为什么会报错呢?原因在于之前说的语句块的概念,class height{}定义的是height类,也就是一个语句块,局部变量只能在语句块内才能使用,简单点理解就是在一个括号内是可以使用的,虽然也进行赋值了,但是赋值语句在括号之外 ,因此出现报错的情况。

错误使用示例二:在test1中虽然定义了 i 但是没有初始化,因此在执行 j =i+5的时候会报错,正确的写法如test2中所示。

public void test1(){

int i;

int j=i+5;//编译出错,变量i还没有初始化

}

public void test2(){

int i=1;

int j=i+5;//编译正确

}

第二类:成员变量(member variable)

在某个方法外部,类内部定义的变量,从属于对象,生命周期伴随对象始终。如果不自行初始化,它会自动初始化成该类型默认的初始值。部分变量的默认初始值如下表所示

数据类型初始值int0double0.0char‘\u0000’booleanfalsepublic class TestVariable{

int a;//成员变量,会自动初始化

public static void main(String[] args){

.....

}

}

第三类:静态变量(static variable)

静态变量使用static定义,从属于类,声明周期伴随类始终,从类加载时产生,类卸载时结束。如果不进行初始化,与成员变量一样,会自行初始化成该类型的默认初始值。

public class TestVariable{

static int a;//静态变量,会自动初始化

public static void main(String[] args){

.....

}

}

小结

类型声明位置从属关系生命周期局部变量方法或语句块内部方法、语句块从声明位置开始,直到方法或语句块执行完毕时,局部变量消失成员变量(实例变量)类内部、方法外部对象成员变量伴随对象的创建和消失而产生和消失,即当对象被创建时,成员变量也跟着创建;当对象消失时,成员变量也随之消失静态变量(类变量)类内部(需要用static修饰)类当类被加载时,静态变量有效,类被卸载时,静态变量消失

2025-08-09 06:17:01