javase基礎

Java中一共有8種基本類型,4種整型,2種浮點類型,1種用於表示Unicode編碼的單元的字符類型char,和boolean用於表示真值。express

4種整型 int 4字節short 2字節long 8字節 byte 1字節,2種浮點類型,float 4字節,double 8字節,另Java種沒有任何無符號類型。Float類型的數值後綴F,沒有後綴F的浮點數值默認爲double類型,也能夠在浮點數值後面添加D。安全

一個正整數除以0的結果爲正無窮大,計算0/0或者負數的平方根結果爲NaN。多線程

常量Double.POSITIVE_INFINITY,Double.NEGATIVE_INFINITY和Double.NaN,分別表示上述3個值,注意,不能檢測一個特定值是否等於Double.NaN:app

       if(x == Double.NaN) // is  never trueui

全部」非數值」的值都認爲是不相同的。然而可使用Double.isNaN方法:編碼

       If(Double.isNaN(x))//check whether x is 「not a number」線程

       浮點數值不適用于禁止出現舍入偏差的金融計算中,例如,命令System.out.println(2.0 – 1.1) 將打印出0.89999999999,而不是0.9,主要緣由是浮點數值採用二進制系統表示,而在二進制系統中沒法精確的表示分數1/10。code

       若是須要在數值計算中不含有任何舍入偏差,就應該使用BigDecimal類。對象

       在聲明變量時,除了不能講變量名命名爲Java保留字,能夠在一行中聲明多個變量,ci

int i,j //both are integers

不過不提倡這種風格,逐一聲明每個變量能夠提升程序的可讀性。另在Java中,不區分變量的聲明與定義。

       關鍵字final表示這個變量只能被複制一次,一旦被複制以後,就不能再次更改了,習慣上常量名使用大寫。在Java中,常常但願某一個能夠在一個類中的多個方法使用,一般將這些常量稱爲類常量。可使用關鍵字static final設置一個類常量。須要注意的是,類常量的定義位於main方法的外部,所以,在同一個類的其餘方法中也可使用這個常量,並且,若是一個常量被聲明public,那麼其餘類的方法也能夠是使用一個常量。

       const是Java保留的關鍵字,但目前並無使用,在Java中,必須使用final定義常量。

Java支持三元操做?: 在不少時候,這個操做很是有用。表達式

condition ?expression1 : expresssion2

當條件condition爲真時計算第一個表達式,不然計算第2個表達式。例如:

x < y ? x : y

返回x 和y中減少的那個值。

 

構建字符串

有些時候,須要由較短的字符串構建字符串,來自文件中的單詞,採用字符串鏈接的方式達到此目的效率比較低,每次鏈接字符串都會構建一個新的String 對象,既耗時,有浪費空間,使用StringBuilder類就能夠避免這個問題的發生。

若是須要用許多小段的字符串構建一個字符串,那麼使用StringBuilder更高效,構建一個空的字符構建器:

StringBuilder builder = new StringBuilder();

用append方法添內容

              Builder.append(「str」);

用他的toString方法,能夠獲得一個String 對象,其中包含了構造器中的字符序列。

       String str = builder.toString();

StringBuilder類的前身是StringBuffer,其效率略微有些低,但容許採用多線程的方式執行添加或刪除字符的操做。若是全部字符串都在一個單線程編輯,則應該使用StringBuilder替代它,這兩個類的API是相同的。另外,StringBuilder:線程非安全的StringBuffer:線程安全的。關於這兩個類的比較有不少文章都寫的很清楚,這裏就很少重複。
相關文章
相關標籤/搜索