局部变量(local variable)

作用范围看大括号,内大括号{}可以访问外大括号{}内的变量,反之不能。

方法或语句块(一个花括号)内部定义的变量。生命周期是从声明位置开始到方法或程序块执行完毕位置。

1610803467172.png

1610803467214.png

局部变量必须初始化,只声明而不初始化使用不了,编译器会报错

  局部变量,在main程序块中并在main程序块中的程序块外部定义的局部变量,从声明位置开始,下面程序都可以访问它,包括程序块中的语句,直到main程序块结束。

  1. public class Hello{
  2. public static void main(String[] args){
  3. int i = 2;
  4. {
  5. int a = 3;
  6. System.out.println(i); //可以访问i
  7. }
  8. System.out.println(a); //访问不了a
  9. }
  10. }

只要变量所在的程序块还活着,变量可以使用。

成员变量

成员变量也叫实例变量member variable

  方法外部、类的内部定义的变量。从声明位置开始到main程序块结束如果不自行初始化,它会自动初始化成该类型的默认初始值

  1. public class HelloWorld
  2. {
  3. int c; //成员变量
  4. public static void main(String[] args)
  5. {
  6. System.out.println("大家好,我是阳哥");
  7. }
  8. }

默认初始值

1610803467256.png

静态变量(类变量static variable)

  使用static定义,从属于类,生命周期伴随类始终,从类加载到卸载。如果不自行初始化,与成员变量相同会初始化成该类型的默认初始值
示例

  1. public class HelloWorld
  2. {
  3. static int c; //静态变量
  4. public static void main(String[] args)
  5. {
  6. System.out.println("大家好,我是阳哥");
  7. }
  8. }