java 各种++的运算

一般概念:i++先赋值后计算,++i先运算后赋值。

java不同于c++,c++是在语句运行完后再执行++操作。

int j = i++;

在c++中可以表示为 int  j= i; i=i+1;

但在java中,表示形式为 int temp = i ; i = i+1; j=temp;

区别就是java 右++是在赋值之前完成的。 左++同理。

所以java对本身++再次赋值给本身,或者++后的对象再次参与运算,就你妈蛋疼了。

int i; i = i++;   按照运算顺序先运算右边的 i++;等同于temp(将要返回的结果) = i; i=i+1; 最后将结果赋予左边 i = temp。所以运算后 i 还是为0。

i = ++i; 先运行右边的 i=i+1;temp = i; 最后将结果赋予左边i = temp。所以运算后为1。

i = i++ + ++i + ++i;

 按顺序来,先运算右边第一个。i++表示为temp1 = i(0),i(1)=i+1 。 然后运算第二个 ++i,i(2)=i(1)+1;temp2 = i(2) ; 最后运行第三个 ++i,i(3)=i(2)+1, temp  =i(3)。 对i进行赋值, i(5)  =  temp1(0) +temp2(2)+temp3(3);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,769评论 0 33
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,760评论 18 399
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,904评论 0 2
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 1,614评论 4 12
  • 我曾憧憬过那诗和远方 我们背靠着背 肆意畅想 也曾幻想过我身披婚纱手执花束的模样 你单膝跪地 我眉眼含笑 我还曾描...
    柒七Y阅读 232评论 0 0