• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

关于java自增 自减

怎么我算的是4呢,不懂int i = 1;                                int j = ++i + ++i;                                                                System.out.println(j);

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与4

这个是因为你第一次++i的时候,i的值等于2了,所以当再进行++i操作的时候,自然是在i=2的基础上+1,所以结果是5

使用道具 举报

修正一下刚刚的回答:答案是j=5!
分析过程不变
int i = 1;
int j = ++i + ++i;
System.out.println(j);
此时i=3,j=5;
如果你换一种写法
int i = 1;
int j = i++ + i++
System.out.println(j);
那么此时i=3,j=3

也就是说++在变量前面,先计让变量+1再进行与其他的表达式进行运算,如果++在后面,那么就是先进行运算后将变量自身+1

(++i)/(i++)都是一个整体,按照前面的分析,如果++/--在前,那么先进行自身的自增或自减,在跟后面的表达式进行运算。若果在后面则先进行运算在对自身进行自增或自减。
你这里进行了两次自增,所以特别注意这一规则。

使用道具 举报

首先要肯定一下的是:答案是4!
int i = 1;
int j = ++i + ++i;
System.out.println(j);
此时i=3,j=4;
如果你换一种写法
int i = 1;
int j = i++  +  i++
System.out.println(j);
那么此时i=3,j=2

也就是说++在变量前面,先计让变量+1再进行与其他的表达式进行运算,如果++在后面,那么就是先进行运算后将变量自身+1

使用道具 举报

答案是5,
因为:“+“在变量前面意思是:在运算之前就自动加1,在第一个自增后为2,然后去加第二个自增,这时候第二个自增会本身已经接收到了第一个自增后的结果(因为你的两个变量是一个,所以每次会用最新的数据),所以第二个自增后会变3,如果还有第3个,那它在自增前会调用第2个,自增后就会为4。
如果在变量后面例如:int i=1; int j=i++ + i++;则意思是在运算后在自增,所以答案会是2.
自减的写法一样,意思也一样,不同的是自减每次是减1.

使用道具 举报

发新帖

发布任务需求已有1031291位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!