黑马程序员技术交流社区

标题: 蓝色部分注释前后count输出怎么不一样 [打印本页]

作者: 花非人陌    时间: 2015-5-13 11:22
标题: 蓝色部分注释前后count输出怎么不一样

注释前count输出100      注释后count输出14         

作者: 关山明月    时间: 2015-5-13 12:56
因为注释前,当x%7==0时,if语句体中执行的是输出x的值,这个判断条件的结果不会影响count的值自增。
而注释后,只有当x%7==0时,count的值才会自增,就是这样的:
  1. for(int x=1;x<=100;x++)
  2.                 {
  3.                         if(x%7==0)
  4.                         {
  5.                                 //当x的值符合条件时 ,count的值才自增1
  6.                                 count++;
  7.                         }                               
  8.                        
  9.                 }
复制代码

作者: _hy    时间: 2015-5-13 14:23
if语句没有大括号时,只控制离它最近的一条执行语句,所以注释前if语句只控制打印语句,与count++语句无关;注释后,if语句就只控制count++语句。
作者: 花非人陌    时间: 2015-5-13 17:16
_hy 发表于 2015-5-13 14:23
if语句没有大括号时,只控制离它最近的一条执行语句,所以注释前if语句只控制打印语句,与count++语句无关 ...

嗯 明白了  多谢
作者: CoeusLYJ    时间: 2015-5-13 17:24
if语句未通过“{}”描述方法内的代码时,只能操控最近一条语句,换言之未注释之前,100次循环,count会从0开始不断加1
作者: 980595778    时间: 2015-5-13 18:22
楼主注释之前的代码是这样的
for(int x=1;x<=100;x++) {
        if(x%7==0) {
        System.out.println("x =" + x);
     }
   count++;                                          
           }

注释掉之后是这样的
for(int x=1;x<=100;x++) {
        if(x%7==0) {
         count++;
     }                                   
           }

if语句后不加{},只是对语句后第一行起作用
作者: tinlen    时间: 2015-5-13 21:32
你最好把if后的{}大括号加上,这样就容易看出问题出现在哪了。省略大括号后,if语句到它后面第一个分号操作语句就结束了。之后的count++就不受if语句影响。




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