A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chenwei 中级黑马   /  2012-4-21 14:44  /  3999 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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;
}
这样就不会了为什么

10 个回复

倒序浏览
因为定义变量的时候,你总得给变量一个使用的范围吧! {}  就是给定义的变量的一个使用的范围吧! 但是像方法和接口不一样()就ok了
回复 使用道具 举报
这是语法规则啊
if()后面可加可不加,因为它是一个判断语句,是否执行一次后面的语句
for()后面必须加大括号意思是判断运行几次并不是仅仅一次,所以必须要有大括号来给它标明运行几次的语句
回复 使用道具 举报
大虾,你要理解for循环的执行顺序,首先是int i=0.接着判断i<10成立,然后才是int y=i,最后i++,你说不加大括号能行不
回复 使用道具 举报
不加括号y和i的适用范围不同
局部的不能拿到外面用
回复 使用道具 举报
变量要么是全局变量要么是局部变量,不加大括号,它的作用域不明确;而加了大括号后,就规定了它的作用域在大括号内,作为局部变量。
回复 使用道具 举报
这是语法规则啊!!!!!!!!!!!!!!!!!!!!!!!!!
if()后面可加可不加,因为它是一个判断语句,是否执行一次后面的语句
但是
for( int i=0  ;i<5;i++)
{
}
必须有大括号,记住就OK了
回复 使用道具 举报
局部变量的问题
回复 使用道具 举报
这是语句格式的问题 就好比人有头部和身体之分。
就好比函数有函数体  for循环也有for循环体  当然里不是循环体也是可以的就向函数不写函数体一样 不过该函数和类必须抽象化 只有类必须要有类体其他的可以体可以省略
for (;;); 这种格式就没有循环体 照样可以执行
体起到封装代码 标识作用范围的功能。。
回复 使用道具 举报
因为在java中for循环的格式是:
格式:
for(初始化表达式; 循环条件表达式; 循环后的操作表达式)
{
        执行语句;
}

大括号里的是循环体,在java中,for循环的循环体用大括号控制循环体的范围。如果,你把循环体写在了外面,那肯定就不属于for循环的范围了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马