一、幾乎全部的操做符都只能操做「基本類型」。例外的操做符是「=」,「==」,「!=」,這些操做符能操做全部的對象,除此以外,String類支持「+」和「+=」。java
一、最簡單的規則是先乘除,後加減dom
二、用括號明確規定計算順序性能
一、右值能夠是任何常數,變量或者表達式(只要它能生成一個值就行)。但左值必須是一個明確的、已命名的變量。測試
二、別名現象大數據
class Tank{ int level; } public static void main (string[] args){ Tank t1 = new Tank(); Tank t2= new Tank(); t1.level = 9; t2.level = 47; print(t1.level);//9 print(t2.level);//47 t1=t2; print(t1.level);//47 print(t2.level);//47 t1.level=27; print(t1.level);//27 print(t2.level);//27 }
避免以上問題能夠用:t1.level =t2.level ;code
3.4.1 方法調用中的別名問題對象
將一個對象傳遞給方法時,也會產生別名問題:字符串
class Letter { char c; } public class PassObject { static void f(Letter y) { y.c = 'z'; } public static void main(String[] args) { Letter x = new Letter(); x.c = 'a'; print("1: x.c: " + x.c);//x.c: a f(x); print("2: x.c: " + x.c);//x.c: z } }
一、整數除法直接去掉結果的小數位,而不是四捨五入的圓整結果。編譯器
二、(1)Random類的對象。若是在建立過程當中沒有傳遞任何參數,那麼java就會將當前時間做爲隨機數生成器的種子,並由此在程序每一次執行時都產生不一樣的輸出。隨機數生成器對於特定的種子值老是產生相同的隨機數序列。string
(2)經過Random類的對象,程序可生成許多不一樣類型的隨機數,可調用如下方法: nextInt(),nextFloat(),nextLong(),nextDouble()
3.5.1一元加、減操做符
一、一元加好惟一地做用僅僅是將較小類型的操做數提高爲int
3.7.1測試對象的等價性
一、必須使用全部對象都適用的特殊方法equals()方法比較兩個對象的實際內容是否相同。但這個方法不適用於「基本類型」,基本類型直接使用==和!=便可。 (1)
public class EqualsMethod { public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.println(n1.equals(n2)); } } /* Output: true
(2)
class Value { int i; } public class EqualsMethod2 { public static void main(String[] args) { Value v1 = new Value(); Value v2 = new Value(); v1.i = v2.i = 100; System.out.println(v1.equals(v2)); } } /* Output: false
(3)以上的結果是由於equals()默認的行爲是比較引用。因此除非在本身的新類覆蓋equals()方法,不然不可能表現出咱們但願的行爲。
一、可將整數類型替換成布爾類型之外的其餘任何基本數據類型。
3.8.1短路
一、若是全部的邏輯表達式都有一部分沒必要計算,那將得到潛在的性能提高。
3.9.1指數計數法
編譯器一般會將指數做爲雙精度數處理。
一、按位操做:因爲位是很是「小」的,因此按位操做符僅使用了一個字符。
二、&=,|=,|=都是合法的
三、按位操做符具備與邏輯操做符相同的效果,只是他們不會中途「短路」
一、移位操做符只可用來處理整數類型。
3.15.1截尾和舍入
一、將float和double轉型爲轉型值時,老是對該數字執行截尾。若是想要獲得舍入的結果,就須要使用java.lang.Math中的round()方法。
3.15.2提高 一、表達式中出現的最大數據類型決定了表達式最終結果的數據類型。若是將一個float值與一個double值相乘,結果就是double。
一、由於全部數據類型在全部機器中的大小都是相通的。
一、若是兩個夠大的int值執行乘法運算,結果就會溢出。
二、除boolean之外,任何一種基本類型均可以經過類型轉換變爲其餘基本類型。