黑马程序员技术交流社区
标题:
自增小题目求助
[打印本页]
作者:
王鹏伟
时间:
2013-2-23 15:30
标题:
自增小题目求助
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);
}
}
这段代码怎么个步骤?
作者:
陈圳
时间:
2013-2-23 15:43
本帖最后由 陈圳 于 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++)
作者:
罗海云
时间:
2013-2-23 16:19
public class Demo
{
public static void main(String[] args)
{
int x = 0;
for(int i=0;i<100;i++)<FONT color=red> // for循环开始. I= 0, x = 0</FONT>
x = x++;//<FONT color=red>这儿建议直接用x++;就行, 提高代码简练性,效率.
</FONT>System.out.println(x);//<FONT color=red>输出1-100;</FONT>
}
}
复制代码
作者:
贾文泽
时间:
2013-2-23 16:45
本帖最后由 贾文泽 于 2013-2-23 16:46 编辑
看了楼上两位的解释都有点问题,我明确的解释一下
public class Demo
{
public static void main(String[] args)
{
int x = 0;
for(int i=0;i<100;i++) // i++ 循环100次,当i=100时退出循环,
x = x++; //这句代码的意思是 x++ 这个表达式的值是自增之前的x,x的值是 x+1 所以 x=x++; 不管循环多少次,x的值都是0
System.out.println(x); //输出 0 (只输出一次)
}
}
复制代码
自增: 不管是前++还是后++,对于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;
作者:
张宁
时间:
2013-2-25 16:02
首先给x赋初值0,然后定义一个从0到99的for循环 ,x递增,依次输出x
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2