1. 程式人生 > >JAVA-初步認識-第二章-算術運算符2續

JAVA-初步認識-第二章-算術運算符2續

再次 討論 參與 由於 變量 程序 強制 log 自身

一. 對自增運算符的再次認識

首先先明白一點,運算符是運算的符號化表示,每一種運算符的背後都代表著特定的運算。這些運算的形式是各種各樣的,在這裏我們將重新討論自增運算符,符號為++。

對自增運算符進行演示,結果如下:

我們開始設想的是自增運算是在自身數值的基礎上,進行常量的相加,這個常量可以不是1,當我們進行檢測時發現了錯誤。這裏的錯誤有兩個,自增運算是固定加一,且自增運算符的書寫是固定的,就是++不需要添加常量。

技術分享

技術分享

我們重新書寫了java源程序,用DOS檢測的結果為:

技術分享

二. 談論自增運算符參與復雜運算時的情況分析

技術分享

DOS的檢測結果顯示了精度缺失的錯誤。表明了我們對於java的默認類型規則掌握的還不是很熟悉。b*a++, 計算出來的結果默認的是int,當將結果賦值給一個byte類型時,當前的結果為12,雖談沒有超過byte的範圍,但是由於右側是變量進行的計算,因此,以後很有可能會超過byte定義的範圍,所以報告顯示“可能會有損失”。如果我們重新定義一個int c=1; c=b*a++; DOS結果顯示正常。如果是常量int類型,系統會自動判斷大小,然後進行強制類型轉換。如果是+=之類的運算符,系統也會自動判斷,強制轉換。

如果我們在主函數的範圍內,直接書寫byte a=3,b=4;和b*a++; 然後輸出b,DOS中將顯示b*a++不是語句。

JAVA-初步認識-第二章-算術運算符2續