字符串:重點知識
·獲取字符串的長度
語法:
字符串1.length();
String b="123456789";
b.length();
·忽略大小寫的比較
語法:
字符串1.equalsIgnoreCase(字符串2);
·更改大小寫的方式
語法:
字符串.toLowerCase()//返回字符串的小寫形式
字符串.toUpperCase()//返回字符串的大寫形式
·字符串的鏈接方法
語法:
字符串1.concat(字符串2);
String s=new String("你好");
String name=new Scanner("張三");
String sen=s.concat(name);
System.out.println(sen);
輸出結果:你好張三
·字符串的提取和查詢
1.indexOf()方法
&該方法是在字符串內搜索指定的字符或字符串,它返回出現第一個匹配字符的位置。
如果沒有找到匹配,則返回-1.調用時,括號中寫明要搜索的字符(或字符串)的名字。
例如,搜索字符串“青春無悔”中的“春”的位置
String s=“青春無悔”;
int dex=s.indexOf(“春”);
//執行後,返回字符“春”的位置 1.
2.lasindexOf()方法
&該方法也是在字符串內搜索某個指定的字符或字符串,但是它是搜索最後一個出現的(字符或字符串)的位置.
例如,搜索字符串“青春無悔無悔青春”中最後出現字符串“青春”的位置
String s="青春無悔無悔青春";
int dex=s.lasindexOf("青春");
//執行後,返回字符串“青春”的首字符位置,dex的值為 6.
3.substring(int index)方法
&該方法用於提取從位置索引開始的字符串部分,調用時括號中寫的是要提取的字符串的開始位置,
方法的返回值就是要提取的字符串。例如,要提取字符串“青春無悔”中的“春無悔”。
String s=“青春無悔”;
String res=substring(1);
//執行後,res=春無悔;
4.substring(int beginindex,int endindex)方法
&該方法用於提取位置beginindex 和 endindex 位置之間的字符串部分。特別註意的是,
對於開始的位置beginindex ,Java是基於字符串的首字符為0來進行處理的,但是對於
終止位置endindex ,Java是基於字符串的首字符為1來處理的
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
青 | 春 | 無 | 悔 | 無 | 悔 | 青 | 春 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
例如,要提取“青春無悔無悔青春”中的“無悔青春”。
String s="青春無悔無悔青春";
String res=s.substring(2,6);
5.trim()方法
&該方法可以忽略字符串前後的空格。
·字符串的拆分
語法:
字符串1.split(String separator,int limit);
(1)separator 可選項,標識拆分字符串時使用一個或多個字符。如果不選擇該項,則返回包含該字符串所有單個字符的元素
(2)linit 可選項,該值用來限制返回數組中的元素個數
![技術分享](/img/jia.gif)
1 public static void main(String[] args) { 2 /** 3 * 方法split()方法 4 * 語法:字符串1.split(String separator,int,limit); 5 */ 6 String words="長亭 外 古道邊 芳草碧藍天 晚風扶 柳笛聲殘 夕陽山外山"; 7 String[] printword=new String[100];//定義數組接收 8 System.out.println("***原歌詞為***\t"+words); 9 System.out.println("***拆分後歌詞格式***"); 10 printword=words.split(" ",3);//以空格為單位拆分,拆分行數為5行 11 for(int i=0;i<printword.length;i++){ 12 System.out.println(printword[i]); 13 } 14 }拆分
·StringBuffer類
&如何使用StringBuffer類
StringBuffer 類位於Java.lang 包中,是String 類的增強類。使用StringBuffer 類也需要兩步完成。
1.聲明StringBuffer 對象並初始化
//聲明一個空的StringBuffer 對象
StringBuffer sb=new StringBuffer();
//聲明一個字符串 “青春無悔”;
StringBuffer sb2=new StringBuffer("青春無悔");
2.使用StringBuffer 對象
StringBuffer類提供了很多方法以供使用,調用時使用 “.” 操作符完成。
3.將StringBuffer 類型的字符串1 轉換為 String 類型的對象並返回。
字符串1 .toSting();
String ss=sb2.toString();
4.將字符串2 連接到 字符串1 後並返回。
字符串1.append(字符串2);
該方法和String 類的 concat()方法一樣,都是把一個字符串追加到另一個字符串後面,所不同的是Sting中只能將
String 類型的字符串追加到一個字符串後,而StringBuffer 可以任何類型的值追加到字符串之後。
![技術分享](/img/jia.gif)
public static void main (String[] args){ StringBuffer sb = new StringBuffer ("青春無悔") ; int num = 10; StringBuffer sb1=sb.append("我心永恒"); StringBuffer sb2=sb1.append(" 啊 "); System.out.print(sb2); //結果 青春無悔我心永恒啊 }StringBuffer append.()追加
·將參數插入字符串
語法:
字符串1.insert (位置,參數);
&將參數插入字符串1 的指定位置(int 類型)後並返回。參數可以包括String 的任何類型。
分析:利用StringBuffer 類的 length()方法,獲取數字字符串的長度,使用for 循環從後向前每隔三位插入一個逗號。
![技術分享](/img/jia.gif)
1 public static void main(String[] args) { 2 Scanner input=new Scanner(System.in); 3 System.out.println("請輸入一串數字:"); 4 String zf=input.next(); 5 StringBuffer str=new StringBuffer(zf); 6 for(int i=str.length()-3;i>0;i=i-3){ 7 str.insert(i, ","); 8 } 9 System.out.println(str); 10 }插入 字符
字符串:重點知識