您的位置:首页 > 编程语言 > Java开发

java里for循环与它的前后变量关系

2012-05-24 10:37 323 查看
今天在偶然阅读一份某企业的笔试题的时候看到这样一道java选择题:

下述程序代码中有语法错误的行是( )。

int i, la[10] , lb[10];/*a*/
for(int i=0;i<=9;i++)/*b*/

la[i]=0;/*c*/

la=lb;/*d*/

请选择:

A.a B.b C.c D.d

题目本身很简单,相信大家已经有自己的选择了。

这里我要说的是,我的选择是AB。

首先数组在初始化的时候才能给定长度,无可置疑。

可能有人要问了变量i是否重复定义了?

再看一个

for(int i=0;i<=9;i++)

i++;

int i=10;

以上语句是否有问题呢?

可能会有人说一样的。但是问题就是,不一样!

你也可以试验一下,以上语句没有问题。因为for循环相当于代码段,是独立的一个块。但是它比较特殊,不同于函数的是,对于函数中定义的变量,有他的作用范围;而位于for语句之前定义的变量或属性将会被for语句识别,并可以直接使用;而位于for语句之后的定义则会被for代码块遗忘,相当于for循环运行完成后,会将for循环以及其之前的所有变量和属性释放,程序告一段落。for循环之后的程序块将另起炉灶。这就是为什么位于for之前的重复命名不被允许的原因。

原谅我如此愚钝,才知道这么回事....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐