变量和常量
1.声明变量
声明变量是告诉编译器我需要的变量是数据类型,需要多大空间,叫什么名字。这个内存空间就是变量,这个空间里的值就是变量值,变量名就是这个空间的名称。程序运行中变量值是可以不断变化的。
2.声明常量
常量(constant)在程序运行过程中只能被赋值一次,能被所有的对象共享值。声明一个常量需要通过“final”关键字限定(常量也被叫做“final变量”)。很多Java程序员都爱使用大写字母给常量命名,但不是必须的。
1 public class Number {
2 static final double a = 10.1; //声明常量a并赋值,此处不直接赋值会报错
3 static int i = 10; //声明变量i并赋值,此处可以赋值也可以不赋值
4
5 public static void main(String arg[]) {
6 final int j;//声明常量j,因为在方法内部,属于局部变量,可以不直接赋值
7 i = 11; //对变量i再次赋值
8 j = 123; //对常量j赋值
9 //j = 124; //错误代码,常量只能赋值一次
10
11 System.out.println("常量a的值为:" + a);
12 System.out.println("变量i的值为:" + i);
13 System.out.println("常量j的值为:" + j);
14 }
15 }
运行结果如下图:

3.变量的有效范围
在程序中会根据变量的有效范围将变量分为“成员变量”和局部变量。
3.1 成员变量
在类体中定义的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量又可以分为2种,静态变量和实例变量。
1 public class Number {
2 int x = 2;
3 static double y = 10.1;
4 }
其中x和y是Number类的成员变量,x是实例变量,y是静态变量。被static修饰的成员变量就是静态变量。静态变量可以跨类使用,通过“类名.静态变量”的方式在其他类中使用。
3.2 局部变量
在类的方法体中定义的变量称为局部变量。局部变量只在当前代码块中有效。(成员变量可与局部变量的名字相同,在声明局部变量的方法中,成员变量将会失效)
在类的方法中声明的变量,包括方法的参数,都属于局部变量。局部变量只在当前定义的方法中有效,不能用于类的其他方法中。局部变量的生命周期取决于方法,当方法被调用的时候,Java虚拟机会给方法中的局部变量分配内存空间,当调用结束后,则会释放方法中的局部变量的内存空间,局部变量也随之销毁。

浙公网安备 33010602011771号