黑马程序员技术交流社区

标题: 为什么在for循环中定义变量时要加大括号 [打印本页]

作者: chenwei    时间: 2012-4-21 14:44
标题: 为什么在for循环中定义变量时要加大括号
本帖最后由 chenwei 于 2012-4-21 14:48 编辑

为什么在for循环或者if语句中定义变量时要加大括号
for( int i=0;i<10;i++)
                int y=i;
这样会报错
for( int i=0;i<10;i++){
                int y=i;
}
这样就不会了为什么
作者: wupingtanlu    时间: 2012-4-21 15:04
因为定义变量的时候,你总得给变量一个使用的范围吧! {}  就是给定义的变量的一个使用的范围吧! 但是像方法和接口不一样()就ok了
作者: 姚伟涛    时间: 2012-4-21 15:06
这是语法规则啊
if()后面可加可不加,因为它是一个判断语句,是否执行一次后面的语句
for()后面必须加大括号意思是判断运行几次并不是仅仅一次,所以必须要有大括号来给它标明运行几次的语句
作者: 付左军    时间: 2012-4-21 15:07
大虾,你要理解for循环的执行顺序,首先是int i=0.接着判断i<10成立,然后才是int y=i,最后i++,你说不加大括号能行不
作者: 邵中国    时间: 2012-4-21 15:08
不加括号y和i的适用范围不同
局部的不能拿到外面用
作者: 蒋亮    时间: 2012-4-21 15:15
变量要么是全局变量要么是局部变量,不加大括号,它的作用域不明确;而加了大括号后,就规定了它的作用域在大括号内,作为局部变量。
作者: 乞文超    时间: 2012-4-21 15:19
这是语法规则啊!!!!!!!!!!!!!!!!!!!!!!!!!
if()后面可加可不加,因为它是一个判断语句,是否执行一次后面的语句
但是
for( int i=0  ;i<5;i++)
{
}
必须有大括号,记住就OK了
作者: 张小庆    时间: 2012-4-21 17:48
局部变量的问题
作者: 黑马罗坚    时间: 2012-4-22 00:11
这是语句格式的问题 就好比人有头部和身体之分。
就好比函数有函数体  for循环也有for循环体  当然里不是循环体也是可以的就向函数不写函数体一样 不过该函数和类必须抽象化 只有类必须要有类体其他的可以体可以省略
for (;;); 这种格式就没有循环体 照样可以执行
体起到封装代码 标识作用范围的功能。。
作者: HeiMaYSL    时间: 2012-4-22 10:24
因为在java中for循环的格式是:
格式:
for(初始化表达式; 循环条件表达式; 循环后的操作表达式)
{
        执行语句;
}

大括号里的是循环体,在java中,for循环的循环体用大括号控制循环体的范围。如果,你把循环体写在了外面,那肯定就不属于for循环的范围了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2