1、Java APIhtml
Java API簡介java
一、API (Application Programming Interface) 應用程序接口編程
二、Java中的API,就是JDK提供的各類功能的Java類api
三、JDK幫助文檔 JAVA_API_CN.chm 官網地址http://www.oracle.com/technetwork/java/api-141528.html數組
如:安全
java.lang
Java語言包(包含String、Math、System等類),任何類中,該包中的類都會被自動導入。
java.util
包含一些實用的工具類( 包含 list, calendar, date等類)
java.awt
圖形用戶界面包。
java.io
提供多種輸入/輸出功能的類。網絡
java.net
提供網絡應用功能的類。oracle
2、Object編程語言
(一)Object介紹及方法工具
一、Object類是全部類的超類, Object是Java語言中惟一一個沒有父類的類。
二、一個類能夠不是Object類的直接子類,但必定是Object類的子類,Java中的每個類都是從Object擴展來的。
三、在Object類中定義的方法,在全部類中均可以使用。
(二)Object 類經常使用方法
一、public boolean equals(Object obj): 比較兩個對象引用的值是否相等(比較地址)。指出調用該方法的對象是否與obj對象相等。即地址是否相等。
二、public int hashCode():該方法返回對象的哈希碼,哈希碼是一個表明對象的十六進制整數,比做對象的身份證號。在程序運行期間,每次調用同一個對象的hashCode()返回的哈希碼一定相同,可是屢次執行同一個程序,程序的一次執行和下一次執行期間同一個對象的哈希碼不必定相同。實際上默認的哈希碼是將對象的內存地址經過某種轉換獲得的,因此不一樣對象會有不一樣的哈希碼
三、public String toString():返回 類名@hashcode ;事實上返回這樣的字符串沒有什麼實際的意義。通常子類都會覆蓋該方法,讓它返回有意義的文本。
3、equals() 與 ==的區別
理解equals()方法和==運算符的區別是很是重要的。
默認狀況下(即沒有被重寫時)equals()只能比較引用類型,"=="既能比較引用類型又能比較基本類型。
equals()方法從Object類繼承,即比較對象引用的值
通常都被子類方法覆蓋,再也不比較引用的值
"=="運算符:
比較基本數據類型:至關於算術等號
比較引用數據類型:比較引用的值,不能被覆蓋。
4、包裝類
一、Java編程語言不把基本數據類型看做對象。Java 編程語言提供包裝類來將基本數據類型看做對象。
二、在功能上包裝類可以完成數據類型之間(除boolean)的相互轉換,尤爲是基本數據類型和String類型的轉換。
三、包裝類中包含了對應基本數據類型的值,封裝了String和基本數據類型之間相互轉換的方法,還有一些處理這些基本數據類型時很是有用的屬性和方法。
(一)包裝類簡介
基本數據類型不是對象層次結構的組成部分。有時須要像處理對象同樣處理這些基本數據類型,可經過相應的「包裝類」來將其「包裝」 。
(二)字符串與基本數據類型、包裝類型轉換圖
一、基本數據類型轉換爲包裝類
int pInt = 500;
Integer wInt = new Integer(pInt);
二、字符串轉換爲包裝類
字符串經過構造方法轉換爲包裝類
String sInt = 「500」;
Integer wInt = new Integer(sInt);
字符串經過包裝類的valueOf(String s)轉換爲包裝類
String sInt = 「500」;
Integer wInt = Integer.valueOf(sInt);
注意:字符串不能經過以上兩種方式轉換爲Character
三、包裝類轉換爲基本數據類型
包裝類經過xxxValue()方法轉換爲基本數據類型
Integer wInt = new Integer(500);
int pInt = wInt.intValue();
四、包裝類轉換爲字符串
包裝類經過toString()方法轉換爲字符串
Integer wInt = new Integer(500);
String sInt = wInt.toString();
五、字符串轉換爲基本數據類型
字符串經過parseXXX(String s)方法轉換爲基本數據類型
String sInt = 「500」;
int pInt = Integer.parsetIInt(sInt);
(三)自動的裝箱和自動拆箱
一、在進行基本數據類型和對應的包裝類轉換時,系統將自動進行
二、JDK自從5.0版本後引入
三、方便程序的編寫
int pInt = 500;
Integer wInt = pInt;
int n = wInt;
5、字符串類
一、字符串表現形式能夠分爲兩種:String和StringBuffer。
二、不屬於8種基本的數據類型,而是一種引用類型。
三、String對象表明一組不可改變的Unicode字符序列,對它的任何修改實際上又產生一個新的字符串,String類對象的內容一旦被初始化就不能再改變。
四、StringBuffer對象表明一組可改變的Unicode字符序列。
五、String類是final類型的類。
(一)String 對象的建立
String類的構造方法
一、初始化一個新建立的 String 對象,它表示一個空字符序列。
String 變量名 = new String () ;
二、初始化一個新建立的 String 對象,表示一個與該參數相同的字符序列
String 變量名 = new String (String value) ;
三、分配一個新的字符串,它包含當前包含在字符串緩衝區參數中的字符序列。
String 變量名 = new String (StringBuffer buf) ;
四、字符串文字常量自己是一個String對象
String 變量名 = 「hello」 ;
五、初始化一個新建立的 String 對象,經過使用指定的charset 解碼指定的 byte 數組
String 變量名 = new String(byte[] bytes, String charsetName);
六、初始化一個新建立的 String 對象,經過使用指定的 charset解碼指定的 byte 子數組,構造一個新的 String
String 變量名 = new String(byte[] bytes, int offset, int length, Charset charset);
七、鏈接操做符「+」,能夠將其它各類類型的數據轉換成字符串,並先後鏈接成新的字符串
String str1 = 「hello 」;
String str2 = 「world」;
String str = str1 + str2; //str爲「hello world」;
(二)String 類的轉換
(三)String 類中經常使用的方法
(四)StringBuffer 類
StringBuffer類用於內容能夠改變的字符串
可使用StringBuffer來對字符串的內容進行動態操做,不會產生額外的對象
(五)StringBuffer 對象的建立
一、構造一個其中不帶字符的字符串緩衝區,其初始容量爲 16 個字符
StringBuffer 變量名 = new StringBuffer () ;
二、構造一個不帶字符,但具備指定初始容量的字符串緩衝區。
StringBuffer 變量名 = new StringBuffer (int capacity ) ;
三、構造一個字符串緩衝區,並將其內容初始化爲指定的字符串內容。
StringBuffer 變量名 = new StringBuffer (String value) ;
(六)StringBuffer 類中經常使用的方法
(七)==
在比較基本數據類型時,比較的是值
在比較引用數據類型時,比較的是地址
(八)equals
原生的(未被重寫的)equals方法底層就是==,即比較兩個對象的值,一般用來判斷兩個對象是否爲同一個對象,返回值爲true兩個對象就爲同一對象,當Object的子類重寫之後就具備了其餘功能,equals方法不能用來比較基本數據類型
(九)hashcode
hashcode(哈希碼)哈希表記錄每一個對象存儲的位置,所以能夠將哈希碼做爲對象內存地址的表示,一般用hashcode去比較兩個對象是否不是同一個對象,若是hashcode不一樣兩個對象就不是同一個對象
(十)問:爲啥不用hashcode比較兩個對象是否爲同一個對象
答:存在hashcode相同,equals返回結果爲false的狀況
(十一)String、StringBuffer、StringBuilder
String不可變字符序列
StringBuffer、StringBuilder可變字符序列
StringBuffer線程安全可是效率低,較早引入
StringBuilder線程不安全可是效率高,較晚引入
6、Math 類
Math類提供了大量用於數學運算的方法
Math類是final類,所以不能從Math類繼承
Math類中的方法都是static方法,所以沒必要建立Math類的對象就能夠直接使用該類的方法
(一)Math 類中的常量
public static final double PI
public static final double PI
(二)Math 類中的經常使用方法
7、日期類
(一)Date 類
java.util.Date。
Date 類表示指定的時間信息,能夠精確到毫秒。
不支持國際化。
該類的許多方法已過期
獲取當前系統時間:
new Date();
(二) Calendar 類
一、java.util.Calendar。
java.util.GregorianCalendar
二、經常使用的日期處理的對象。能夠設置本身的時區和國際化格式。
三、是一個抽象類。
四、Calendar 抽象類定義了足夠的方法,讓咱們可以表述日曆的規則 。
五、獲取Calendar對象的實例
Calendar c = Calendar.getInstance();
六、設置Calendar實例所表示的時間:
c.set(2011,6,16);
七、獲取指定的時間屬性
c.get(Calendar.YEAR);
(三)Calendar 類經常使用屬性