`
IT_way
  • 浏览: 67778 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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;
哈哈,就是这样,不知道你理解了没有!现在在做做刚开始的例子

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics