JAVA自增自减运算符

概述

  • 自增运算符:++,自减运算符:- -。
  • 自增自减运算符是只对一个变量运算的运算符,故为一目运算符
  • 值得注意的是运算符在变量前和在变量后的效果有时会截然不同

自加自减操作:

++: 加1操作

- -: 减1操作

前加加 后加加

前减减 后减减

语法:

变量名++    后加加
++变量名    前加加   5++ 错误   a++
变量名--    后减减  
--变量名    前减减

注意:++ --只能变量来用,具体数字不能用,会报错

前缀自增自减法与后缀自增自减法

区别详解

先用一段简单的代码展示两者的区别:

int a = 1;
int b = 1;
int m = a++;
int n = ++b;
System.out.println("a= "+a);
System.out.println("b= "+b);
System.out.println("m= "+m);
System.out.println("n= "+n);

运行结果:

分析:

变量a的值是2,这是因为 a++ 对a进行了 a=a+1的操作,所以a=2

变量b的值是2,这是因为 ++b 对b进行了 b=b+1的操作,所以b=2

变量m的值是1,这是因为 a++操作顺序是先将a=1对a++进行了赋值,然后才对a进行a=a+1操作,所以m =1

变量n的值是2,这是因为 ++b的操作顺序是先将b进行b=b+1操作,然后再将b=2赋值给++b,所以n=2

总结:

前缀自增的方式是先将变量进行自增,然后再将值赋值给前缀表达式

后缀自增的方式与前缀自增的方法相反,先将变量的值赋给后缀表达式,然后再对变量进行自增操作

  • 特殊例子
int i=1;
i = i++;
System.out.println(i);

输出结果:

按照前面的讲述,这里的i=i++应该相当于i=i;i=i+1;,这样这个结果应该是2,这里就涉及到了JVM内存模型,要从内存出发来理解操作数在内存中的储存过程

每一个操作数在JVM中都有一个操作数栈(栈执行的是先进后出,后进先出的原则),JVM对操作数的存储过程就基于对操作数栈完成的。

++i是先入栈再++,而++i是先++再入栈

最后:

对于前缀自增还是后缀自增,对于初学者来说不必过于深究,这些使用对于初学者来说很少,大部分是用于循环的操作里,但里面的逻辑一定要理清楚,哪个是先赋值再自增一定要清楚明白。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值