Re: [問題] + 的問題

看板java作者 (小安)時間18年前 (2006/03/09 23:35), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/5 (看更多)
※ 引述《seekyou (galagala~￾N )》之銘言: 我想你可能有些誤會了 所以我重新寫個例子提供你參考 int a = 5; System.out.print("a = " + a); 這樣執行結果會是: a = 5 書本上說 + 是用來連接印出的資料, 但其實應該說的更精確些。 System.out.print() 所能接受的參數是 "一個" String(字串), (當然,有可能是其他參數,但是這裡先不提) 而 "a = " + a 的前半段 "a = " 是一個 String, 後半段 a 卻是一個 int, 經由 + 這個運算子,會形成一個新的 String,也就是 "a = 5"。 現在看下一個例子 int a = 5; System.out.print("2*a = " + a + a); 我期望程式要印出 2*a = 10 , 但是實際執行的結果卻是 2*a = 55 , 哪裡出了問題呢? 原來是在 compile 時,"2*a = " + a 會先被處理, 也就是形成新的 String: "2*a = 5", 於是新的式子變成 "2*a = 5" + 5 所以結果自然就變成了 2*a = 55 。 所以在這種情況下,如果你希望 a+a 能夠先被處理,就必須加上括號。 "2*a = " + (a + a) 至於你程式所出現的錯誤訊息, 只是你的 括號 或著 引號 沒有成對,導致 compiler 不知道怎麼處理罷了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.131.69.23
文章代碼(AID): #1444ia8Z (java)
討論串 (同標題文章)
文章代碼(AID): #1444ia8Z (java)