java的自动递增和递减解析

以前在学校的时候一直没弄明白,哪个时候被搞的晕头转向

现在回想过来也就那么回事,归根究底是自己没弄明白其中的意思
不知道有没有像我这样的,没有更加好,有的话希望我的一些见解能给你带来帮助
首先来个例子 ,如果你做出来了说明你理解了,下面的你就不要看了


public class Test2 {
static{
int x=5;
}
static int x,y;
public static void main(String[] args) {
x--;
mymethod();
System.out.println(x+y+ ++x);
}
public static void mymethod(){
y=x++ + ++x;
}
}

输出的结果是 3

java的自增和自减分为两种模式 前缀式和后缀式
1,前缀式
++i,等同于 i=i+1,--i
代表的意思是:先运算后取值
2,后缀式
恰好相反:先取值后运算
个人觉的难理解的就是“运算“

哪个时候把运算理解为两个数加减的这个运算
其实他代表的是数字本身的一个运算
写个例子 你就明白了

public class Test3 {

public static void main(String[] args) {
int x=8;//步骤一
int y=x++ + ++x;//步骤二

System.out.println(y);
}
}


步骤二 :运算的顺序是从左到右
我们可以把算术表达是看成两部分
int y=(x++ 一部分)+(++x 二部分)

后加的含义是先取值后运算
自然 一部分的确立的值就是8,
进过了取值,那x就得运算了 取值后的x=9

现在向前推进,此时的x=9进入第二部分

++x,先运算后取值
运算:就是先把事情做好了,再来享受成果
++x等同于 x+1 而此时的x=9
这样的话我们就可以确立第二部分就是10

所以这样的可以得到y=8+10;
哈哈,就是这样,不知道你理解了没有!现在在做做刚开始的例子
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值