Java-自增与自减运算符

首先讲一个笑话,因为++运算符是C++语言的一部分,C++的反对者认为这种语言的名称也存在bug,他们说:“因为只有对它改进之后,我们才可能使用它,所有它的名字应该是++C。”

不过这里是Java,下面分析代码

一般情况

public class Test2 {
	public static void main(String[] args) {
		int i = 0;
		System.out.println(i++);
		System.out.println(i);
		System.out.println(++i);
		System.out.println(i);
	}
}

输出

0
1
2
2

++在数组索引[]中的表现

public class Test2 {
	public static void main(String[] args) {
		int[] a = { 0, 1, 2, 3, 4 };
		int N = 0;
		System.out.println(a[N++]);
		System.out.println(a[N]);
		System.out.println(a[++N]);
		System.out.println(a[N]);
	}
}

输出

0
1
2
2

在表达式中和其他运算符的优先级

public class Test2 {
	public static void main(String[] args) {
		int m=0;
		int n=0;
		System.out.println(6*m++);
		System.out.println(6*++n);
	}
}

输出

0
6

同一个表达式中有多个++

public class Test2 {
	public static void main(String[] args) {
		int i = 0;
		System.out.println(i++ + ++i);  //前一个i++的时候i=0,后一个++i的时候i=1
	}
}

输出

2

总结:

  • ++操作符优先级比[]和算术操作符高
  • 前++是先自增,再参与运算,后++是先参与运算后自增
  • 前一个i++操作,会应影响同一个表达式中后面的i值

不推荐在其他表达式内部使用++,因为容易让人困惑,所以上面的++操作完全可以独立写一行,前++就在前面写一行,后++就在后面写一行

Happy Learning !!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值