Java成员变量和局部变量

局部变量:不是声明在类体括号里面的变量;

局部变量使用前必须初始化值;

局部变量没有默认初始化值;

局部变量的作用域是从定义开始到定义它的代码块结束;

 

成员变量:在方法体外,类体内声明的变量,又称字段(Field)或全局变量;(其实Java中没有全局变量,由于Java是面向对象语言,所有变量都是类成员)

成员变量的作用域是整个类中;

我的总结:注意成员变量和局部变量的区别

package reviewDemo;

public class Demo2 {
 public static void main(String[] args) {
     int i;
       System.out.println(i);
   }
}

备注:局部变量调用前没有初始化,所以编译的时候就会报错!

package reviewDemo;

public class Demo2 {
  static int i;
    public static void main(String[] args) {
     System.out.println(i);
   }
}

备注:此时i为全局变量,未初始化会被赋予默认的初始化值!程序正确!

默认得初始值:

不管程序有没有显示的初始化,Java  虚拟机都会先自动给它初始化为默认值。

1、整数类型(byte、short、int、long)的基本类型变量的默认值为0。

2、单精度浮点型(float)的基本类型变量的默认值为0.0f。

3、双精度浮点型(double)的基本类型变量的默认值为0.0d。

4、字符型(char)的基本类型变量的默认为 “/u0000”。

5、布尔性的基本类型变量的默认值为 false。

6、引用类型的变量是默认值为 null。

7、数组引用类型的变量的默认值为 null。当数组变量的实例后,如果没有没有显示的为每个元素赋值,Java 就会把该数组的所有元素初始化为其相应类型的默认值。

 

我的总结:

局部变量是定义在方法中的变量,,,出了该方法就不能访问该变量了....
成员变量是在类中定义,,,,并且在类的成员方法中都能访问的变量..

猜你喜欢

转载自www.cnblogs.com/whu-2017/p/9224445.html