求牛人解答一下,这个问题很懵逼,搞了一晚上,始终搞不懂是啥原理,括号在里面起作用嘛?
2条回答 默认 最新
- 老坛酸菜吃鸭子 2022-03-31 16:26关注
System.out.println(a+1+(++a)+ a++);
//分成三步[a+1] + [(++a)] + [a++]
//[a+1] 先执行a+1=8
//++a 先a=a+1再执行,此时a的值为8 再执行a++
//a++ 先执行再a=a+1,即此时a的值还是8,三个8相加得24
//那个括号在这里不是起到优先级的作用,是用来分隔加号的,主要搞清楚a++与++a的区别System.out.println(a+1+++a+(a++));这个输出语句中,你放到类中运行试试,是运行不了的,在数字1那里会报错 运算 ++/-- 的自变量无效,因为你根本无法判断那两个加号是属于谁的
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用