zoukankan      html  css  js  c++  java
  • 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<
    这篇文章说是分析,但其实只是给大家出了几道题,如果大家有什么想法,可以给我留言哦。

  • 相关阅读:
    Python学习笔记(6)-异常
    Python学习笔记(1)-基本概念
    自动化测试工具Sikuli的安装以及应用
    SoapUI添加断言
    SoapUI接口之间的数据传递
    Fitnesse初体验
    SoapUI5.1.2命令行执行https类型接口集成
    SoapUI命令行执行测试用例
    Jenkins集成AirTest不启动浏览器
    AirTest执行时不能输入汉字
  • 原文地址:https://www.cnblogs.com/littleorange7/p/10171363.html
Copyright © 2011-2022 走看看