黑马程序员技术交流社区
标题:
三元运算符的问题
[打印本页]
作者:
klamo
时间:
2015-8-21 23:05
标题:
三元运算符的问题
本帖最后由 klamo 于 2015-8-21 23:06 编辑
day03的课程,有道题是:
1~100中7的倍数,例出并算出个数和。
我写的过程:
int z=0 , a=0;
System.out.print("以下数字是1~100中7的倍数");
for ( x=1 ; x<101 ; x++)
{
z=((x%7)==0)?z+1:z+0;
if (x%7==0)
{
System.out.print(x+",");
}
}
System.out.println("");
System.out.println("1~100中7的倍数的个数="+z);
程序可以顺利运行并计算结果,但是为什么把式中的 “z=((x%7)==0)?z+1:z+0;”改为 “z=((x%7)==0)?z++:z+0;”结果就就无法计数了? z+1和z++就结果来说不是应该一样的吗?
作者:
liuch111
时间:
2015-8-22 09:43
z=z++;
z=++z;
这两个语句 你搞清楚就懂了
作者:
史柯
时间:
2015-8-22 12:54
我这么说吧!
z++是先把z放进去运算,运算结束了在+1;
++z是先让z+1,然后再运算。
z+1=++z;
楼上说的有道理。
z=z++;
z=++z;
这两个语句 你搞清楚就懂了
作者:
taojunqiu225
时间:
2015-8-22 16:16
理论结果是一样,只是先后的问题~
作者:
段山虎
时间:
2015-8-22 18:30
每天过来看看!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2