用人话讲明白++i和i++的区别,非常好懂哦

public class Main {

	public static void main(String[] args) {
		int x=iAddAdd();					//1
		int y=addAddI();					//2
		System.out.println("x="+x);		//3
		System.out.println("y="+y);		//4
		int i=0;						//5
		System.out.println(i++);		//6
		System.out.println(++i);		//7
	}
	public static int addAddI() {
		int i=0;						//8
		int b=0;						//15
		b=++i;							//16
		System.out.println("b="+b);		//17
		return ++i;						//10
	}
	public static int iAddAdd() {
		int i=0;						//11
        int a=i++;						//12
		System.out.println("a="+a);		//13
		return i++;						//14
	}
}

在Java中,i++和++i都是用来给i这个变量赋值的,不同的是,++i是先让i增加,再进行使用;而i++则是先给把i给用了,再让i增加。
为了方便,我通过注释给上面代码的每句话都编了一下号。
在上面的程序中,我们先执行了1号语句,我们定义了变量x,使它的值为iAddAdd这个函数的返回值。在iAddAdd当中,我们通过11制造出形式参数i,初值为零,在执行12时,计算机内部过程为:先把i拿出来,看看程序需不需要拿它做什么,这时,电脑发现他需要把i的值赋值给a,于是他就先让a=i(即让a=0),完成了这一步之后,计算机把i增加了1。这个就叫做先用再加。所以13输出的结果就是a=0。而,继续执行第14 句时,计算机又看到了i++,这时,他发现程序让他把i的值返还给主函数中的x,于是,他就将i的值给了语句1的x,给完之后,i变成2。这就叫:加号在后用后加。
程序回到主函数,执行语句2,调用了函数addAddI,当加加i执行到16号语句时,计算机现将i的值增加1,再检测i有没有什么用处,发现要把它赋值给b,于是b 就是1,这就叫:加号在前用前加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值