- 包裝類
基本數據類型不能調用方法,功能簡單,為了讓基本數據類型也具備對象的特性,Java為每個基本數據類型提供了一個包裝類,這樣就可以像操作對象那樣來操作基本數據類型。
基本類型和包裝類之間的對應關系:

包裝類主要提供了兩大類方法:
- 將本類型和其他類型進行轉換的方法
- 將字符串和本類型及包裝類互相轉換的方法
以Integer包裝類為例,介紹包裝類的特性:
Integer包裝類的構造方法

Integer包裝類的常用方法

- 基本類型和包裝類之間的轉換
以Integer為例。JDK1.5引入自動裝箱和拆箱的機制,使包裝類和基本類型之間的轉換更輕松了。
1.裝箱:把基本類型轉換成包裝類,使其具有對象的性質,分為自動裝箱和手動裝箱。
int i = 3;//定義一個int基本類型 Integer m = new Integer(5);//手動裝箱 Integer n = i;//自動裝箱
2.拆箱:把包裝類對象轉換成基本類型的值,分為手動拆箱和自動拆箱
Integer m = new Integer(5); int x = m.intValue();//手動拆箱 int y = m;//自動拆箱
- 基本類型轉換為字符串類型
1.使用包裝類的toString()方法
2.使用String類的valueOf()方法
3.用一個空字符串加上基本類型,得到的就是基本類型數據對應的字符串
int c = 12; String str1 = Integer.toString(c); String str2 = String.valueOf(c); String str3 = c + "";
- 字符串轉化成基本類型
1.調用包裝類的parseXxx靜態方法
2.調用包裝類的valueOf 方法轉換為基本類型的包裝類,會自動拆箱
String d = "13"; int i1 = Integer.parseInt(d); int i2 = Integer.valueOf(d);
- 使用Date和SimpleDateFormat類表示時間
處理日期和時間的相關數據,我們可以使用java.util包中的Date類。使用Date類的默認無參構造方法創建出的對象表示當前時間。
可以使用SimpleDateFormat類來對日期時間進行格式化,如可以將日期轉換為指定格式的文本,也可以將文本轉換為日期。
package cn.test; import java.text.SimpleDateFormat; import java.util.Date; import java.text.ParseException; public class Demo { public static void main(String[] args) { Date d = new Date(); System.out.println(d); //將日期轉換為指定格式的文本
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String today = sdf.format(d); System.out.println(today); //將文本轉換為日期
String day = "2017年03月27日 16:02:30"; SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); try{ Date date = df.parse(day); System.out.println(date); } catch (ParseException e) { System.out.println(e.getMessage()); } } }
運行結果:
Mon Mar 27 16:14:58 CST 2017
2017-03-27 16:14:58
Mon Mar 27 16:02:30 CST 2017
注意:調用SimpleDateFormat對象的parse()方法時可能會出現轉換異常,及ParseException,因此需要進行異常處理;使用Date類時需要導入java.util包,使用SimpleDateFormat時需要導入java.text包。
- Calendar類
Date類最主要的作用就是獲取當前時間,同時這個類里面也具有設置時間以及一些其他功能,但由於類本身設計的問題,不建議使用,推薦使用Calendar類進行日期和時間的處理。
java.util.Calendar 類是一個抽象類,可以通過調用 getInstance() 靜態方法獲取一個 Calendar 對象,此對象已由當前日期時間初始化,即默認代表當前時間,如 Calendar c = Calendar.getInstance();
package com.test; import java.util.Calendar; import java.util.Date; public class Demo { public static void main(String[] args) { Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH) + 1; int day = c.get(Calendar.DAY_OF_MONTH); int hour = c.get(Calendar.HOUR_OF_DAY); int minute = c.get(Calendar.MINUTE); int second = c.get(Calendar.SECOND); System.out.println("現在的時間是:" + year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second); } }
Calendar 類提供了getTime()方法用來獲取Date對象,完成Calendar和Date的轉換,還可以通過getTimeInMillis()方法獲取此Calendar的時間值,以毫秒沒單位。
package com.test; import java.util.Calendar; import java.util.Date; public class Demo { public static void main(String[] args) { Calendar c = Calendar.getInstance(); Date date = c.getTime(); Long time = c.getTimeInMillis(); System.out.println(date); System.out.println(time); } }
運行結果:
Mon Mar 27 22:02:55 CST 2017
1490623375468
- Math類
Math類位於java.lang包中,包含用戶執行基本數學運算的方法,Math類的所有方法都是靜態方法,所有可以直接使用類名.方法名,如:Math.round();
常用的方法:

