什么是优先级
在我们很早接触到数学运算的时候,我们就知道要先算乘除,再算加减。也就是运算是有先后顺序的,这就是优先级,在程序中也是一样的,运算符是具有优先级的。
优先级的用途
如果,你能够熟练掌握优先级的话,那么可以写出非常漂亮的程序。
a == 1 and b == 2
(a == 1) and (b == 2)
比如说,如果你对优先级有所了解,那么很容易写出第一行这样的程序。但是如果你对优先级一无所知的话,那么可能写的程序就像是第二行,自然是没那么美观的。
即使你记不住运算符的优先级,也不要紧,大多数情况下,只要多使用括号,就可以解决这一问题了。多使用括号并没什么坏处,因此,如果你记不住运算符的优先级,那么你没有必要非要记住。
事实上,在大多数情况下,你如果真的非常了解运算符的优先级,写出了非常漂亮的程序,这种程序反而可能会给人造成困扰。因为,如果你的程序有阅读者的话,阅读的人很可能没办法像你一样熟练的掌握运算符的优先级,可能会给读者阅读的时候造成困扰。
同类运算符的优先级
算数运算符:乘,除,求余的优先级相同,高于加,减
自增自减运算符:后自增/自减的优先级,高于前自增/自减
赋值运算符:所有赋值运算符的优先级相同
逻辑运算符:逻辑非的优先级最高,其次是逻辑与,最后是逻辑或