String類:html
String類在java.lang包中,java使用String類建立一個字符串變量,字符串變量屬於對象。String類對象建立後不能修改,StringBuffer & StringBuilder 類。這時咱們會問,爲何咱們String變量賦值不就是改變了嗎?其實不是的,賦值後將會生成新的對像來存放新的內容,原先的對象依舊在內存中,可是s不在指向它,那麼這個對象就會成爲垃圾內存,在某一個特定的時刻有Java虛擬機回收。 詳情解釋請點擊 包含在一對雙引號之間。java
String字符串變量的建立:正則表達式
聲明: String 變量名;api
String str;
聲明並初始化: String 變量名="初始值";數組
String str = "挨點博客";
String經常使用方法:工具
一、int length(); 語法:字符串變量名.length(); 返回值爲 int 類型。獲得一個字符串的字符個數(中、英、空格、轉義字符皆爲字符,計入長度)學習
String a="挨點aidian \t\n";
int l = a.length();
System.out.println(l);
運行結果:11
二、char charAt(值); 語法 :字符串名.charAt(值); 返回值爲 char 類型。從字符串中取出指定位置的字符 測試
String str="張三瘋";
char c = str.charAt(2);
System.out.println("指定字符爲:" + c);
運行結果:指定字符爲:瘋
三、char toCharArray(); 語法 :字符串名.toCharArray(); 返回值爲 char 數組類型。將字符串變成一個字符數組
ui
String str="張三瘋";
char c[] = str.toCharArray();
for (int i = 0; i < c.length; i++)
System.out.println("轉爲數組輸出:" + c[i]);
運行結果:spa
轉爲數組輸出:張
轉爲數組輸出:三
轉爲數組輸出:瘋
四、int indexOf("字符") 語法 :字符串名.indexOf("字符");字符串名.indexOf("字符",值);查找一個指定的字符串是否存在,返回的是字符串的位置,若是不存在,則返回-1 。
in lastIndexOf("字符") 獲得指定內容最後一次出現的下標
String str="只爲挨你近一點";
int a1 = str.indexOf("你");// 查找字符你的位置
int a2 = str.indexOf("爲", 2);// 查找爲的位置,從第3個開始查找
int a3 = str.lastIndexOf("點");
System.out.println("你的位置爲:" + a1);
System.out.println("爲的位置爲:" + a2);
System.out.println("點最後出現的位置爲:" + a3);
運行結果:
你的位置爲:3
爲的位置爲:-1
點最後出現的位置爲:7
五、toUpperCase(); toLowerCase();字符串大小寫的轉換
String str="hello world";
System.out.println("將字符串轉大寫爲:" + str.toUpperCase());
System.out.println("將字符串轉換成小寫爲:" + str.toUpperCase().toLowerCase());
運算結果:
將字符串轉大寫爲:HELLO WORLD
將字符串轉換成小寫爲:hello world
六、String[] split("字符") 根據給定的正則表達式的匹配來拆分此字符串。造成一個新的String數組。
String str = "boo:and:foo";
String[] arr1 = str.split(":");
String[] arr2 = str.split("o");
運行結果:
arr1 //{ "boo", "and", "foo" }
arr2 //{ "b", "", ":and:f" }
七、boolean equals(Object anObject) 語法 :字符串變量名.wquals(字符串變量名); 返回值爲布爾類型。因此這裏用 if 演示。比較兩個字符串是否相等,返回布爾值
String str = "hello";
String str1="world";
if(str.equals(str1))
{
System.out.println("這倆字符串值相等");
}
else
{
System.out.println("這倆字符串值不相等");
}
運行結果:
這倆字符串值不相等
八、trim(); 去掉字符串左右空格 replace(char oldChar,char newChar);新字符替換舊字符,也能夠達到去空格的效果一種。
String str = " 挨點博客 "; System.out.println("去掉左右空格後:" + str.trim());
運行結果:
去掉左右空格後:挨點博客
第二種:
String str = " 挨點博客 ";
System.out.println("去掉左右空格後:" + str.replace(" ",""));
運行結果:
去掉左右空格後:挨點博客
九、String substring(int beginIndex,int endIndex) 截取字符串
String str = "123挨點博客456";
System.out.println("截取後的字符爲:" + str.substring(0,3));// 截取0-3個位置的內容 不含3
System.out.println("截取後字符爲:" + str.substring(2));// 從第3個位置開始截取 含2
運行結果:
截取後的字符爲:123
截取後字符爲:3挨點博客456
十、boolean equalsIgnoreCase(String) 忽略大小寫的比較兩個字符串的值是否如出一轍,返回一個布爾值
String str = "HELLO WORLd";
String str1 = "hello world";
if(str.equalsIgnoreCase(str1))
{
System.out.println("兩個字符串相等");
}
else
{
System.out.println("兩個字符串不相等");
}
運行結果:
兩個字符串相等
十一、boolean contains(String) 判斷一個字符串裏面是否包含指定的內容,返回一個布爾值
String str = "HELLO WORLd";
String str1 = "WO";
if(str.contains(str1))
{
System.out.println("str內容中存在WO");
}
else
{
System.out.println("抱歉沒找着");
}
運行結果:
str內容中存在WO
十二、boolean startsWith(String) 測試此字符串是否以指定的前綴開始。返回一個布爾值
String str = "HELLO WORLd";
String str1 = "HE";
if(str.startsWith(str1))
{
System.out.println("str內容中存在HE前綴開頭");
}
else
{
System.out.println("抱歉沒找着");
}
運行結果:
str內容中存在HE前綴開頭
1三、boolean endsWith(String) 測試此字符串是否以指定的後綴結束。返回一個布爾值
String str = "挨點博客";
String str1 = "博客";
if(str.endsWith(str1))
{
System.out.println("str內容中存在\'博客\'後綴結束");
}
else
{
System.out.println("抱歉沒找着");
}
運行結果:
str內容中存在'博客'後綴結束
1四、上面提到了replace方法,接下繼續補充一下 String replaceAll(String,String) 將某個內容所有替換成指定內容, String repalceFirst(String,String) 將第一次出現的某個內容替換成指定的內容
String str = ",,,,,,挨點博客,,,,, "; System.out.println("改變後:" + str.replaceAll(",","a"));
運行結果:改變後:a,,,,,挨點博客,,,,,
String str = ",,,,,,挨點博客,帥嗎,帥嗎,,,,, "; System.out.println("改變後:" + str.replaceFirst("帥嗎","很帥哦")); 運行結果:改變後:,,,,,,挨點博客,很帥哦,帥嗎,,,,,
鞏固的時候查閱了不少資料。給你們推薦一個工具,是一個java使用手冊在線版 http://tool.oschina.net/apidocs/apidoc?api=jdk-zh 但願對大家的學習有幫助,並多多支持下。
如何有錯誤的、或者有補充的請在評論區評論、我再改正與補充。
原創內容,轉載還望註明來源,謝謝。