1、变量的本质:变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什 么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存 储的值。
例如:
int a;
这里int是数据类型,为整型,变量在声明是都需要声明其类型,这里a为变量名,我们可以通过操作变量名a来操作这个变量。如下:
a=100;
此时不需要在a前面加上int,因为前面已经声明过了,不必重复声明,直接赋值就行了。
2、Java 是一种强类型语言,每个变量都必须声明其数据类型。变量的数据类型决定了变
量占据存储空间的大小。 比如,int a=3; 表示 a 变量的空间大小为 4 个字节。
3、变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使 用
前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。
4、关于常见数据类型所占用的存储空间:
byte(字节):占1字节
short(短整型):占2字节
int(整形):占4字节
long(长整型):占8字节
float(单精度浮点型):占4字节
double(双精度浮点型):占8字节
char(字符型):占2字节
Boolean(布尔型):占1或4个字节
其中引用类型(类、接口、数组)都占4个字节
5、变量声明格式:
type varName [=value][,varName[=value]...];
//[ ]中的内容为可选项,即可有可无
数据类型 变量名 [=初始值] [,变量名 [=初始值]…];
6、声明变量时应注意:
(1)每个变量都有类型,类型可以是基本类型,也可以是引用类型。
(2)变量名必须是合法的标识符
(3)变量声明是一条完整的语句,因此每一个声明都必须以分号结束
(4)逐一声明每一个变量可以提高程序可读性。
int a,b,c;//不提倡,代码可读性不好
int a;
int b;
int c;//提倡,代码可读性好(5)可以在声明变量时同时初始化:
int a=10;
double b=10.0;7、变量的分类:局部变量,成员变量(实例变量)、静态变量(类变量)
(1)局部变量:方法或语句块内部定义的变量。生命周期是从生命为之开始到方法或语句块执行完毕为止。局部变量在使用前必须先声明、初始化(赋初始值)再使用。如下:
public void test(){//test方法
int a;
int b=a+1;//报错,a未给出初始值
}
public void test2(){//test方法
int c=10;
int d=c+1;//正确,c给出初始值
}(2)成员变量(实例变量):方法外部、类内部定义的变量。从属于对象,生命周期伴随对象始终。如果不自行初始化,它会自动初始化为该类型的默认初始值。
实例变量的默认初始值
数据类型 | 初始值 |
int | 0 |
double | 0.0 |
char | '\u0000' |
boolean | false |
实例变量声明如下:
public class Test1{//Test1类
int a=10;//ab都为成员变量
int b=12;
}(3)静态变量(类变量):使用 static 定义。 从属于类,生命周期伴随类始终,从类加载到卸载。 如果不自行初始化,与成员变量相同会自动初始 化成该类型的默认初始值。
注意:非静态变量或者方法不能在静态方法中使用!例如:
public class Test2{
static int a=10;//静态成员变量
int b=10;//普通的成员变量
public static void method1(){//静态方法method1
int c=12;//可以在方法内声明变量,为局部变量
a=a+c;//a为静态成员变量,可以在static方法中使用
b=15;//报错,b为普通成员变量,不是静态的,不能在静态方法中使用
}
}这是我的学习总结,如果有错误或者问题的话欢迎指正,谢谢!
















