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

© 奋发吧小白 高级黑马   /  2014-9-11 16:57  /  1153 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class Demo{
  2.        public static void main(String[] args){
  3.             int x = 1;
  4.             for(show('a'); show('b') && x<3; show('c')){
  5.                    show('d');
  6.                    x++;
  7.             }
  8.        }

  9.        public static boolean show(char ch)    {
  10.             System.out.println(ch);
  11.             return true;
  12.        }
  13. }
复制代码

打印结果是什么?show('a')  会执行吗?
还是直接存储到内存,不调用函数show()?

7 个回复

倒序浏览
本帖最后由 mtdanz 于 2014-9-11 17:29 编辑

感觉是“adcdc”
回复 使用道具 举报
打印结果是:a b d c b d c b
运算过程:
执行初始化表达式show('a')打印a,执行show('b')打印b,x=1满足条件x<3,执行代码show('d');打印d执行x++,执行show('c')打印c,执行show('b')打印b,x++后等于2,仍满足条件x<3,执行代码show('d')打印d,执行x++,执行show('c')打印c,执行show('b')打印b,x++后等于3,不满足条件x<3,循环结束
回复 使用道具 举报
应该是打印abdcbdcb
回复 使用道具 举报
      会执行的
回复 使用道具 举报
结果为:
abdcbdcb
理解for语句的执行顺序就行了
for( 表达式1;表达式2;表达式3){
     表达式4;
}
执行顺序为  
表达式2进行判:真 执行for 表达式4;假 退出for { }
表达式1----》表达式2进行判定----》表达式4-----》
表达式3----》表达式2进行判定----》表达式4-----》。。。。。
实在不理解可以使用Eclipse的debug功能
教程如下:

在for 语句的行头前右击,选择 Toogle breakPoint( 标记断点),选择运行文件右击选择  debug as ----》java application
弹出确认对话框,点击yes
最后一张图的标记1区显示了代码的运行情况,被执行到的代码被颜色标记,按F5 执行下一步
在2 区显示了代码执行过程中变量的变化,可以选中 变量  右击,选中watch ,该变量将被添加到监视区(2),也可以选中直接拖动
在3区显示了代码执行过程中 的打印信息,可以用来理解执行过程
打完收工
更多图片 小图 大图
组图打开中,请稍候......

评分

参与人数 1黑马币 +2 收起 理由
奋发吧小白 + 2 很给力!

查看全部评分

回复 使用道具 举报
java 会告诉你答案
回复 使用道具 举报
abdcbdcb题不错,面试题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马