为了账号安全,请及时绑定邮箱和手机立即绑定

新手请教,以下代码如何解释?

  int a=10;
  int b=a--;
  int c=--a;
  int d=a++;
  int e=++a;
  System.out.println("A的值为:"+a);
  System.out.println("B的值为:"+b);
  System.out.println("C的值为:"+c);
  System.out.println("D的值为:"+d);
  System.out.println("E的值为:"+e);

运行结果:

A的值为:10
B的值为:10
C的值为:8
D的值为:8
E的值为:10

正在回答

4 回答

关于自增自减运算,我们要知道这些增减位置不管在哪都是要自增一或者自减一。如果++或--在变量前,那么该变量就先自增一或自减一,(即取加一后结果实现自增自减)然后进行运算。如果++或--在变量后,那么该变量(即取递增前的结果先不自增自减)直接进行运算,自增自减用在后面用到变量的运算上。比如说b=a--,a=10那么b就等于a(即b=a先不自减),然后c=--a(这里的a就是b=a--的自减后的a)a就等于9,然后--a在自减1就变成了8。

0 回复 有任何疑惑可以回复我~
#1

时间改变了我们 提问者

非常感谢!
2016-04-23 回复 有任何疑惑可以回复我~
#2

触角码工

非常感谢这个提问和您的回答。
2016-04-26 回复 有任何疑惑可以回复我~

大家们真好,讲的浅显易懂,点赞

0 回复 有任何疑惑可以回复我~
  1. a--是先赋值再自减   因此int b=a--; 之后    b=10 a=9

  2. --a是先自减再赋值   因此int c=--a; 之后    a=8 c=8

  3. 同理 在int d=a++;后   d=8 a=9

  4. 同理 在int e=--a;后      a=10 e=10

  5. 所以 b=10 c=8 d=8 e=10  a的值由10变为 9、8、9、10最终为10

0 回复 有任何疑惑可以回复我~

public class HelloWorld {

  public static void main(String[] args) {

 int a=10;

 int b=a--;

 int c=--a;

 int d=a++;

 int e=++a;

 System.out.println("A的值为:"+a);

 System.out.println("B的值为:"+b);//a--  --在后面所以不做操作还是10

 System.out.println("C的值为:"+c);//前面的-- 加自身的-- 得到8

 System.out.println("D的值为:"+d);//++是在变量后面 所以也不加 得到8

 System.out.println("E的值为:"+e);//根据前面的++ 再加上自身的++得到10

 

 //-- ++  放在变量前面的先++或者--   放在变量后面的运行后再++或者--

}

}

ps:缩进全没了,全没了,全没了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

新手请教,以下代码如何解释?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信