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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴华二 中级黑马   /  2012-3-26 15:00  /  3272 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class TestExercise
{
        public static void main(String[] args)
        {
                int i = 1,e;
                for(System.out.println("a"),e = 1;i < 3;System.out.println("b"))
                {
                        System.out.println("c");
                         i++;
                }
       }
}

实在不解这个表达式:System.out.println("a"),e = 1;i < 3;System.out.println("b"),帮忙解释下,谢谢...

8 个回复

倒序浏览
for(System.out.println("a"),e = 1;i < 3;System.out.println("b"))
       {
                        System.out.println("c");
                         i++;
         }
当i=1  输出 a  b c
当i=2  输出 a  b c
当i=3  时候,条件是i < 3则,条件不满足,循环结束
回复 使用道具 举报
System.out.println("a"),e = 1;i < 3;System.out.println("b")//你不要看得太复杂,你把System.out.println("a")和System.out.println("b")这两句看成是输出字符"a"和“b”,就能明白了
回复 使用道具 举报
int i = 1,e;
                for(System.out.println("a"),e = 1;i < 3;System.out.println("b"))
                {
                        System.out.println("c");
                         i++;
                }
for循环里各条件以分号隔开,当执行到for循环时,看到第一个条件,输出a,并将e赋值1,判断i的大小,小于3,执行System.out.println("c");i++,输出c,然后执行System.out.println("b"),输出b,返回来继续判断条件i<3,满足在执行循环体,打印c,继续执行System.out.println("b"),打印b,当i=3,跳出循环
回复 使用道具 举报
for循环语句
  for ( 条件1 ;  条件2 ;  条件3)
   {
               语句;
  }
所以  for(System.out.println("a"),e = 1;i < 3;System.out.println("b"))
  System.out.println("a"),e = 1 是一个表达式,
  i < 3  是一个表达式
  System.out.println("b")   是一个表达式

执行 的最后结果应该为
    a ,  c , b, c  ,b  
         
回复 使用道具 举报
for循环语句
for(初始化表达式 ; 条件判断 ; 更新循环变量)
{
    执行语句 ;
}
初始化表达式:初始化for循环语句的,可以是输出语句
条件判断:    这个必须是返回boolean型的
更新循环变量:用来控制循环的,可以是输出语句
回复 使用道具 举报

不知道按这个步骤看,楼主能不能理解,那些输出语句你不要以为有什么特殊含义。
回复 使用道具 举报
方江 中级黑马 2012-3-26 16:03:17
8#
   int i = 1,e;
                for(System.out.println("a"),e = 1;i < 3;System.out.println("b"))
                {
                        System.out.println("c");
                         i++;
for循环。I赋值为1.然后执行,首先打印a.给e赋值给1.判定i<3.打印b.打印C.  i自增。
然后再打印a.继续给e赋值,判定。打印b.C.i继续自增。然后打印a.赋值e.判定,不符合,跳出。
回复 使用道具 举报
for(初始化表达式; 循环条件表达式; 循环后的操作表达式){
         执行语句;
}
首先你要明白,我用红色标记的两个,那两个地方是放表达式的,什么是表达试?System.out.print是表达式,int i = 0也是表达式,这里只要放合法的表达式就OK。
然后for循环的顺序。
第一步执行---->初始化表达式
第二步执行---->循环条件表达式(满足条件到3,不满足跳出循环)
第三步执行---->执行语句
第四步执行---->循环后的操作表达式
第五步执行---->重复2,3,4的动作,直到不满足循环条件表达式时跳出循环
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马