一、八大基本數據類型
八大基本數據類型包括:整數類型(byte、short、int、long),浮點類型(float、double),字符類型(char),布爾類型(boolean)
byte:8位,占用空間為1字節,最多存儲數據量是255,存放的數據范圍為-128~127之間。
short:16位,占用空間為2字節,最大數據存儲量為65536,數據范圍為-32768~32767。
int:32位,占用空間為4字節,最大數據存儲量為232-1,數據范圍為-231~231-1。
long:64位,占用空間位8字節,最大數據存儲量為264-1,數據范圍為-263~263-1。
float:32位,占用空間為4字節,數據范圍為3.4e45~1.4e38,直接賦值時必須在數字后加上f或F。
double:64位,占用空間為8字節,數據范圍為4.9e324~1.8e308,賦值時可以加d或D,也可以不加。
boolean:占內存1字節,可存儲true與false兩個數值,分別表示邏輯的真與假。
char:16位,存儲Unicode碼,用單引號賦值。
范圍從小到大依次為:byte、short、char、int、long、float、double
二、包裝類
2.1 Java為每種基本數據類型分別設計了對應的類,稱之為包裝類。
基本數據類型 | 對應的包裝類 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
每個包裝類的對象可以封裝一個相應的基本數據類型的數據,並提供了其他一些有用的方法。包裝類對象一經創建,其內容不可改變。
基本數據類型與包裝類的相互交換:
由基本數據類型向對應的包裝類轉換稱為裝箱,例如把int包裝成integer類的對象。
由包裝類相對應的基本數據類型轉換稱為拆箱,例如把integer類的對象重新簡化為int。
2.2 包裝類的應用
1)實現int和integer的相互轉換
可以通過integer類的構造方法將int裝箱,通過integer類的intValue方法對integer拆箱。
1 public static void main(String[] args) { 2 int m = 500; 3 Integer iobj = new Integer(m); 4 int n = iobj.intValue(); 5 System.out.println("n=" + n); 6
7 Integer iobj2 = new Integer(500); 8 System.out.println("iobj 等價於 obj2 ?" + iobj.equals(iobj2)); 9 } 10 /*
11 n=500 12 iobj 等價於 obj2 ? true 13 */
2)將字符串轉換為整數
integer類有一個靜態的parseInt()方法,可以將字符串轉換為整數。
語法為parseInt(String s,int radix);其中s為要轉換的字符串,radix為進制(默認為十進制)。
1 public static void main(String[] args) { 2 String str[] = {"123", "123abc", "435ssA", "abcxyz", "aa", "a"}; 3 for(String elemStr : str){ 4 try{ 5 int iNumber = Integer.parseInt(elemStr, 10); 6 System.out.println("ok."); 7 }catch(Exception e){ 8 System.out.println("can not cast to int type."); 9 } 10 } 11 }
3)將整數轉換為字符串
integer類有一個靜態的toString()方法,可以將整數轉換為字符串。
1 int myIntValue = 999; 2 String intStr = Integer.toString(myIntValue); 3 System.out.println("value is " + intStr); 4 // value is 999
三、自動拆箱和裝箱
自動拆箱:對象轉換成基本數值
自動裝箱:基本數值轉換成對象
1 int m = 500; 2 Integer obj = m; 3 int n = obj; 4 System.out.println("n = " + n); 5 Integer obj1 = 500; 6 System.out.println("iobj 等價於 obj2 ?" + obj.equals(obj1)); 7 /* n = 500 8 iobj 等價於 obj2 ?true 9 */
四、小結
1.常用方法
1 public int parseInt(String str):把字符串轉成基本類型int 2 public static String toString(int x):把基本類型int轉成字符串 3 public static Integer valueOf(int x):把基本類型i字符串轉成Integer對象 4 public int intValue():以 int類型返回該包裝類對象的值
2.System類:系統屬性信息工具
1 public static long currentTimeMillis():獲取當前系統時間與1970年01月01日00:00點之間的毫秒差值 2 public static void exit(int status):用來結束正在運行的Java程序。參數通常傳入0記為正常狀態,其他為異常狀態 3 public static void gc():用來運行JVM中的垃圾回收器,完成內存中垃圾的清除。 4 public static String getProperties():用來獲取系統屬性信息
3.Arrays類:數組操作工具類
1 public static void sort方法,用來對指定數組中的元素進行排序(元素值從小到大進行排序) 2 public static String toString方法,用來返回指定數組元素內容的字符串形式 3 public static void binarySearch方法,在有序數組中,查找給定元素值出現的位置。若沒有查詢到,返回位置為插入點-1。
4.Math類:數字運算工具類
1 abs方法,結果都為正數 2 ceil方法,結果為比參數值大的最小整數的double值 3 floor方法,結果為比參數值小的最大整數的double值 4 max方法,返回兩個參數值中較大的值 5 min方法,返回兩個參數值中較小的值 6 pow方法,返回第一個參數的第二個參數次冪的值 7 round方法,返回參數值四舍五入的結果 8 random方法,產生一個大於等於0.0且小於1.0的double小數