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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王鹏伟 中级黑马   /  2013-2-23 15:30  /  1831 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Demo
{
   public static void main(String[] args)
   {
       int x = 0;
       for(int i=0;i<100;i++)
           x = x++;
           System.out.println(x);
   }
}

这段代码怎么个步骤?

4 个回复

倒序浏览
本帖最后由 陈圳 于 2013-2-23 16:11 编辑

int x = 0;
       for(int i=0;i<100;i++)//for循环开始
           x = x++;             //x使用完后自增1   如果是++x就是使用前自增1 ,这一步用x++;比较好,因为节省了效率.一步操作.而x=x++会有一个赋值.
           System.out.println(x);  打印一次x
i的值循环一次,x的值就加自增1,相当于for(int i=0;i<100;i++,x++)
回复 使用道具 举报
  1. public class Demo
  2. {
  3. public static void main(String[] args)
  4. {
  5. int x = 0;
  6. for(int i=0;i<100;i++)<FONT color=red> // for循环开始. I= 0, x = 0</FONT>
  7. x = x++;//<FONT color=red>这儿建议直接用x++;就行, 提高代码简练性,效率.
  8. </FONT>System.out.println(x);//<FONT color=red>输出1-100;</FONT>
  9. }
  10. }

复制代码
回复 使用道具 举报
本帖最后由 贾文泽 于 2013-2-23 16:46 编辑

看了楼上两位的解释都有点问题,我明确的解释一下
  1. public class Demo
  2. {
  3.    public static void main(String[] args)
  4.    {
  5.        int x = 0;
  6.        for(int i=0;i<100;i++)      // i++  循环100次,当i=100时退出循环,
  7.            x = x++;                //这句代码的意思是 x++ 这个表达式的值是自增之前的x,x的值是 x+1   所以 x=x++;    不管循环多少次,x的值都是0
  8.            System.out.println(x);   //输出 0 (只输出一次)
  9.    }
  10. }
复制代码
自增: 不管是前++还是后++,对于x的值都是一样的(x+1),只是整个自增表达式的值不同
y=x++;    //相当于  先y=x,    再x=x+1;
y=++x;    //相当于  先x=x+1,  再y=x;
自减: 跟自增一样,对于x的值都是(x-1),整体表达式的值不一样
y=x--;   //相当于  先y=x,    再x=x-1;
y=--x;    //相当于  先x=x-1,    再y=x;
回复 使用道具 举报
首先给x赋初值0,然后定义一个从0到99的for循环 ,x递增,依次输出x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马