亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

System.out.println(a&&b +"未通過");為什么不行啊?原文為什么還要再用個括號啊

System.out.println(a&&b +"未通過");為什么不行啊?原文為什么還要再用個括號啊

正在回答

4 回答

不加括號的話 系統會認為+是 算數運算符的+ 而不是 連接字符串和變量的連接符 ?

這樣 b+"未通過" 編譯不能通過

?還有要說的是算術運算符+的優先級高于邏輯運算符&& 所以才要用優先級更高的()來將他們括起來

3 回復 有任何疑惑可以回復我~
#1

無名小人 提問者

謝了哈!可是我還是有點不懂啊,比如說(a+"b)就可以啊,系統是怎么判斷是算數運算符還是連接符呢?
2015-10-05 回復 有任何疑惑可以回復我~
#2

無名小人 提問者 回復 無名小人 提問者

好吧,是(a+"b"),a是變量
2015-10-05 回復 有任何疑惑可以回復我~
#3

天啟之魂 回復 無名小人 提問者

算數運算符的+ 的兩側都要求是數值型的數據 你給個字符串肯定就是連接符了
2015-10-05 回復 有任何疑惑可以回復我~
#4

無名小人 提問者 回復 天啟之魂

那"未通過" 也是字符串啊
2015-10-05 回復 有任何疑惑可以回復我~
查看1條回復

樓上的哥們講解得很清楚了??! 算數運算符 + 的優先級是比邏輯運算符 && 的優先級要高的。所以,如果在你的輸出語句中不加括號的話,編譯器會先算 b+“未通過”,之后在進行&&的邏輯運算,這是不符合你的本意的。因此,需要用()來改變運算次序。

2 回復 有任何疑惑可以回復我~

有人在嗎?

0 回復 有任何疑惑可以回復我~

有沒有懂的啊

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

System.out.println(a&&b +"未通過");為什么不行啊?原文為什么還要再用個括號啊

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號