• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

java问题问题

代码1:int i = 3;if(i++>3)  //括号内的结果为假,代码2:int i = 3;if(++i>3)   //括号内的结果为真代码3:int i = 3;if((i++)>3)  //括号内的结果为假为什么,我讲一下我的疑问,我知道算数运算符比比较运算符优先级更高,按道理无论i++>3或++i>3,不应该是i先自增,在进行判断吗?如代码1与代码2,结果++i>3正确(true),而i++>3错误(false)。而如果我将i++>3加个括号,如代码3if((i++)>3) 不是应该先执行i的自增在判断吗,结果却是错误(false),为什么,小白求解!!!!

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

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

使用道具 举报

全部参与3

i++是先使用后自增(只有先使用了之后i才执行自增运算。),++i是先自增后使用。

使用道具 举报

i++ 先赋值后自增
++i 先自增后赋值

使用道具 举报

i++的意思是先使用i,在进行加1操作, 这里 i++>3 ,先进行判断i=3,3>3明显错误,再进行加一操作
也可以这样理解 i ++>3 分解之后就相当于这两条语句 i>3; i=i+1;
++i的意思是先让i进行加一操作,此时i=4,然后再进行判断4>3,明显正确
这里相当于 i=i+1; i>3

使用道具 举报

发新帖

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

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

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