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

哥哥们帮忙看下for循环语句方法
public class breakqian2 {

 public static void main(String[] args) {
int count=0;

for (int i=1;i<=3;i++) 

  for (int k=1;k<=3;k=k+1) 
   
++count;
 

System.out.println(count);
  }
   
   
 }
 这里第二个for句子后面没有大括号.

public class breakqian2 {

 public static void main(String[] args) {
int count=0;

for (int i=1;i<=3;i++) 

  for (int k=1;k<=3;k=k+1) {
   
++count;}
 

System.out.println(count);
  }
   
   
 }
 这里第二个for语句后面有大括号,
为什么他们执行的结果都是9呢?
第一个不是顺序执行吗?第二个才是循环自加。
我是这么理解的,请问大哥哥们我那里出了问题啊?
另外for标准格式是:for后面带了大括号,为什么这里句子里面是两个for语句连续执行的,没有用大括号分开啊。他们的执行步骤是怎样的啊?
谢谢哥哥们指教。。。小弟在此谢过了!!!

------解决方案--------------------
Java不管是for语句还是if语句,都是支持不带“{}”的,如果不带“{}”,第一行语句是它的执行体。如果带“{}”那么整个大括号包起来的部分是它的执行体。
也就是说你的
for (int i=1;i<=3;i++)

for (int k=1;k<=3;k=k+1)

++count;

等同于

for (int i=1;i<=3;i++)

for (int k=1;k<=3;k=k+1) {

++count;}
------解决方案--------------------
嗯嗯 对哦,可以不用写{}的,c#也可以不用写的。
------解决方案--------------------
{}可有可无
无的话执行一条语句(通常第一个;结尾就是了)
------解决方案--------------------
当只有循环体中只有一条语句是,大括号是可有可无的。
------解决方案--------------------
尽量加上{} ,避免不必要的错误。
------解决方案--------------------
嗯 可以不用{}的 因为如果不加{}的话只执行离他最近的一条语句
------解决方案--------------------
变成习惯最好加上括号,方便阅读
------解决方案--------------------
加与不加都一样的,
------解决方案--------------------
紧接着的第一句可以无{}
------解决方案--------------------
我个人认为还是加{}比较好,不容易出错!!
------解决方案--------------------
for后面的一句是一句整体的执行体,只有当FOR后面的语句超过一句的时候才需要加大括号,所以第一个程序中的第二个for就被当成是第一for的执行体。这么解释懂么?