变量
Java是一种强类型语言,每个变量都必须声明其数据类型,变量本质上就是代表一个“可操作的存储的空间”,在定义之后空间位置是确定的,但是里面放置什么值是不确定的,我们操作的时候是通过变量名来操作对应的存储空间的,以此来操作对应的存储空间里面的值,变量的数据类型决定了变量占存储空间的大小。
变量是什么?
- 变量作为程序中最基本的存储单元,要素有变量名,作用域,变量类型。
- 变量在使用前必须声明,只有声明以后才能分配对应长度的存储空间。
变量的声明
int a = 1;
double b = 2.2222;
long c = 1000;
int e,f; //一行上面可以声明多个变量,但是最好不要这样
下面看一段错误的代码:
public void test(){
int a;
System.out.println(a);
}
上面的这个代码是错误的,因为变量没有声明的时候,是不可以便用的。成员变量可以不赋值而直接使用。
不同的数据类型会在内存中分配不同的内存空间。比如:
int 4个字节
double 8个字节
long 8个字节
变量的注意事项
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
变量的分类
- 局部变量
- 成员变量
- 静态变量
局部变量
在方法或者语句块之内声明的变量,没有初始值,生命周期是从声明开始到方法或者语句块结束。在使用的时候,我们必须赋上初始值才可以使用。如:
public static void main(String[] args) {
{
int a; // {} 内是语句块
}
// a = 1; 不在一个作用域 ,不能赋值
double b = 2.2222;
long l = 1000;
}
成员变量
方法外部,类的内部定义的变量。从属于对象,生命周期伴随对象始终存在。如果不进行初始化,它会自动初始化成该类型的初始值。
public class TestOne {
int a; // 成员变量
public static void main(String[] args) {
double b = 2.222; // 局部变量
long l = 1000;
}
}
数据类型 | 初始值 |
---|---|
int | 0 |
double | 0.0 |
char | \\u0000 |
boolean | false |
静态变量
使用static来定。从属于类,生命周期伴随类始终存在,从类的加载到卸载。如果不进行初始化,它会与成员变量样自动初始化成该类型的默认的初始值。
public class TestOne {
int a; // 成员变量
static int b; // 静态变量
public static void main(String[] args) {
{
int c; // c的作用域只有语句块这么大
}
int d = 1; // 局部变量
}
}
变量的生命周期:
静态变量 > 成员变量 > 局部变量
常量
- 常量是批一个固定的值,比如 1,2,3,\'a\',\'b\',\'c\',true,false。。。等等。
1、在java中,是用关键字final来定义一个常量的,常量一但被初始化之后就不能改变值了。
public final void test() {
final int A; //定义一个常量
A = 1; //初始化这个常量
final int B = 2; //常量定义时也可以初始化
//B = 3;这样就会报错
}
常量的命名中我们一般是使用大写字母来进行命名的。
2、修饰方法:该方法不可被子类重写,但是可以重载。
final void test2(){};
3、修饰类:修饰的类不能被继承,比如:String ,Maath等
final class Test{};
细节决定成败!
个人愚见,如有不对,恳请扶正!