Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
Java语言支持的变量类型有:
- 类变量:独立于方法之外的变量,用 static 修饰。
- 实例变量:独立于方法之外的变量,不过没有 static 修饰。
- 局部变量:类的方法中的变量。
下面举一个简单的例子对它们进行区分:
public class Demo{
static int myAdd=0; // 类变量
String str="hello world"; // 实例变量
public void method(){
int i =0; // 局部变量
}
}
Java中常见的一些命名规范如下所示:
- 类名:首字母大写和驼峰原则:Demo,BigDemo
- 方法名:首字母小写和驼峰原则:add(),addAdd()
- 变量:首字母小写和驼峰原则:monthSalary
- 常量:大写字母和下划线:MAX_VALUE
下面,我将对类变量(静态变量)、实例变量、局部变量以及常量,依次进行解释。
一、类变量(静态变量)
- 类变量在类里定义,声明变量时,在变量类型前面加上 static 即可,但必须在方法之外。
- 类变量有默认值,数值型变量默认值是 0(或者0.0),布尔型默认值是 false,引用类型默认值是 null。
- 类变量可以直接在该类的方法里使用。
public class Demo02 {
static double salary = 2000; //定义类变量
public static void main(String[] args) {
System.out.println(salary); //直接使用类变量
}
}
输出结果为2000。
二、实例变量
- 实例变量声明在一个类中,但在方法、构造方法和语句块之外 。
- 实例变量具有默认值。数值型变量的默认值是0(或者0.0),布尔型变量的默认值是false,引用类型变量的默认值是null。
- 实例变量从属于对象。
public class Demo02 {
//实例变量
String name;
int age;
public static void main(String[] args) {
//变量类型 变量名=new Demo02()
Demo02 demo02 = new Demo02();
System.out.println(demo02.age);
System.out.println(demo02.name);
}
}
输出结果为 0,null 。
因为 age 和 name 都没有初始化,直接输出了默认值。
三、局部变量
- 局部变量声明在方法、构造方法或者语句块中。
- 局部变量没有默认值。所以局部变量被声明后,必须经过初始化,才可以使用。
- 局部变量只能在自己的方法中被使用。
public static void main(String[] args) {
int i = 10;
System.out.println(i);
}
输出结果为 10 。
四、常量
常量:初始化之后不会再变动的值。
常量名一般使用大写字符。
常量定义: final 常量类型 常量名 = 值
//static final 皆为修饰符,不存在先后顺序
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
输出值为3.14。