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指定的字串替換