浪潮優派培訓Java筆記:第2章 數據類型

第2章 數據類型

Java中的數據類型劃分簡單數據類型複合數據類型

2.1 基本數據類型

八種基本類型:分爲4組

1.        整型:短整型(short)、整型(int)、長整型(long)、字節型(byte)。這些都是有符號的整數值。

2.        浮點型:單精度浮點型(float)、雙精度浮點型(double)。

3.        布爾型(boolean):有兩種值 “真”、“假”。

4.        字符型(char):代表數字或字母等字符集的符號。

2.1.1 整型

整型的長度和取值範圍

整數類型

位數

值的範圍(符號位佔1位)

byte

8位(1個字節)

-128到127 (-2 -- 2 -1)

short

16(2個字節)

-32768到32767 (-2 -- 2 -1)

int

32(4個字節)

-2 -- 2 -1

long

64(8個字節)

 

1.        Java語言的整型都是有符號的。

2.        Java語言的整型變量默認爲int型。

3.        long型常量一般以“l”或“L”結尾。例如:long a= -100L;

4.        只要整數表達式中包含byte/short/int和字面量(如2),都被升級爲int類型。例如:

byte a= 2; //這句沒錯

a=a+2;  //這種寫法錯誤,應改成:a=(byte)(a+2);進行強制類型轉換。同理short

5.        八進制整數:以0(零)開頭,如012表示十進制數10。

6.        十六進制整數:以0x(零x)或0X開頭,如0x123表示十進制數291。

7.        整數類型不依賴於操作系統,在任何平臺都有相同的長度和屬性。

2.1.2浮點型

浮點型的長度和取值範圍

浮點類型

位數

值的範圍

float

32(4個字節)

 

double

64(8個字節)

 

1.        在數字後面帶有F或f(float)、D或d(double),或者一個數字包括小數點或指數部分,則該數字爲浮點類型。

2.        十進制數形式:由數字和小數點組成,如0.123, 1.23, 123.0

3.        科學計數法形式:如:123e3或123E3,其中e或E之前必須有數字,且e或E後面的指數必須爲整數。

4.        float型的值,必須在數字後加“f”或“F”,如1.23f。例如:float a=1.2;這種寫法是錯誤的,應該寫成 float a=1.2f;或float a=1.2F;

5.        當聲明浮點型的變量時,默認爲double型。所以變量都用double型。

6.        當精度比較高,數值比較大時用double,而且double在CPU上處理速度更快,所以Sin()等函數返回的都是double型。

7.        浮點型也是平臺無關性的。在任何操作系統上都有相同的長度和取值範圍。

     float f=900.09f;//正確

     float f=900.09;//錯誤,字面量自動擴展爲double

     float f1=5;//正確,爲什麼?(5字面量是int型的,int型可以自動轉換爲float型的)。

       【練習題】Whichthree are valid declaraction of a float?

   A.float foo=-1;       B. float foo=1.0;      C. float foo=42e1;

   D.float foo=2.02f;    E. floatfoo=3.03d;    F. float foo=0x0123;

【Answer】:A,D,F 【分析】:B錯誤,因爲1.0在Java中是double類型的,C,E錯誤同樣道理,都是double類型的。

2.1.3 字符型

1.        Java語言裏char的表示範圍爲0到65536,包含了ASCII碼(表示範圍爲0到127)。

2.        字符常量是用單引號括起來的一個字符,如'a','A';

3.        字符型變量: 類型爲char,它在機器中佔16位 ,其範圍爲0~65535。

字符型變量的定義如:char c='a';  /*指定變量c爲char型,且賦初值爲'a'*/

2.1.4 布爾型

1.        在Java中,布爾型數據只有兩個值true和false,且它們不對應於任何整數值(不對應0或1!

2.        布爾型變量的定義如:boolean bl1=trueboolean bl2=false;

3.        boolean值只能做布爾運算

4.        Java中整型的1和0不能作爲布爾值,而有些語言如C,C++,JavaScript是可以的。

===========================================================================

下面是總結變量聲明的方式:

public class DataType {

    public static void main(String[]args){

       int x,y;   // 定義x,y兩個整型變量

       x = 12;

       y = 300;

       float z = 1.234f; // 指定變量z爲float型,且賦初值爲1.234

       double w = 1.234;

       boolean state = true;

       char c ;

       c = 'A';

       String str;

       str = "byte";

       String str1 ="HI";

       }

}

 Java中,單個字符用單引號,字符串用雙引號。

2.1.5簡單數據類型中各類型數據間的優先關係和相互轉換

       1.不同類型數據間的優先關係如下:

       低------------------------------------------->高

       byte,short,char->int -> long -> float -> double

       2.自動類型轉換規則

       整型、實型、字符型數據可以混合運算。運算中,不同類型的數據先轉化爲同一類型,然後進行運算,轉換從低級到高級;

   3.  強制類型轉換

        高級數據要轉換成低級數據,需用到強制類型轉換。     如:

    int i;

    byte b=(byte)i; /* 把int型變量i強制轉換爲byte型 */

【習題】

l  一個函數定義的返回值是float,它不能在return語句中返回的值的類型是(  )

    A.char              B.float        C.long         D.double

    答案:D

2.1.6 常量和變量

     常量:用關鍵字final來實現。如:final int NUM=100; 注意:常量名全部大寫!

     變量的初始化

      每個變量都必須有初始值;

      變量的初始化分顯式和隱式

     顯式是指由用戶初始化或表達式賦值的初始化。如:局部變量

     隱式是指系統自動賦給缺省值。如:類變量、實例變量(類屬性)、數組成員

     例:指出程序中的錯誤,並說明原因。然後修改程序。思考該題說明了什麼問題。

  class AA {

    int num;

    void test() {

       int j;

       j = j + num;

    }

}

局部變量j未初始化;int j=0;

每個變量都必須有初始值,局部變量必須顯示初始化,即由用戶初始化或表達式賦值初始化。   類變量的初始化可以是隱式的,即系統自動賦給默認值。其中num是類變量,j是局部變量。

      關於變量作用域的說明:

       注意:在一個確定的域中,變量名應該是唯一。

       類變量:類變量在類中聲明,而不是在類的某個方法中聲明,它的作用域是整個類。

方法參數:方法參數傳遞給方法,它的作用域就是這個方法。

異常(Exception)處理參數:異常處理參數傳遞給異常處理代碼,它的作用域就是異常處理部分。

2.2 複合數據類型

Java中的複合數據類型包括class、interface、數組(Array)。

發佈了40 篇原創文章 · 獲贊 39 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章