java变量迷局
java申请变量需要重新开辟内存,增加程序开销,所以我们会看到某些程序里,将一些小变量,声明为全局变量,比如i用来for循环
如果全局变量被一个函数赋值,那么就会立即改变。
package com.javaer.examples;
public class TestVariable {
int i,j;
public void A1(){
for( i = 0 ; i < 10;i++){
System.out.println("A" + i);
B1();
}
}
public void B1(){
for( i = 0 ; i < 10;i++){
System.out.println("B" + i);
}
}
/**
* @param args
*/
public static void main(String[] args) {
TestVariable tv = new TestVariable();
tv.A1();
}
}
如此发生了混乱。在二次循环的时候,B1,修改了i的值,导致A仅仅执行一次就直接i变成了9所以无法继续执行了。
为了节约程序新申请变量的开销,在下面的情况,可以使用重复变量。
public void A1(){
for( i = 0 ; i < 10;i++){
System.out.println("A" + i);
}
B1();
}
两个互相不冲突的循环的情况下,可以采用全局变量来节约开销。