黑马程序员技术交流社区

标题: for循环后可以不加大括号吗? [打印本页]

作者: 94651417    时间: 2017-4-8 10:55
标题: for循环后可以不加大括号吗?
今天看到一道题目的答案,for循环后竟然没有大括号,还tm可以运行,这是咋回事呢?我给他复制过来,加上了大括号,竟然死循环了……

作者: 情不知所起    时间: 2017-4-8 10:59
沒有大括号只可能是循环体只有一句话。

作者: 94651417    时间: 2017-4-8 11:00
情不知所起 发表于 2017-4-8 10:59
沒有大括号只可能是循环体只有一句话。

不是很懂,没人教过
作者: 小黄哥    时间: 2017-4-8 11:33
代码贴出来

作者: 不忘初心.    时间: 2017-4-8 11:34
那应该只能运行下面一行吧

作者: 夜影鬼手    时间: 2017-4-8 11:49
没有括号后面的循环体只能有一句,循环体有多句就必须加括号,建议都加,方便阅读
作者: 预料中的意外    时间: 2017-4-8 12:09
没括号,只默认后面一行(以分号结尾的)算循环体内

作者: 鸡汤小王子    时间: 2017-4-8 18:45
不可以

作者: MMM521    时间: 2017-4-8 23:03
我去,格式都不对还能循环吗?如果可以有一种可能,就是无限循环下一个语句
作者: DreamBoyMrsLin    时间: 2017-4-8 23:57
没有加大括号的只能执行一行
作者: 94651417    时间: 2017-4-9 10:05
public class Prog37{
        public static void main(String[] args){
                System.out.print("请输入一个整数:");
                Scanner scan = new Scanner(System.in);
                int n = scan.nextInt();
                scan.close();
                //定义数组变量标识某人是否还在圈内
                boolean[] isIn = new boolean[n];
                for(int i=0;i<isIn.length;i++)
                  isIn[i] = true;
                //定义圈内人数、报数、索引
                int inCount = n;
                int countNum = 0;
                int index = 0;
                while(inCount>1){
                        if(isIn[index]){
                                countNum++;
                                if(countNum==3){
                                        countNum = 0;
                                        isIn[index] = false;
                                        inCount--;
                                }
                        }
                        index++;
                        if(index==n)
                          index = 0;
                }
                for(int i=0;i<n;i++)
                  if(isIn[i])
                    System.out.println("留下的是:"+(i+1));
        }
}

作者: 94651417    时间: 2017-4-9 10:05
小黄哥 发表于 2017-4-8 11:33
代码贴出来

贴出来了




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