System.out.println("5+5"+5+5); 结果是5+555
System.out.println("5+5"+(5+5));结果是105+5
System.out.println(5+5+("5+5"));结果是105+5 括号不能让字符串优先触发作用,那是不是括号只能提升运算优先级?
Java中括号是不是只能提示算数优先级
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 社区专家-Monster-XH 2023-02-21 14:46关注
基于Monster 组和GPT的调写:
是的,括号可以提升运算符的优先级,但不能改变运算符的结合性。在Java中,括号的作用是将其中的表达式优先计算,可以提高该表达式的优先级,但并不会影响该表达式的结合性。所以,对于表达式"5+5"+5+5,由于加法运算符的结合性是从左到右,所以首先计算"5+5"得到字符串"5+5",然后将该字符串与5相加得到字符串"5+5"+5,再将结果字符串"5+5"+5与5相加得到最终结果"5+555"。而在表达式"5+5"+(5+5)中,括号中的表达式(5+5)被优先计算,结果为10,再将结果10与字符串"5+5"相加得到字符串"5+510"。
在表达式5+5+("5+5")中,首先进行5+5的加法运算,得到10,再将结果10与字符串"5+5"相加得到字符串"105+5"。
因此,括号只能提升运算符的优先级,不能改变运算符的结合性。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 java在应用程序里获取不到扬声器设备
- ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
- ¥15 Attention is all you need 的代码运行
- ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
- ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
- ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
- ¥80 部署运行web自动化项目
- ¥15 腾讯云如何建立同一个项目中物模型之间的联系
- ¥30 VMware 云桌面水印如何添加
- ¥15 用ns3仿真出5G核心网网元