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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

邹金飞

初级黑马

  • 黑马币:0

  • 帖子:13

  • 精华:0

© 邹金飞 初级黑马   /  2013-12-22 22:00  /  1384 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如题:
class  Ceshi
{
        public static void main(String[] args)
        {
                int x = 5;
                do
                {
                        while(x<5);
                        {
                                System.out.println(x);
                        }
                }
                while(x>5);
               
        }
}
按毕老师的内容讲解,do while 必须执行一次,但是do里面的执行语句还有个while,此时是不是判断这个while语句,但是while中的x<5为false(是不是5<5是错的?),它跳出循环体,也就是说不执行里面的while,可是为什么得出的结果是5?

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

5 个回复

倒序浏览
本帖最后由 刘松703 于 2013-12-22 22:19 编辑
  1. public class Ceshi {
  2.         public static void main(String[] args) {
  3.                 int x = 5;
  4.                 do {
  5.                         //while (x < 5);//这是你的语句,后面加了一个分号
  6.                         while (x < 5)//视频里写的语句是没有分号的        
  7.                         {
  8.                                 System.out.println(x);
  9.                         }
  10.                 } while (x > 5);

  11.         }
  12. }
复制代码

第五行代码你多加了一个“;”,while(x<5);我认为这一句就相当于
while(x<5){

}

而你下面的代码就相当于一个代码块了
  {
                                System.out.println(x);
    }
当然会输出x了,去掉分好就可以了

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报

不好意思,我多加了个分号,题目是没有分号的,我一直在纠结,这个定义的x=5它是不是在while(x<5)中为true?
回复 使用道具 举报
邹金飞 发表于 2013-12-22 22:13
不好意思,我多加了个分号,题目是没有分号的,我一直在纠结,这个定义的x=5它是不是在while(x ...

写代码得细心,要不一个小地方有可能会让你花好几天的时间的
回复 使用道具 举报
建议你练练断点调试,这种问题用断点调试解决起来很容易,自己一行行看就麻烦了。
回复 使用道具 举报
  1. class  Ceshi
  2.         {
  3.                 public static void main(String[] args)
  4.         {
  5.                 int x = 5;
  6.                 do
  7.                 {
  8.                  while(x<5);  //1.加了“;”号,语句结束,继续执行输出语句
  9.                                   //2.  x<5为false
  10.                         {
  11.                                 System.out.println(x);
  12.                         }
  13.                 }
  14.                 while(x>5);
  15.                
  16.         }
  17. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马