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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 温立华 中级黑马   /  2013-10-11 08:10  /  2391 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 温立华 于 2013-10-14 21:10 编辑

class Fu
{
        boolean show(char a)
        {
                System.out.println(a);
                return true;
        }
}
class Demo extends Fu
{
        public static void main(String[] args)
        {
                int i=0;
                Fu f=new Demo();
                Demo d=new Demo();
                for(f.show('A'); f.show('B')&&(i<2);f.show('C'))
                {
                        i++;
                        d.show('D');
               
                }        
               
        }
        boolean show(char a)
        {
                System.out.println(a);
                return false;
        }
}
for(f.show('A'); f.show('B')&&(i<2);f.show('C'))这条语句中 为什么运行到f.show('B')这的时候代码跳出

7 个回复

倒序浏览
  1.        boolean show(char a)
  2.         {
  3.                 System.out.println(a);
  4.                 return false;
  5.         }
复制代码
重写了父类的show方法。
f.show('B')这一步判断的时候返回了false ,所以循环结束了,

评分

参与人数 1技术分 +1 收起 理由
黄文伯 + 1 赞一个!

查看全部评分

回复 使用道具 举报
因为双与&&是两个都为true的时候结果才为true,所以,只要符号两边有一个false结果就是false,所以在循环条件表达式中:for(int x=0;/*注意,这里只要结果为false,就会跳出循环*/;x++)-->这样就会跳出循环;
回复 使用道具 举报
因为你在里面有一个return     return代表不执行下面的代码直接跳出
回复 使用道具 举报
1.for的三要素错了,第一个表达式是初始部分,变量赋初值,第二个表达式条件语句,第三个修改变量的值。
你搞个for(ture;ture;ture){}这是不行的。
2.再说你的 for(f.show('A'); f.show('B')&&(i<2);f.show('C'))这show()方法返的是flase因重写了父类方法是子类方法了

评分

参与人数 1技术分 +2 收起 理由
黄文伯 + 2 赞一个!

查看全部评分

回复 使用道具 举报
亲,如问题已解决请将分类的“未解决”改为“已解决”。 以后的问题贴也要及时更改分类哦~
回复 使用道具 举报
亲,如问题已解决请将分类的“未解决”改为“已解决”。 以后的问题贴也要及时更改分类哦~
回复 使用道具 举报
亲,如问题已解决请将分类的“未解决”改为“已解决”。 以后的问题贴也要及时更改分类哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马