java公共变量迷局-变量为何改变


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();
	}

两个互相不冲突的循环的情况下,可以采用全局变量来节约开销。

如果你是一名技术人员可加我QQ 2651-0442-02,如果你是java技术人还可以加入QQ群 1784-9136-0
你将得到的不仅仅是技术的交流,还有职业机会,人生解惑.
首发地址:月小升博客https://java-er.com/blog/java-public-variable/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
此条目发表在 JAVA 分类目录,贴了 标签。将固定链接加入收藏夹。
既然来了,就评论一下,不会怀孕的

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">