java中 和 的优先级_在java 中赋值运算符和++的优先级?那个优先。

运算符优先级表

优先级 运算符 结合性

1 () [] . 从左到右

2 ! +(正) -(负) ~ ++ -- 从右向左

3 * / % 从左向右

4 +(加) -(减) 从左向右

5 << >> >>> 从左向右

6 < <= > >= instanceof 从左向右

7 == != 从左向右

8 &(按位与) 从左向右

9 ^ 从左向右

10 | 从左向右

11 && 从左向右

12 || 从左向右

13 ?: 从右向左

14 = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= 从右向左

从表中可以看出++的优先级比较高

但提醒楼主注意下面的情况

public class Test2 {

public static void main(String[] args) {

int a = 5;

int b = 10;

a = ++b;

System.out.println("a = " + a);

System.out.println("b = " + b);

}

}

输出结果:

a = 11

b = 11

代码中的 a = ++b

要先执行++b,再执行赋值,即相当执行下面两步

(1)b ++ (++b和b++是一样的 ,b执行++后就会加1,从10变为11)

(1)a = b; (这里a就拥有了和b一样的值,所以a也等于11)

另一种情况:

public class Test2 {

public static void main(String[] args) {

int a = 5;

int b = 10;

a = b++;

System.out.println("a = " + a);

System.out.println("b = " + b);

}

}

输出结果:

a = 10

b = 11

代码中的a = b++也是分两步执行的。但和上面那种情况刚好相反

(1)先执行 a = b 所以a就拥有了b的值。即 a = 10

(2) 再执行 b ++ 这里b++后,b就从10加1变成了11

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值