Java的局部变量

publicstaticvoidmain(String[]args){for(inti=0;i<=10;i++){if(i>6)break;}System.out.pri... public static void main(String[] args){
for(int i = 0; i <= 10; i++){
if(i > 6) break;
}
System.out.println(i);
}

请问这段代码的问题在哪里呢?是不是这里的int i只能在for循环中使用?但是在方法中,循环语句中不都是局部变量么?
展开
 我来答
riyuezhuan
2010-08-24 · 超过25用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:56.9万
展开全部
错在: 变量i超出了他的作用域,因为i是在for循环中声明的,所以他的作用域就是for循环,只能在for循环中使用

楼主:“但是在方法中,循环语句中不都是局部变量么? ”,这说明了 你不知道局部变量有作用域,局部变量也有其自身的作用域,建议补充 作用域 的知识

如果你想输出i=6,这样就可以了
public static void main(String[] args){
int i;//此时i的作用域是在main方法内,而你写的i作用域是在for循环内
for(i = 0; i <= 10; i++){
if(i > 6) break;
}
System.out.println(i);
}
JohnnyKwok0205
2010-08-24 · TA获得超过409个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:285万
展开全部
理解局部变量的关键在于理解什么是作用域,变量i是在for语句执行的时候声明并使用的,在for语句结束的时候该变量就会销毁.
i的作用域只是在for语句里而已,总的概括就是变量在某个代码段建立,就在该代码段结束时销毁.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大时代暑
2010-08-24 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4111
采纳率:0%
帮助的人:4826万
展开全部
1。这里的int i只能在for循环中使用
2。在方法中,循环语句中确实是局部变量。但是作为局部变量,也有作用域。变量的作用域就是其声明所在的代码块。因为int i是在for循环中声明的,所以它的作用域就是其声明所在的代码块for循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tk547514
2010-08-25 · 超过21用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:64万
展开全部
1.首先变量i是在for循环中申明的,i的作用域就在for循环结构中,当for循环结束后变量i就会被销毁

2.当i=7时,if(i>6)break; 被执行,for循环结束。变量i消失

3.System.out.println(i); 注意这句代码是在for循环之外的,也就是变量i是不存在的。打印输出一个不存在的变量,在编译的时候编译器就会检查到该错误,编译就不能通过了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cardfangfang
2010-08-24
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
i是在for循环中定义的,也就只能在for后面的{}的作用域范围内使用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式