L2R: , R2L: = += -= *= **= /= %= &= |= ^= <<= >>= L2R: || L2R: && L2R: == != < <= > >= L2R: | L2R: ^ L2R: & L2R: << >> L2R: + - (binary minus) L2R: * / % R2L: ! - (unary minus) L2R: () [] . line numbers are precedence values higher values mean higher precedence