蔡香满屋
站在牛顿头上吃苹果

如下代码:

public class Test {
	public static void main(String[] args) {
		int i; // 局部变量,申明变量而不赋值,在编译时会报错
		System.out.println(i);
	}
}

  执行上段代码则会报错:

报错原理是:因为布局变量也就是在方法里的变量是在调用方法时(在栈内存中执行方法时才分配内存),如果一开始没有给局部变量赋初始值就使用局部变量,则会包错。

如果是成员变量,只是申明不赋初始值,这种情况则不会报错,因为成员变量是在对象创建时就会开辟一片空间并且自动赋初始值,比如如果变量为:

int ---> 0

long ---> 0L

boolean ---> false

Object ---> null     等等

posted on 2019-08-05 00:10  蔡香满屋  阅读(1057)  评论(0)    收藏  举报