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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李敬卫 中级黑马   /  2012-12-29 22:42  /  1722 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

类名主函数省略了…只说问题int i=0,j=0

评分

参与人数 1黑马币 +1 收起 理由
刘芮铭 + 1

查看全部评分

5 个回复

倒序浏览
李敬卫 来自手机 中级黑马 2012-12-29 22:48:43
沙发
本帖最后由 李敬卫 于 2012-12-29 22:53 编辑

先用System输出i加加  ,然后j 加加之后,再输出j,会得到不同的结果。加加放在后面不是先输出再加加吗?为什会得到不同的结果。手机发贴,不方便。请大家见凉,希望我的疑问大家能看懂
回复 使用道具 举报
你的意思是这样吗?
public class Test
{
        public static void main(String[] args)
        {
                int i=0,j=0;
                System.out.println(i++);
                j++;
                System.out.println(j);
        }
}
如果是这样,第一个System.out.println(i++)是输出i之后,i再自己加1,i++的意思是这一行语句执行完后,下一条语句执行前i自增1,因而第一个输出得0
而第二个就好理解了,j++后输出j,因而得1

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
先看i:你是直接System.out.println(i++);//直接输出i的原有值0,之后再++。所以输出的是0,但i的实际值已经是1了。

再说j:你是说j++;之后再System.out.println(j++);这里的j++和后面的输出语句已经不是同一句执行语句了,按顺序是j++执行完才执行System.out.println(j++);

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
{
                int i=0,j=0;
                System.out.println(i++);
                j++;
                System.out.println(j);//和j++已经不是同一句了
        }
回复 使用道具 举报
弄清楚语句的执行顺序啊, j++先执行,j变成1, System.out.println(j)后执行,输出是1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马