看程序说结果,结果是什么,又是为什么?(新手)

//定义一个类

public class zy1{

  //公共静态的主方法
  public static void main(String[] args) {
  // 如-- 单独一行 --放在数的前后一样 都是在原来的基础上-1
  //如果不是单独一行 那么--在后 内存中自减 但是返回的是旧值
  //如果不是单独一行 --在前 内存中自减 但是返回的是新值
  

  //  单独一行的意思

  //  x--;  

  int x = 4;
  int y = (--x)+(x--)+(x*10);
  //内存    3      2     2*10
  //看到    3      3      20
  System.out.println("x = " + x + ",y = " + y);

  }

}

结果就是 x是2  y是20

因为--x为3  x--为2  然后x*10为20

原因  不管返回的是旧值还是新值,在x--的时候,x的内存值已经变为了2,在最后的x*10中,其实是2*10,看到的结果也是20

所以,在内存里算,最后x为2  在看到的里算,y为26。

 

 

 

==以上这些均为本人和同学讨论得出来结果,具体的还要看老师明天的讲述,谢谢~~==

posted @ 2019-03-07 21:14  浪子。  阅读(156)  评论(0编辑  收藏  举报