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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liuhongbo 中级黑马   /  2016-9-22 20:30  /  806 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int i =0;
i = i++;

System.out.println(i);

i是1,为啥没有执行i++

13 个回复

正序浏览
++号放在操作数的后面是先将操作数运算,再对操作数执行加1
回复 使用道具 举报
当然是输出1了,毫无疑问  就算输出里面是i++也是输出 1,  ++i输出才是2
回复 使用道具 举报
赋值运算了  这???
回复 使用道具 举报
i++是先运算后自加
回复 使用道具 举报
执行了 只是打印的是执行之前的i   i++  是先赋值 后+1                     ++i是先+1 后赋值
回复 使用道具 举报
LShu 中级黑马 2016-9-22 22:41:23
9#
i++已经执行了,具体步骤请留意下边:
int i =0;           //首先对i初始化 i = 0;
i = i++;           //此时左边的i = 0;因为++在后面的执行顺序是先赋值后自增的
System.out.println(i);   //此时的i为i++执行后的值了

回复 使用道具 举报 1 0
先运算,再自增
回复 使用道具 举报
觉得你可以在去理解下++在前和在后的区别
回复 使用道具 举报
++在后面先参与运算再加一
回复 使用道具 举报
i=i++;具体写是i=i=i+1;这样写没有意义   警告:The assignment to variable count has no effect  java是强类型语言
回复 使用道具 举报
i++执行了,是在当前语句执行完之后才会执行i++的。
回复 使用道具 举报
++ 在后 先运算,再自身加1
回复 使用道具 举报
骆宾王 来自手机 中级黑马 2016-9-22 21:23:01
沙发
先给左边赋值,再进行加1的运算
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马