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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

三目運算符 表達式1?表達式2:表達式3

三目運算符 表達式1?表達式2:表達式3

桃花長相依 2018-12-06 16:37:29
?為啥是false呢? ?還有,double?s3?=?i<100?90:100.0;?????//不報錯int?s3?=?i<100?90:100.0;?????//報錯說明?這個三母運算符返回值是一個浮點數,而不再是原來的整型數90了這中間發生什么了
查看完整描述

5 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

  • 如果兩個操作數中有一個double類型,另一個操作數就會轉換為double類型。
  • 否則,如果其中一個操作數為float類型,另一個操作數就會轉換為float類型。
  • 否則,如果其中一個操作數是long類型,另一個操作數就會轉換為long類型。
  • 否則,兩個操作數都將被轉換為int類型。

  上面是轉換規則,你的三目操作符中有double類型的值,所以會轉換成double類型比較,最后得到的結果是s1="90",s2="90.0",調用equals后自然不等了。

按照上述轉換規則,int?s3?=?i<100?90:100.0; 返回的值是double類型的,賦值給int類型的s3可能損失精度,故報錯。

查看完整回答
反對 回復 2018-12-16
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

第二個報錯是因為你的90跟100.0類型不一致吧???如果一致,應該不報錯。。。

查看完整回答
反對 回復 2018-12-16
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

你直接輸出s1,s2不久知道了...

查看完整回答
反對 回復 2018-12-16
?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

s1和s2的類型不一致,肯定返回false啊

查看完整回答
反對 回復 2018-12-16
?
慕容森

TA貢獻1853條經驗 獲得超18個贊

類型不一致吧。所以會報錯吧。

查看完整回答
反對 回復 2018-12-16
  • 5 回答
  • 0 關注
  • 1194 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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