java心得--java類

來源:互聯網
上載者:User

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”);

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.