1、定義String字符串java
String字符串和char字符不一樣,char使用單引號,只能表示一個字符,字符串就是一段文本。String是個類。這個類使用final修飾,因此這個類是不能夠繼承擴充和修改它的方法的。String類又特別經常使用,因此在對String對象進行初始化時,它能夠不像其它對象同樣,必須使用new關鍵字構造對象。Java提供了一種簡化的特殊語法。spa
使用String對象存儲字符串:code
String s = "有志者事竟成";
固然咱們也仍是能夠像之前使用new關鍵字的。對象
String s = new String("有志者事竟成");
2、String字符串的經常使用方法。blog
String類位於java.lang包中,java會默認的導入java.lang包,因此咱們使用java.lang包的類時,不須要顯示的import類,String類具備豐富的方法,其中比較經常使用的有:繼承
計算字符串的長度字符串
鏈接字符串string
比較字符串it
提取字符串ast
替換字符串
一、計算字符串的長度比較簡單。代碼以下:
String email = "abc@tom.com "; System.out.println(email.length()); System.out.println(email.trim().length()); String abc="你好"; System.out.println(abc.length());
第一個輸出是:13。
第二個輸出是:11。
第三個輸出是:2。
由於空格也算是字符串的長度,若是你不想計算先後的空格,也也可使用trim()方法把先後的空格去了。在計算長度。第三個輸出爲2,可見java對中文的處理和英文也是同樣計算的。並不存在一箇中文等於兩個英文符號的長度。
二、鏈接字符串。
鏈接字符串有兩種方法:方法1:使用「+」。方法2:使用String類的concat()方法。代碼以下:
System.out.println(email+"abc");
System.out.println(email.concat("abc"));
上面兩個代碼的輸出都是同樣的:
abc@tom.com abc
abc@tom.com abc
三、比較字符串
字符串的比較方法有不少,如比較兩個字符串是否相等,比較後返回值是個布爾值。
String email2="cc@tom.com"; if(email.equals(email2)){ System.out.println("相等"); }else{ System.out.println("不相等"); }
結果是不相等。
字符串的比較是提取每個字符逐個比較的,以下圖所示
並且這種比較是區分大小寫的。因此
String str1 = "java"; String str2 = "Java"; System.out.println(str1.equals(str2));
返回爲false,若是你想不區分大小寫的比較,那麼你可使用不區分大小寫的比較方法或者把字符轉爲爲大寫(也就能夠小寫)後再比較。
System.out.println(str1.equalsIgnoreCase(str2));
System.out.println(str1.toLowerCase().equals(str2.toLowerCase()));
System.out.println(str1.toUpperCase().equals(str2.toUpperCase()));
咱們還能夠判斷字符串是否已某個字符串結尾或者開頭
System.out.println(email.startsWith("abc"));
System.out.println(email.endsWith("com"));
四、提取字符串
要提取字符串,咱們首先得學會如何查詢字符串。
注意下標也是從0開始的。
System.out.println(email.indexOf("a"));//從零開始,因此這裏是0 System.out.println(email.indexOf("c"));//這個是2,從左到右找,返回第一個找到的。 System.out.println(email.indexOf("zz"));//找不到返回是-1 System.out.println(email.lastIndexOf("c"));//這個是8,從右到左找,返回第一個找到的。 下面是截取字符串
System.out.println(email.substring(3));//從第4個(包括第四個)開始截取到最後 System.out.println(email.substring(3, 5));
indexOf方法和substring方法常常一塊兒使用,好比咱們要截取@以後的全部字符串,咱們能夠結合這個兩個。
System.out.println(email.substring(email.indexOf("@")+1));
五、替換字符串
例如咱們能夠把全部的字符串c換成字符串z
System.out.println(email.replace("c", "z"));