发表于 2012-12-10 08:24:28 by 月小升
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();
}
} |
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();
} |
public void A1(){
for( i = 0 ; i < 10;i++){
System.out.println("A" + i);
}
B1();
}
两个互相不冲突的循环的情况下,可以采用全局变量来节约开销。
This entry was posted in
JAVA and tagged
java基础教程. Bookmark the
permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:
月小升博客 –
https://java-er.com/blog/java-public-variable/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.