[第三章、Java基礎知識]第一節、數據類型

第一節、數據類型 [重點]
       一、 基本數據類型(base type)(即primitive data type:簡單數據類型)
               byte        8 位 ,有符號, byte類型變量值範圍: -2的7次方~2的7次方-1 默認值:0
               short      16位,有符號, 範圍: -2的15次方~ 2的15次方-1                     默認值:0      
          int           32位,有符號, 範圍: -2的31次方~2的31次方-1                     默認值:0
          long        64位,有符號, 範圍: -2的63次方~2 的63次方-1                     默認值:0L
                        float        32位,有符號, 範圍: 3.4E-038~3.4E+038                              默認值:0.0F
                       double    64位,有符號, 範圍: 1.7E-308~1.7E+308                                   默認值:0.0
                       char        16位,無符號, 範圍: 0~65536                                              默認值:'/u0000 '
                       boolean     1位, 值是 true 或者 false                                                         默認值:false
 
              程序中聲明不同類型變量的例子,注意標誌符命名規則,聲明爲final和static的變量的特點:
                     int abcd      
                     long _ab_cd;      //(1)Java中類、方法和變量的命名規則: 不能使用保留關鍵字,
                     byte $ab$cd;          // 必須以字母,下劃線和貨幣符號開頭,可以由這三種符號和數字組成
                     short $4a5b_;  
                     public byte a = 127;
                     protected int i = 100;
                     private long l = 20L;       // public、protected、private 是訪問修飾符,聲明變量的訪問控制
                     float f = 3.14F;         
                     double d = 3.14D; //此處D也可省略
                     final int ALL_CARS=100; //(2)聲明爲final的變量實質上是一個常數,它在實例中不佔
                                                               /用內存。爲final變量的所有字符選擇大寫是一個普遍的約定。
                     static float sf=3.14f; //(3)聲明爲static的變量實質上就是全局變量。當聲明一個有static
                                                   // 變量的對象時,並不產生static變量的拷貝,而是該類所有的
                                                  // 實例變量共用同一個static變量。
 
注意: long類型和float類型變量賦值時必須分別在值後加上L和F,不分大小寫,但爲清晰起
見一般使用大寫。  數字在默認情況下是int 數據類型,帶小數的數據默認是double型。
簡單數據類型不是類,它們不是對象層次結構的組成部分,它們通過值傳遞給方法而不能直接通過引用傳遞。
   * The Java programming language only passes arguments by value
      Java語言僅通過值傳遞
   * When a object instance is passed as an argument to a method, the value of the rgument
     is a reference to the object
                     當將一個對象實例作爲參數傳給一個方法時,參數的值是一個指向該對象的引用
                                * The contents of the object can be changed in the called method, but the object reference
                                  is never changed.
                     對象的內容可能被調用該對象實例的方法改變,但指向該對象的引用則不會改變
             二、其它數據類型(複合型數據)
字符串(String)  : 在Java中,字符串並不像char、int或float那樣是原始的數據類型,它是由類java.lang.String定義的,其中包括了許多對字符串進行操作的非常有用的方法。需要注意的是,Java中一旦創建了一個字符串對象(String),那麼該對象是不可改變的。例如你聲明瞭一個String對象:String s=“Hello”;然後你再進行操作: s=s+“ world!”; 這裏原先的字符串對象“Hello”是沒有改變的,只是新建了一個爲“Hello world!”的字符串對象,然後將指向這個新建對象的引用賦給s而已。你必須始終記住,任何一個對象變量只是指向創建的對象的一個引用,數組變量和對象變量也是如此。如果程序中不再使用到“Hello”字符串對象的話,那麼它就變成無用的對象(Java中稱爲垃圾),將由Java自動進行垃圾收集。
 
                     數組: (1)數組(array)是相同類型變量的集合。數組可以被定義爲任何類型,可以是一維
                                            或多維。
                    (2)聲明數組: 例:int[][][] a;long[] longArr;或另一種形式: int a[][][];long longArr[];奇怪的是,即使如下聲明也是正確的:long []test; int[]a; 中括號緊貼在變量前或int聲明、中括號和變量a 三者緊接也是正確的。 以上例子僅定義了一個數組變量,而實際的、物理上並不存在數組,你必須通過運算符new來爲其分配地址並且把它賦給數組變量。
(3)運算符new是專門用來分配內存的運算符。用new運算符分配數組後,基本數據類型數組中的所有元素會自動初始化爲該類型的初始值,String和class類型數組則會初始化爲null。例: int test[]=new int[10]; 這是一個類型爲int,size(大小,即元素個數)爲10的數組, test[]指向10個值爲0的整數。另外,請記住,Java中數組的元素是按照順序編號的,編號從0開始,一個數組元素的編號對應着這個元素,這個編號通常叫做索引(index)。如果你想訪問test[]數組中的第一個元素,那麼應該使用 test[0] 而不是test[1],當你使用test[10]時,則會出現運行時錯誤。
          
         類:
類是Java的核心和本質,它是JAVA語言的基礎,因爲類定義了對象的本性。也許理解類的最重要的事情就是它定義了一種新的數據類型。Java中使用關鍵字 class 來創建類。在類中,數據或變量被稱爲實例變量(instance variables),代碼包含在方法(methods)內。定義在類中的方法和實例變量被稱爲類的成員(members)。在大多數類中,實例變量被定義在該類中的方法操作和存取。這樣,方法決定該類中的數據如何使用。如HelloWorld類中的字符串變量s被設置爲private,外部代碼只能同過該類的“setString()”方法和“getString()”方法來設置和讀取s。
    Object類是Java定義的特殊的類,Java中所有其他的類都是Object類的子類,也就是說Object類是所有其他類的超類。類、接口和方法更詳細的內容請看第四節。
                           
              三、數據類型之間的比較
簡單數據類型使用“= =”兩個等號(相等運算符)來比較。而對象變量(引用類型)則可使用“= =”也可使用equals()方法來進行比較。      
使用簡單數據類型時,“= =”運算符檢查兩個值是否相等;而使用引用類型時,“= =”運算符比較對象變量(即對象引用)是否相等,而不是對象變量所指向的實際的對象或者數組。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章