Java之局部变量的作用域

 
 

1、循环语句中变量

public static void main(String args[]) {
	for(int i=0;i<10;i++) {
		int sum =3;
	}
		
	System.out.println(i+"  "+sum);

}

就上面最简单的程序说明吧,上面在for循环中定义了i和sum,但是出了循环,这两个变量就被丢弃了,显然i和sum的作用域就是for循环之中,可以预见在while,do-while中也是一样的,这里就不举例了。

2、if语句中的变量声明

int j =0;
if(j==0)
  int i =0;

如上图所,我创建了一个if语句,但是在if语句中创建一个对象,就会报错,而下面的语句却不会报错

int j =0;
if(j==0) {
   int i =0;
}

只是加了一个大括号,但是就不会报错了,这是因为if语句的作用域问题,if语句只作用于它之后的第一行语句(如果不加大括号的话),这样的话,当你创建变量i后,就退出了if语句,然后i就会被删除,相当于这i没有任何作用,是无效语句,这在java中是杜绝出现的

当然我们的主题是变量的作用域问题,显然if语句中变量的作用域也仅仅是在if语句之内

3、方法中的变量声明

这个就不用说了,比较常见









猜你喜欢

转载自blog.csdn.net/yuangan1529/article/details/80476739