1. 程式人生 > >Java語言基礎33-35--常用實用類

Java語言基礎33-35--常用實用類

常用實用類

 Java為我們提供了大約130多個包,比如:

java.lang           包含所有的基本語言類

javax.swing       包含抽象視窗工具集中的圖形、文字、視窗GUI類

java.io               包含所有的輸入輸出類

java.util             包含實用類

java.sql             包含操作資料庫的類

java.nex            包含所有實現網路功能的類

java.applet        包含所有實現Java applet的類

 

1. String類

String類在java.lang包中。是Java專門提供用來處理字串的類,由於java.lang包中的類是預設被引入的,因此程式可以直接使用String類。

String類用來建立一個字串變數,字串變數是物件

1.1. 構造字串物件

1.常量物件:字串常量物件是用雙引號括起的字元序列,例如:"你好"、"12.97"、"boy"等。

2.字串物件

  ◆宣告:String s; 

  ◆建立字串物件:s=new String("we are students"); 

   或者用一個已建立的字串建立另一個字串,例如:

         String tom= new String(s); 

   String類較常用構造方法:

         String (char a[])

         String(char a[], int startIndex, int count)

3.引用字串常量物件 

  string s1,s2;

  s1 = "how are you";

  s2 = "how are you";

這樣,s1,s2具有相同的引用,因而具有相同的實體。 

注:

String物件不可修改指的是物件本身不可修改,而不是引用不可修改
String a = "你好";
這行程式碼的意思是宣告一個String型別的引用變數叫做a,在記憶體中建立一個String物件(值為"你好"),然後把這個物件的引用賦值給變數a。
a = "hello";
這行程式碼執行的效果是在記憶體中另外建立了一個String物件(值為"hello"),然後把這個新物件的引用賦值給變數a,而不是把原來的記憶體中的那個“你好”的String物件值變為“hello”。

如果之後記憶體中那個“你好”的String物件沒有任何引用,那麼就會被下一次垃圾回收器執行時回收。
String和所有的基本型別包裝類的物件都是不變數。記憶體中的不變數物件的值是不能被改變的。

1.2. 常用方法

1、public int length():獲取一個字串的長度 

2、public boolean equals(String s):比較當前字串物件的實體是否與引數s指定的字串的實體相同   

3、public boolean startsWith(String s)

     public boolean endsWith(String s) 判斷當前字串物件的字首(字尾)是否引數s指定的字串 

4.、public boolean contains(String s):判斷當前字串物件是否含有引數指定的字串s 

5.、public int indexOf (String s):從當前字串的頭開始檢索字串s,並返回首次出現s的位置 

    其相關方法:indexOf(String s ,int startpoint), lastIndexOf (String s)

6.、public String substring(int startpoint):獲得一個當前字串的子串  

   其相關方法:substring(int start ,int end)

7.、public String trim() :得到一個s去掉前後空格後的字串物件。

1.3. 字串與基本資料的轉換

java.lang包中的Integer類呼叫其類方法public static int parseInt(String s)可以將由“數字”字元組成的字串,如"12356",轉化為int型資料

類似地,使用java.lang包中的Byte、Short、Long、Float、Double類調相應的類方法可以將由“數字”字元組成的字串,轉化為相應的基本資料型別。 

可以使用String 類的類方法public static String valueOf(byte n)等將形如123、1232.98等數值轉化為字串

1.4. 字串與字元、位元組陣列

1.字串與字元陣列

◆ String 類的構造方法

   String(char[])和String(char[],int offset,int length)

   分別用字元陣列中的全部字元和部分字元建立字串物件 

◆將字串中的全部字元存放在一個字元陣列中的方法:

    public char[] toCharArray()

2.字串與位元組陣列 

 ◆ String(byte[])用指定的位元組陣列構造一個字串物件

    String(byte[],int offset,int length) 用指定的位元組陣列的一部分,即從陣列起始位置offset開始取length個位元組構造一個字串物件。

 ◆public byte[] getBytes() 方法使用平臺預設的字元編碼,將當前字串轉化為一個位元組陣列。

 ◆ public byte[] getBytes(String charsetName) 

   使用引數指定字元編碼,將當前字串轉化為一個位元組陣列。

 

2. StringBuffer類

前面我們學習了String字串物件,String類建立的字串物件是不可修改的,也就是說,String字串不能修改、刪除或者替換字串中的某個字元

即String物件一旦建立,那麼實體是不可以再發生變化的,例如:

String s = new String(“我喜歡散步"); 

 

我們今天要學習StringBuffer類,該類能夠建立可修改的字串序列,也就是說,該類物件的實體的記憶體空間可以自動的改變大小,便於存放一個可變的字元序列,例如:

StringBuffer buffer = new StringBuffer(“我喜歡”); 

buffer.append("玩籃球 "); 

2.1. 構造方法

StringBuffer類有三個構造方法:

1.StringBuffer()

2.StringBuffer(int size)

3.StringBuffer(String s)

 

使用第1個無引數的構造方法建立一個StringBuffer物件,那麼分配給該物件的實體的初識容量可以容納16個字元,當該物件的實體存放的字元序列的長度大於16時,實體的容量自動的增加,以便存放所增加的字元。

使用第2個構造方法建立一個StringBuffer物件,那麼可以指定分配給該物件的實體的初識容量為引數size指定的字元個數,當該物件的實體存放的字元序列的長度大於size個字元時,實體的容量自動的增加,以便存放所增加的字元。

使用第3個構造方法建立一個StringBuffer物件,那麼可以指定分配給該物件的實體的初識容量為引數字串s的長度額外再加16個字元。當該物件的實體存放的字元序列的長度大於size個字元時,實體的容量自動的增加,以便存放所增加的字元。

2.2. 常用方法

1.StringBuffer append(String s)將一個字串物件追加到當前StringBuffer物件中 

   StringBuffer append(int n):將一個int型資料轉化為字串物件後再追加到當前StringBuffer物件中 

   StringBuffer append(Object o):將一個Object物件的字串表示追加到當前StringBuffer物件中 

類似的方法還有:

   StringBuffer append(long n),StringBuffer append(boolean n),

   StringBuffer append(float n),StringBuffer append(double n),

   StringBuffer append(char n)

2.public chat charAt(int n ):得到引數n指定的置上的單個字元 

   public void setCharAt(int n ,char ch):將當前StringBuffer物件實體中的字串位置n處的字元用引數ch指定的字元替換

3.StringBuffer insert(int index, String str) 將引數str指定的字串插入到引數index指定的位置 

4.public StringBuffer reverse() :將該物件實體中的字元翻轉

5.StringBuffer delete(int startIndex, int endIndex) :從當前StringBuffer物件實體中的字串中刪除一個子字串 

   其相關方法: deleteCharAt(int index) 刪除當前StringBuffer物件實體的字串中index位置處的一個字元。

6. StringBuffer replace( int startIndex ,int endIndex, String str) :將當前StringBuffer物件實體中的字串的一個子字串用引數str指定的字串替換