什么是变量的作用域?计算机二级考试Java

发布于 2018-02-02 09:38  编辑:盘子
0
计算机等级考试题库 扫码微信刷题

变量的作用域

变量的作用域(scope)是指变量能够被引用的区域,也就是可以使用该变量的程序范围。截止到目前为止,我们在程序例子中声明的变量都被定义在main( )方法内。在一个方法内声明的变量被称作局部变量(local variable),它们只能在声明它们的方法中被访问,但并不是在声明它们的方法中的任何位置都可访问。请看下面这个例子,它在方法中又内嵌了一个块。

int a=1; //Declear and define a

//Reference to a is ok here

//keference to b here is an error

{

//Reference to a here is ok

//Reference to b here is untill an error

int b=2; //Delear and define b

//Reference to a and b are Ok here -b exists new

}

//Reference to b is an error here here-it doesn't exist

//Reference to a is still ok though


一个变量在声明前并不存在,只有被声明后才可以对它进行引用。在定义它的块结束前一直存在,其中包括该块内嵌套的所有块。变量b只能在最内层的块中存在。在最内层的大括号之后,b就不存在了。而变量a在大括号结束前一直存在。

因此,局部变量的访问规则很简单。它们可被访问的范围是:在程序中,从声明它们的位置开始,到声明它们的块结束处。在声明它们的块结束之后,就不能再被访问了。我们可以用下个例子演示它:

试试看--作用域。

我们将定义方法main()说明如何应用变量作用域工作。首先,我们声明并初始化变量outer,然后开始一个内层块。在该块内,我们将定义一个变量inner.在块结束之后,我们将再次声明变量inner并再次使用它。

piblic class scope

{

syetem.out.println("inner *"+inner);//Uncooment this for an error 1 error

如何工作

在这个程序中的方法main()内只嵌套了一个块。变量outer在开始处就被定义,所以在方法main()的任何地方,包括嵌套的所有块中都可以引用它。变量不能被重复声明,若将注释标志删除,在内层块中被注释起来的变量outer的声明语句就会导致编译错误。


变量inner在嵌套块内定义并被赋初始值2,从它的声明处到内层块结束处,你都可以它进行引用。在内层块结尾的大括号之后,变量inne:不再存在,所以被注释起来的引用~的输出语句是非法的。然而,因为变量mtier己经不存在,所以我们可以用同样的名字声明另一个变量并将它赋初值为3.

注意:所有这些都说明了局部变量的生存期。重新定义一个已经不存在的变量并不是一个好的做法,因为这很容易引起混乱。虽然,我们在上述例子中仅使用了int类型变量,但是变量的作用域规律对所有类型的变量来说都是一样的。


有另一种被称为类变量的变量,当用一种特定的方法声明它们时,它们可以拥有很长的生命期。例如,在标准的类Math中变量PI和E就是这种类型变量,只要你的程序处于运行;它们就可被使用,还有另一种被称为实例变量的变量,它是构造类对象,我们将在第5章中进一步学习这方面的内容。







考无忧小编推荐:

更多计算机等级考试真题及答案>>>点击查看

想知道更多关于计算机等级报考指南、考试时间和考试信息的最新资讯在这里>>>点击查看


本文网址:http://www.k51.com.cn/info/jsjdjks/1802/0226640.html
选择分享到: