看板 java 關於我們 聯絡資訊
爬過文了 沒有找到我想要的答案 第一題 int i=3, j=5; i+=j-=2-1; 求i,j值 用java得到的答案是i=6,j=3 第二題 int i=3, j=3; i=--i+j+j--+j; 求i,j值 用java得到的答案是i=10,j=2 我想要用的是使用http://homepage.ttu.edu.tw/slhsieh/Java%20Programming/ch04.pdf 第40.41.42.43頁的邏輯理論來得到此兩題的答案 可是我一直想不通 像是第一題 不是應該減(-)的優先權比+=或-=高嗎? 會變成i+=j-=1; 可是單純從答案來看 i+=j-=2-1變成i=i+j,j=j-2即j=5-2=3,i=3+3=6,似乎沒有用到-1(這段是我純粹推測) 我知道實際上不太可能會寫成這麼畸形的程式碼 我只是想滿足我的求知慾 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.222.97 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1424109403.A.4FF.html
LPH66: 第一題應該是你執行的程式有錯, 我的結果是 7 4 無誤 02/17 02:12
LPH66: 第二題, ++ 跟 -- 的效果要結算完才會進入下一個運算元 02/17 02:13
LPH66: 所以這一大串最終結算是 2+3+3+2 = 10 02/17 02:14
LPH66: 是說這是你們老師出的題還是你自己隨便試的? 02/17 02:16
a3567152: 我看書籍上的練習 02/17 08:53
a3567152: 哈哈,所以以你的答案的話 02/17 08:55
a3567152: 那些運算先後順序就可以通了,感謝 02/17 08:57
cpper: 不要浪費生命做這種爛題目了,自己去寫個小專案才有意義 02/19 13:28
pupuliao: 這些題目根本有病,我都直接用 括號解決 02/20 01:34
pupuliao: 寫code應該以 簡單易懂為最高原則... 02/20 01:35
OrzOGC: 有病+1... 02/20 19:37
gt6174: 這種 code 用在 production 上會被罵吧 02/20 20:56
wuliou: 有人寫這種code, review的時候一定被罵翻… 02/21 01:39
longlongint: 沒有定義 02/21 08:07
yyc1217: 會寫出這種code的人根本就不該當programmer 02/21 11:37
KeySabre: 原po最後三行打完預防針 看來沒用 02/21 14:01
cha122977: 這題應該會考倒很多專業人士 因為根本不該這樣寫XD 02/23 11:43
cha122977: 為考試而出的題目:P 02/23 11:44
謝謝各位的意見~ ※ 編輯: a3567152 (114.25.56.102), 02/24/2015 09:37:58
realmeat: 因為每個語言會有他自己的定義, 看parser怎解釋 02/25 08:59
realmeat: 記這種東西很沒有意義 02/25 09:00
qrtt1: @cha122977 如果是做 compiler 跟研究 JLS 的專業人士 OK的 02/25 17:12
jej: 個人覺得很有意思耶 xxs的時候 半調子就看不懂 02/25 21:46
jej: 「Domain比較重要 」使得台灣突破不了冏境 02/25 21:50
Chikei: 原po很明顯不是參與java 9或是java toolchain的人士 02/26 00:33
Chikei: 那對他而言搞懂這有啥意義? 02/26 00:34
OrzOGC: 學校叫獸很愛出這種無聊題目啊... 02/26 00:45
longlongint: 沒有定義的行為 03/23 13:47