java的++i和i++的分析
Posted 128度
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的++i和i++的分析相关的知识,希望对你有一定的参考价值。
关于自增自减,先来一道题,大家尝试着做一下:
1 public static void main(String[] args) { 2 3 int a=2; 4 int b=a++; 5 int c=--a; 6 System.out.println("a:"+a+",b:"+b+",c:"+c); 7 }
答案在这里:
a:2,b:2,c:2
看完答案,不知道大家有没有什么感觉,再来一道吧:
1 public static void main(String[] args) { 2 3 int i=0; 4 for(int j=0;j<10;j++){ 5 i=i++; 6 } 7 System.out.println("i:"+i); 8 }
下面是答案:
i:0
猜对了吗,如果没猜对,好好想想,你一定会猜对的,什么?你猜对了,
大神啊,那么请大神接招:
1 public static void main(String[] args) { 2 3 int i=5; 4 int j=(i++)+(++i)+(i--)+(--i); 5 System.out.println("i:"+i+",j:"+j); 6 }
答案来也:
i:5,j:24
怎么样,有没有什么感觉,别着急,下面是分析:
1 //i++==> i=6;j=5 2 //++i==> i=7;j=7 3 //c--==> i=6;j=7 4 //--d==> i=5;j=5 5 //5+7+7+5=24 6 //6+7+6+5=24
但是有两个24,结果到底是哪一个呢,别急,看完下面的题你就知道答案了:
1 public static void main(String[] args) { 2 3 int i=5; 4 int j=(i++)+(++i); 5 System.out.println("i:"+i+",j:"+j); 6 }
这是正确答案:
i:7,j:12
猜对了吗,看我的分析:
1 //i++==> i=6;j=5 2 //++i==> i=7;j=7 3 //6+7=13 4 //5+7=12
明白了吧 >O.O<
这篇文章说是分析,但其实只是给大家出了几道题,如果大家有什么想法,可以给我留言哦。
以上是关于java的++i和i++的分析的主要内容,如果未能解决你的问题,请参考以下文章
[Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3)][C. Playing Piano](代码片段