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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 比烟花寂寞_neve 中级黑马   /  2013-9-17 14:36  /  1605 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黄兴旺 于 2013-9-17 15:48 编辑

package Test;
/**
* for循环
* @author Administrator
*
*/
public class ForTest {

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

评分

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

查看全部评分

9 个回复

正序浏览

  1. <P>public class ForTest {

  2.         
  3.         
  4.         public static void main(String[] args) {
  5.                 int i = 0;
  6.                 for (System.out.println("a");i<3;System.out.println("b"),i++) {
  7.                         System.out.println("d");
  8.                 }
  9.         }
  10. }

  11. </P>
  12. <P>这种题目你可以转换一下看:可以把输出语句改成我们熟悉的语句:这样你就容易理解了。</P>
  13. <P>for(int i=0;i<3;i++)</P>
  14. <P>{</P>
  15. <P>   system.out.println("......");</P>
  16. <P>}</P>
复制代码
因为在for语句中,初始化表达式只执行一次,这是你要记住的,只有循环条件表达式和循环后的表达式才执行多次,所以在初始化的时候就会输出a,然后i满足条件,输入b,这时i 变为1,再打印d,注意:此时不执行 打印a 的输出语句,而是执行循环表达式,就这样反复执行;直到条件不满足。
所以执行结果为 : a b d b d b d

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

回复 使用道具 举报
wumuzhong 发表于 2013-9-17 15:14
int i =0;
for(System.out.println("a");i

真详细,看明白了,怎么将问题变成已经解决。{:soso_e163:}
回复 使用道具 举报
int i =0;
for(System.out.println("a");i<3;System.out.println("b"),i++) {
                        System.out.println("d");
                }
for循环3次,第一次输出为a,d,b,第一次执行for语句,第一个“;”前为初始化语句,在整个for语句中,值执行一次,即第一循环执行,下次不执行,然后去判断第二分号之前的语句,如果符合条件,为true的话,就执行大括号{}里的语句,执行完之后,再去执行第二分号后面的语句,所以,第一次循环为:a,d,b, 第二次为:d,b,第三次为:d,b.

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

回复 使用道具 举报
杨修 中级黑马 2013-9-17 15:14:26
7#
for (System.out.println("a");i<3;System.out.println("b"),i++) {
                        System.out.println("d");
                }
对于for循环,基本格式为:
       for(初始化表达式;循环条件表达式;循环后表达式)
       {
              循环体;
       }
执行顺序为:初始化表达式---->循环条件表达式---->循环体---->循环后表达式----->循环条件表达式---->循环体---->循环后表达式---->。。。。。
初始化表达式只执行一次,其他三个部分一直循环。
因此结果为:a  d  b d  b  d  b

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1 很给力!

查看全部评分

回复 使用道具 举报

应该第三步和第四步互换吧,谢谢你,解决了
回复 使用道具 举报

。。。。思路重于结果,求思路。
回复 使用道具 举报
本帖最后由 雪龙 于 2013-9-17 14:51 编辑

a
d
b
d
b
d
b
这是打印结果。
  int i = 0;
                for (System.out.println("a")【1】;i<3【2】;System.out.println("b"),i++【3】) {
                        System.out.println("d"【4】);
}  在for循环中,其实是三个表达式,我给你说一下执行顺序  1-2-4-3-2-4-3-2-4-3
还有在你的是第三个语句中,用的是i++ 即使先使用后自增

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

回复 使用道具 举报

我想要思路,结果的话myEclipse可以检测的,你可以帮我分析一下么?{:soso_e100:}
回复 使用道具 举报
a
d
b
d
b
d
b
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马