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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© klamo 中级黑马   /  2015-8-21 23:05  /  1031 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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++就结果来说不是应该一样的吗?

4 个回复

倒序浏览
z=z++;
z=++z;
这两个语句 你搞清楚就懂了
回复 使用道具 举报
我这么说吧!
z++是先把z放进去运算,运算结束了在+1;
++z是先让z+1,然后再运算。
z+1=++z;
楼上说的有道理。
z=z++;
z=++z;
这两个语句 你搞清楚就懂了
回复 使用道具 举报
理论结果是一样,只是先后的问题~
回复 使用道具 举报
每天过来看看!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马