日期:2014-05-20  浏览次数:20691 次

一个我迷惑问题
请问下面
public   String   toString()
      {
            String   r   =   " ";
            for   (int   i   =   1;   i   <=   width;   i++)
            {
                  //   Make   triangle   row
                  for   (int   j   =   1;   j   <=   i;   j++)
                  {
                      r   =   r   +   "[] ";
                  }                                         //如果没有这两个大括号
                  r   =   r   +   "\n ";
            }
            return   r;

运行的结果为什么还是一样呢?有括号不是执行外循环执行一次回车一次吗
没有了里面那对括号不是执行一次内循环回车一次吗?那两次结果为什么相等


------解决方案--------------------
如果for的循环语句只有一句,也就是说for循环後的第一个 "; "处的语句
那么就可以省略掉花括号,否则就得加上
for (int i = 1; i <= width; i++){
for (int j = 1; j <= i; j++){
r = r + "[] ";//这里的内层for循环只有一个语句,所以可以不要{ }
}
r = r + "\n ";
}//但是这里的{}必须要,因为这个花括号对应的for循环包含了不止一个语句
while,if等条件控制语句都一样