定义在类中的变量称之为成员变量,定义在成员方法中的变量则称为局部变量。具体有以下区别:
- 成员变量会有默认值
- 局部变量没有默认值,必须初始化之后才能使用
- 成员变量可以在多个成员方法中被引用,而局部变量只能在当前方法中进行引用
我们来看两个案例,第一个示例中两个for循环中变量i是彼此独立的:
for (int i = 0; i < 5; i++) {System.out.println(i);}for (int i = 0; i < 5; i++) {System.out.println(i);}
第二个示例中,由于变量i最先定义在外层,所以第1、2个for循环都使用了同一个变量i,且第一个for循环对于变量i操作直接影响了第 2 个for循环,但第 3 个for循环(它有独立的局部变量i)并不受前 2 个for循环的影响。
int i = 0;for (; i < 5; i++) {System.out.println(i);}for (; i < 5; i++) {System.out.println(i);}for (int i = 0; i < 5; i++) {System.out.println(i);}
