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循环中使用?但是在方法中,循环语句中不都是局部变量么? 展开
for(int i = 0; i <= 10; i++){
if(i > 6) break;
}
System.out.println(i);
}
请问这段代码的问题在哪里呢?是不是这里的int i只能在for循环中使用?但是在方法中,循环语句中不都是局部变量么? 展开
6个回答
展开全部
错在: 变量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);
}
楼主:“但是在方法中,循环语句中不都是局部变量么? ”,这说明了 你不知道局部变量有作用域,局部变量也有其自身的作用域,建议补充 作用域 的知识
如果你想输出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);
}
展开全部
理解局部变量的关键在于理解什么是作用域,变量i是在for语句执行的时候声明并使用的,在for语句结束的时候该变量就会销毁.
i的作用域只是在for语句里而已,总的概括就是变量在某个代码段建立,就在该代码段结束时销毁.
i的作用域只是在for语句里而已,总的概括就是变量在某个代码段建立,就在该代码段结束时销毁.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1。这里的int i只能在for循环中使用
2。在方法中,循环语句中确实是局部变量。但是作为局部变量,也有作用域。变量的作用域就是其声明所在的代码块。因为int i是在for循环中声明的,所以它的作用域就是其声明所在的代码块for循环
2。在方法中,循环语句中确实是局部变量。但是作为局部变量,也有作用域。变量的作用域就是其声明所在的代码块。因为int i是在for循环中声明的,所以它的作用域就是其声明所在的代码块for循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.首先变量i是在for循环中申明的,i的作用域就在for循环结构中,当for循环结束后变量i就会被销毁
2.当i=7时,if(i>6)break; 被执行,for循环结束。变量i消失
3.System.out.println(i); 注意这句代码是在for循环之外的,也就是变量i是不存在的。打印输出一个不存在的变量,在编译的时候编译器就会检查到该错误,编译就不能通过了。
2.当i=7时,if(i>6)break; 被执行,for循环结束。变量i消失
3.System.out.println(i); 注意这句代码是在for循环之外的,也就是变量i是不存在的。打印输出一个不存在的变量,在编译的时候编译器就会检查到该错误,编译就不能通过了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i是在for循环中定义的,也就只能在for后面的{}的作用域范围内使用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询