1. Java API(ApplicationProgramming Interface,API)是Sun公司開發的Java程式類庫,提供給Java程式員使用的平台和工具。利用這些類庫中的類和介面可以方便地實現程式中的各種功能。
2.Java包的分類
µ Java的核心包(Java core package)
µ Java的擴充包(Java extension package)
¯ 常用的Java核心包
µ java.lang包:Java語言套件,主要包含與語言、資料類型相關的類。程式運行時,編譯器自動引入該包
µ java.awt包和javax.swing包:提供了建立圖形介面元素的類,通過這些類,可以控制應用程式的外觀介面
µ java.io包:Java輸入/輸出包,包含與輸入和輸出操作相關的類,提供了對不同的輸入/輸出裝置讀寫的支援
µ java.util包:公用程式包,提供實現不同功能的類。
µ java.net包:Java網路包,提供與網路操作相關的類
µ java.sql包:包含了與資料庫編程相關的類/介面
注意:除了java.lang包中的類系統自動引入外,若要使用其他包中的類,應在程式的開始部分引入相應的包。
例如: import java.io.*; import java.util.Date;
3. java.lang.Object類
java.lang.Object類是所有Java類的最高層次父類。
µ 屬性:沒有定義任何屬性
µ 方法
(1).String toString() :返回當前對象的有關資訊(對象所屬的類型名稱以及對象的雜湊碼)
可以根據需要在自己定義的Java類中重寫toString()方法,以提供更適用的說明資訊。
注意:
System.out.println(o.toString());
System.out.println(o); 兩者等價。。。
即 Object中的toSring方法是把對象轉成字串輸出(帶雜湊碼),輸出時:System.out.println(o);與System.out.println(o.toString())效果一樣。
(2).boolean equals()方法:用於比較兩個對象是否等價。對於非Null 參考值來說,只有當這兩個引用變數是對同一個對象的引用時,該方法才返回true。(可以被子類重寫,尤其注意被lang包下的String類重寫的,可以比較內容)
注意:equals()方法在比較一些特定的參考型別(如String、java.io.File、java.util.Data以及封裝類等)資料時,只要兩個對象等價即返回為true。
String變數賦值內容相同的話,在記憶體中將只儲存一份。
例如:(1)String s1="abc"; String s2="abc"; //s1和s2指向同一對象 ;System.out.println(s1==s2); //結果為true
System.out.println(s1.equals(s2)); //結果也為ture;
(2)String s1=new String(“abc”); String s2=new String(“abc”); // s1和s2指向不同對象System.out.println(s1==s2); //結果為false
System.out.println(s1.equals(s2)); //結果為ture;
(3).hashCode()方法:返回當前對象的雜湊碼(HashCode)。
雜湊碼可以理解為系統為每個Java對象自動建立的整型編號,任何兩個不同的Java對象的雜湊碼一定不同,而在Java程式的一次執行期間,在同一對象上多次調用hashCode()方法時,必須一致返回相同的整數。
4. 字串相互關聯類型
µ java.lang.String:表示的是16位Unicode編碼字元組成的字串,用於記錄和操作文本資訊。
µ 注意:String類的對象一經建立,其內容不可改變。前面提到的有關方法均會建立並返回一個新的String對象
(1).構造方法
public String() ;初始化一個新建立的String方法,表示一個空的字串序列(“”),也稱空串。
public String (byte[] bytes);使用當前平台的預設字元集(所在作業系統中檔案系統的預設字元集)解碼指定的位元組數組,並將其解析出來煩人字元按照原來的順序構造一個新的String對象。
public String(char[] value);複製字串value的內容,構造新的String對象,建立後對字元數組的修改不會影響新建立的字串。
public String(String original) ;用已有的String對象Original初始化一個新的String對象實現String對象的複製功能。
public String(StringBufferstringBuffer) ;使用對象stringBuffer的內容,構造新的String對象,建立後對stringBuffer對象的修改不會影響新建立的字串。
(2).其它方法
***提供字串串連、轉換和截斷功能
public String concat(String str):實現字串串連功能。
public String replace(char oldChar,charnewChar):字串內容替換,new換old。
public String subString(int beginIndex)和public String subString(int beginIndex,int endIndex):提取字串。
public String toLowerCase():將字串全部轉換為小寫,組成一個新的字串。
public String toUpperCase():將字串全部轉換為大寫,組成一個新的字串。
public String toLowerCase():過濾字串開頭和尾部的空格。
***檢索和尋找功能
Public char charAt(int index):返回指定索引位置的字元。
Public boolean endsWith(String suffer):判斷當前字串是否以指定的字串結尾。
Public booleane startsWith(String suffer):判斷當前字串是否以指定的字串開頭。
Public int indexOf(int ch)和Public int indexOf(String str):尋找指定的字串或字串在當前字串中的出現的索引位置(下標)。
Public int lastIndexOf(int ch)和Public int lastIndexOf(String str):尋找指定的字串或字串在當前字串中的最後一次出現的索引位置(下標)。
Public int length():返回字串長度,即其所包含的字元個數。
***內容比較功能
Public boolean equals(Object anObject):比較當前字串與指定對象的等價性。
Public boolean equalsTgnoreCase(String anString):比較兩個字串的內容是否相同,忽略大小寫。
Public int compareTo(String anString):按字典順序比較個字串的大小。
***拆分字串
Public String[] split(String regex):根據Regex(即給定運算式的匹配)拆分字串。
5. 我們經常需要對字串的內容進行修改,使用String類型不是不可以,但的確效率不高(因為其對象一經建立內容便不可改變,就只能不斷的建立新對象並銷毀舊的對象)這種情況下java.lang.StringBuffer就比較合適了。java.lang.StringBuffer類:表示的是內容可以修改的Unicode編碼的字元序列,其對象建立之後,所儲存的字串內容和長度均可以修改。實際上每個StringBuffer都擁有一個可變容量的字串緩衝區,該區(佔用的記憶體大小或說可以容納字元的數量)容量可以隨著內容的增加自動擴充,也可以直接設定。
構造方法:
public StringBuffer() :構造一個不帶字元的字元緩衝區,初始容量為16.
public StringBuffer(int capacity) :構造一個不帶字元,但具有指定初始容量的字串緩衝區。
public StringBuffer(String str) :構造一個字串緩衝區,並將其內容初始化為指定的字串內容。
常用方法:
append() :向字串緩衝區追加資訊。該方法有多種載形式,可將任何類型的參數值轉化成String類型,然後追加到緩衝區中原有字元序列的尾部。
insert() :將參數值轉化成String類型 形式插入到當前字元序列的指定位置。與append()類似,也有有多種載形式。
Public SringBuffer reverse() :將當前的字元序列進行反轉(逆轉)處理。
Public voidsetCharAt(int index,char ch) :設定字元序列中指定索引處的字元。
6. java.lang.StringTokenizer類 (非書上內容):將當前字串按照預設或指定的分隔字元(即分隔標記)分解為多個片段。也可使用String類的split()方法將已有字串進行分隔
ü 構造方法
public StringTokenizer(String str)
public StringTokenizer(String str,String delim)
ü 常用方法
public boolean hasMoreTokens()
public String nextToken()
7. java.lang.System類與java.lang.Runtime類
µ System類:Java不支援全域函數和全域變數,其設計者將一些與系統相關的重要的函數和變數收集的System類中類中所有成員都是靜態,當要引用這些變數和方法的時候,System.屬性 System.方法()
ü exit(int x)方法:終止當前正在啟動並執行java虛擬機器(JVM)。參數表示狀態代碼;根據慣例,非0的數字表示異常終止。
ü currentTimeMillis()方法:獲得一個自1970年1月1日0 時起至今的毫秒數,可以利用該方法獲得程式的執行時間。
µ Runtime類 :該類封裝了Java命令本身所啟動的執行個體進程資訊---Java虛擬機器進程。一個虛擬機器對應一個Runtime執行個體對象。它許多方法和System中的重複,不能直接建立該類的對象,只能通過Runtime.getRuntime()方法來獲得該對象的執行個體,java虛擬機器本身就是一個作業系統的一個進程,這個進程可以啟動其他程式,通過這種方式啟動的進程稱為子進程,可以通過Runtime對象的excu()方法啟動子進程,其傳回值為代表子進程的Process對象。
Rutimer=Runtime.getRuntime();
Processp=r.exec(“C:\\WINDOWS\\system32\\Notepad.exe”);