java里,我在for嵌套循环外部定义两个变量,为什么当结束循环的时候,外循环的变量存在,内循环变量消失

 我来答
lkping0
2013-06-06 · TA获得超过290个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:94.3万
展开全部
这跟变量的作用域有关,你在for循环里定义的变量,只能在for循环中调用,在for循环外定义的变量,可以在该方法中调用,这个就是变量的作用域的问题,你该看看java作用域相关的资料啦
追问
我是在for前面定义的两个变量,如:
int k,i;
for(i=0;i<?;i++)
for(k=0;k<?;k++)

最后我引用k时报错,经测试k消失了,但是i还在啊,晚上我回去把完整代码给你看
追答
超出了那个内循环for的作用域,就调用不到k的值了,超出外循环for后也调用不到i的值了。应该说打印这值会报错
88788895
2013-06-06 · 超过17用户采纳过TA的回答
知道答主
回答量:137
采纳率:0%
帮助的人:46.7万
展开全部
作用域,
例如:for(int i=0;i<100;i++)
{
//i变量的作用域只在这个循环内有效
}
//i到了这里后就没有了,如果在这里用i就会提示i未定义变量
---------------------------------示例分割线----------------------------------------------------
int i=0;
for(int i=0;i<100;i++)
{
//i变量在循环里面有效
}
//i到了这里也有效,这时候就i=100
追问
我是在for前面定义的两个变量,如:
int k,i;
for(i=0;i<?;i++)
for(k=0;k<?;k++)

最后我引用k时报错,经测试k消失了,但是i还在啊,晚上我回去把完整代码给你看
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
果然丨在动
2013-06-06 · TA获得超过719个赞
知道小有建树答主
回答量:672
采纳率:50%
帮助的人:328万
展开全部
应该是作用域的问题吧,定义的变量只能在大括号里面存在,超出所在大括号就会失效。
追问
晚上回去把完整代码给你看,应该是你说的作用域问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-06
展开全部
因为你在for循环中定义的变量只在本for循环中起作用,出了for循环就不起作用了
追问
我是在for前面定义的两个变量,如:
int k,i;
for(i=0;i<?;i++)
for(k=0;k<?;k++)

最后我引用k时报错,经测试k消失了,但是i还在啊,晚上我回去把完整代码给你看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pighuang2000
2013-06-06
知道答主
回答量:1
采纳率:0%
帮助的人:1481
展开全部
1:检查循环体中有没有和内循环变量重名的内部变量
2:检查嵌套循环中有没有给内循环变量赋值
3:检查在外循环中是否把内循环变量给清空了
追问
我是在for前面定义的两个变量,如:
int k,i;
for(i=0;i<?;i++)
for(k=0;k<?;k++)

最后我引用k时报错,经测试k消失了,但是i还在啊,晚上我回去把完整代码给你看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式