慎用++运算符,java和C++中的一个对比

 一、先看下面的代码

int main(){

 int i=3,j,k;

 j=(i++)*(i++);

 k=(++i)*(++i);

 cout<<j<<k<<endl;

}

在学习C++的时候我专门记过此程序的运行过程,j的结果应该是3*3=9,k的结果应该是7*7=49,i最终的值应该是7。

 

二、再看下面的代码

public class TestPlusPlus{
 public static void main(String args[]){
  int i=3,j,k;
  j=(i++)*(i++);
  k=(++i)*(++i);
  System.out.println(j);
  System.out.println(k);
 }
}

今天在用java编程的时候,为了图省事有一条语句我也写成了(i++)*(i++)的形式,但结果却和C++中不同。上面的程序是为了实现和C++的对比写的测试代码,此程序中j的结果是3*4=12,k的结果是6*7=42。

 

在用++和--运算符时提醒大家一定要遵循清晰明了的原则,不同语言中对++和--的处理不同,即使是相同语言不通编译器对++和--的处理也很可能不同,大家一定要慎用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值