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

d32e19939d4e11d26c68d428ef8fde5f.png

6365301500323120816203128.jpg

变量的作用域

变量的作用域(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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值