導語:Java是一門面向物件程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此Java語言具有功能強大和簡單易用兩個特徵。下面我們來看看Java字串(String),希望對大家有所幫助。
從表面上看,字串就是雙引號之間的資料。在Java中,可以使用下面的方法定義字串:
String stringName = "string content";
例如:
1 |
String url = "http://kaoshi,";
String webName = "應屆畢業生";
字串可以通過“+”連線,基本資料型別與字串進行“+”操作一般也會自動轉換為字串,例如:
1 |
public class Demo {
public static void main(String[] args){
String stuName = "小明";
int stuAge = 17;
float stuScore = 92.5f;
String info = stuName + "的年齡是 " + stuAge + ",成績是 " + stuScore;
tln(info);
}
}
執行結果:
小明的年齡是 17,成績是 92.5
String字串與陣列有一個共同點,就是它們被初始化後,長度是不變的,並且內容也不變。如果要改變它的值,就會產生一個新的字串,如下所示:
1 |
String str = "Hello ";
str += "World!";
這個賦值表示式看起來有點像簡單的接龍,在str後面直接加上一個“World!”字串,形成最後的字串“Hello World!”。其執行原理是這樣的:程式首先產生了str1字串,並在記憶體中申請了一段空間。此時要追加新的字串是不可能的,因為字串被初始化後,長度是固定的.。如果要改變它,只有放棄原來的空間,重新申請能夠容納“Hello World!”字串的記憶體空間,然後將“Hello World!”字串放到記憶體中。
實際上,String 是包下的一個類,按照標準的面向物件的語法,其格式應該為:
1 |
String stringName = new String("string content");
例如:
1 |
String url = new String("");
但是由於String特別常用,所以Java提供了一種簡化的語法。
使用簡化語法的另外一個原因是,按照標準的面向物件的語法,在記憶體使用上存在比較大的浪費。例如String str = new String(“abc”);實際上建立了兩個String物件,一個是”abc”物件,儲存在常量空間中,一個是使用new關鍵字為物件str申請的空間。
字串操作
String物件有很多方法,可以方便的操作字串。
1) length() 方法
length() 返回字串的長度,例如:
1 |
String str1 = "微學苑";
String str2 = "weixueyuan";
tln("The lenght of str1 is " + th());
tln("The lenght of str2 is " + th());
輸出結果:
The lenght of str1 is 3
The lenght of str2 is 10
可見,無論是字母、數字,還是漢字,每個字元的長度都是1。
2) charAt() 方法
charAt() 方法的作用是按照索引值獲得字串中的指定字元。Java規定,字串中第一個字元的索引值是0,第二個字元的索引值是1,依次類推。例如:
1 |
String str = "123456789";
tln(At(0) + " " + At(5) + " " + At(8));
輸出結果:
1 6 9
3)contains() 方法
contains() 方法用來檢測字串是否包含某個子串,例如:
1 |
String str = "weixueyuan";
tln(ains("yuan"));
輸出結果:
true
4)replace() 方法
字串替換,用來替換字串中所有指定的子串,例如:
1 |
String str1 = "The url of weixueyuan is !";
String str2 = ace("weixueyuan", "微學苑");
tln(str1);
tln(str2);
輸出結果:
The url of weixueyuan is !
The url of 微學苑 is www.微學苑!
注意:replace() 方法不會改變原來的字串,而是生成一個新的字串。
5) split() 方法
以指定字串作為分隔符,對當前字串進行分割,分割的結果是一個數組,例如:
1 |
import .*;
public class Demo {
public static void main(String[] args){
String str = "wei_xue_yuan_is_good";
String strArr[] = t("_");
tln(ring(strArr));
}
}
執行結果:
[wei, xue, yuan, is, good]
以上僅僅列舉了幾個常用的String物件的方法,更多方法和詳細解釋請參考API文件。