Java基础-02-常量与变量
常量
- 在Java中,一般使用final来声明常量
- final表示该变量只能被赋值一次,一旦被赋值之后就不能被修改了
- 习惯上,常量名全为大写
final int COUNT = 10;
在Java中,经常希望某一个常量在一个类中的多个方法中使用,往往声明为类常量。使用 static final 关键字来声明
static final int COUNT = 10;
变量
在Java中,每一个变量都有一个类型(type),声明变量的时候,变量的类型位于变量名之前。如:
int nums;
double salary;
long earthPopulation;
boolean done;
- 由于声明是一个完整的语句,所以必须以分号结尾。
- 变量名的名称必须是以字母开头并由字母和数字组成。
- 可以在同一行中声明多个变量,但是不建议这样做。如:
int i,j;
- 不能使用Java的保留字作为变量名。
- Java中的变量名大小写敏感,比如count和Count代表着不同的变量。
Java变量的类型:
- 类变量:独立于方法之外的变量,用static修饰。
- 实例变量:独立于方法之外的变量,不过没有static修饰。
- 局部变量:方法中的变量
public class Demo{
static int num = 0; //类变量
String str = "hello"; //实例变量
public void method(){
int i = 0; //局部变量
}
}
局部变量
- 局部变量声明在方法、构造方法和语句块中
- 局部变量在方法,构造方法和语句块执行的时候被创建,当他们执行结束之后,局部变量被销毁
- 局部变量不能使用访问修饰符
- 局部变量只在声明他的方法、构造方法和语句块中可见
- 局部变量没有初始值,声明的时候只有赋予初始值才可以正常使用
- 局部变量是栈上分配的
实例变量
- 实例变量声明在一个类中,但是在方法、构造方法和语句块之外(全局变量)
- 当一个对象被实例化之后,实例变量也跟着确定
- 实例变量在对象创建的时候创建,对象销毁的时候销毁
- 实例变量可以声明在使用前或者使用后
- 访问修饰符可以修饰实例变量
- 实例变量对于类中的方法、构造方法和语句块是可见的,可以通过访问修饰符来确定是否可被子类访问,一般设为私有,只可本类查看和使用
- 实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定
- 实例变量通过变量名访问,但是在静态方法中以及其他类中,就要使用完全限定名进行访问。
类变量
- 又称静态变量,在类中需以static修饰,要放在方法之外
- 无论创建多少个对象,类只拥有类变量的一份拷贝
- 静态变量除了被声明为常量外很少使用,静态变量是指声明为 public/private,final 和 static 类型的变量。静态变量初始化后不可改变
- 在类变量第一次访问的时候创建,程序结束的时候销毁
- 默认值和实例变量相似,类变量可以在静态语句块中被初始化
- 访问方式:类名.类变量
- 类变量被声明为 public static final 类型时,类变量名称一般建议使用大写字母
变量的初始化
声明一个变量之后,一定要对该变量进行显示的初始化,千万不要使用未初始化的变量。
int num;
System.out.println(num); // ERROR--variable not initialized
若要对一个变量进行初始化,需要将变量名放在等号(=)的左侧,要赋予的初始值放在等号(=)的右侧。如:
int num;
num = 12;
int count = 10;