实际开发中:可用()来改变运算的顺序,增强代码的可读性 ,故此篇文章是为了在面试中能答对面试题
运算符的运算顺序List:
1: ()、[]、{} // 括号大于一切
2: ++、--、 -、+、!、~(补码按位取反) // 单目运算符只有一个操作数
3:* / %
4:+ 、-
5:>>、<<、>>> // 位移运算符
6:>、<、>=、<=、
7:!=、== // 比较运算符
8:&
9:^
10:|
11:&&
12:||
13: =、+=、-=、 // 一系列的赋值运算
同一层的运算符按照从左到右的顺序执行
小测试:
int a = 5;
int b = 4;
int c = a++ - --b * ++a / b-- >> 2 % a--;
C的值: 先取b的值为4,减1等于3
再取a的值为5,加1等于6
再取a*b的值=18
再将18/b(3)=6
将b的值减1=2
取a的值(6):2%6=2
取a的值(6)-1=5
取a的值(5)-6=-1
再将-1右移两位得c的值:-1
结论:--在后的运算:先取变量的值,进行运算,本层运算结束后再自减