JAVA(雜記一)

    最後還是迫於現實(實習項目)要學JAVA(#——# 其實我想學學C#),好吧廢話就不多說了

    JAVA的8種基本類型:

    1.  整型  

    byte(1字節,-128~127)   short(2字節,-32768~32767)

    int(4字節,-2147483648~2147473647,20億左右)

    long(8字節,-9223372036854775808~9223372036854775807,92億億左右)

  • JAVA沒有任何的unsigned類型


    2.  浮點型

    float(4字節,有效位數爲6~7位)

    double(8字節,有效位數爲15位)

  • 浮點型還有3個特殊值,無窮大,無窮小和NaN,檢測是否爲NaN應該使用if(Double.isNaN(x))
  • 另,由於二進制的緣故,浮點數計算會出現誤差,如10個0.1相加結果是9.999....,在判斷相等時應當取兩數相減的絕對值,判斷是否小於一個較小的數(如1e-6,1e-9)


    3.  字符型

    char(2字節,\u0000~\Uffff)

  • JAVA採用的是Unicode編碼,不同於C/C++的ASCII,因此JAVA中1個char變量也可以存儲一箇中文啦,不過貌似還有個碼點的東西,具體麼看懂(=-=)


    4.  布爾型

    boolean(4字節,false和true)

  • 注意是boolean不是bool
  • 其實很不理解爲啥要4個字節,明明1個bit就夠了,查了下是這樣解釋的
  • 理由來源是《Java虛擬機規範》一書中的描述“雖然定義了boolean這種數據類型,但是隻對它提供了非常有限的支持。在Java虛擬機中沒有任何供boolean值專用的字節碼指令,Java語言表達式所操作的boolean值,在編譯之後都使用Java虛擬機中的int數據類型來代替,而boolean數組將會被編碼成Java虛擬機的byte數組,每個元素boolean元素佔8位”。這樣我們可以得出boolean類型佔了單獨使用是4個字節,在數組中又是1個字節”。

---------------------------------------------------------------------------------------------------------------------------

  • JAVA中變量若只聲明而未初始化或賦值,則不能夠使用
  • Eclipse快速打印System.out.println()的方法是 "syso"+"alt+/"+"回車"
  • Eclipse快速打印Scanner的方法是 "sc"+"alt+/"+"回車"
  • Eclipse單/多行註釋或取消註釋“//”,選中註釋區域,按"ctrl+/";類註釋先打“/**”,再回車即可

---------------------------------------------------------------------------------------------------------------------------

  • JAVA中的const是保留字,不能使用,設置常量使用final
  • 一般常量名全大寫表示
  • public class Main 
    {
    	public static final double PI = 3.1415926;	//可在多個方法中使用
    	public static void main(String[] args) 
    	{
    		final int N = 32;	//僅在該類中使用
    		
    	}
    }

---------------------------------------------------------------------------------------------------------------------------

  • 移位運算符  <<,>>,<<<
  • 其中右操作數都先完成了模32(若左操作數是long則模64)運算,因此1<<35等價於1<<3
  • >>使用符號位填充,>>>使用0填充

---------------------------------------------------------------------------------------------------------------------------

  • enum枚舉類型只能定義在頂級類
public class Main
{
    enum Size{S,M,L,LL};
    public static void main(String[] args)
    {
        //    不能在此處定義enum
        Size size = Size.S;
        switch(size)
        {
            case S:
                ;
            case M:
                ;
            case L:
                ;
            case LL:
                ;
            default:
                ;
        }
        
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章