《JAVA編程思想》閱讀筆記 第3章 操作符

創建 Random 類對象時如果沒有傳遞任何參數,則默認將當前時間作爲隨機數生成器的種子。如果希望總是生成相同的隨機數序列,則可以在創建對象時手動指定數字:Random rand = new Random(47);。也可以通過 調用 nextInt()、nextFloat()、nextLong()、nextDouble() 方法產生不同類型的隨機數。同樣,也可以給這些方法傳遞具體數值設置產生隨機數的上限:rand.nextInt(100);對於 nextInt() 方法而言,下限是0。

== 以及!= 比較的是對象的引用,如果要比較對象內容,則需要調用所有對象都具有的 equals() 方法。

java 中沒有直接用常量表示二進制數的方法,如果想要將數值以二進制的格式進行展示,可以調用 Integer 與 Long 類型的靜態方法 toBinaryString() 實現。需要注意的是,如果將較小的類型傳遞給 Integer 的 toBinaryString() 方法,則會被自動轉換爲 int 類型。

移位操作符可與等號組合使用(<<=,>>=,>>>=)。此時操作符左邊的值將移動由操作符右邊的值指定的位數(但 >>>= 的操作符可能會有如下問題:對 byte 以及 short 進行該運算,可能會出現錯誤的結果。因爲它們會先被轉換爲 int 類型,再進行右移操作,然後被截斷。此時可能得到 -1。)。

如果表達式以字符串開頭,則其後所有操作數都必須是字符串類型(編譯器會自動將“”內的內容自動轉換爲 String 類型)。“+”與“+=”用於進行字符串連接,有一個使用技巧是,通過與空字符串“ ”搭配,能夠進行 String 類型轉換而不必調用 toString() 方法(如print(“ ” + x);將 x 直接轉換爲字符串類型輸出。)。

java 允許將任何基本數據類型轉換爲其它基本數據類型,但是 boolean 與 class 除外。boolean 以及 class 類型不允許進行任何類型的轉換處理( 對象可在所屬類型的類族之間進行類型轉換。)。

float 與 double 轉換爲 int 類型時,會對數字執行截尾操作,即直接捨棄小數點後的數字。如果要得到舍入的結果,就必須使用 Math.round() 方法。基本數據類型執行運算時,char、byte、short (此三者進行復合賦值時不需要類型轉換) 會自動轉換爲 int。並且,最終結果的數據類型通常由表達式中最大的類型決定(對於 boolean 類型,不能進行任何運算操作,只能賦予 true 或 false)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章