String 類代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作為此類的實(shí)例實(shí)現(xiàn)。
創(chuàng)新互聯(lián)2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元廣陽(yáng)做網(wǎng)站,已為上家服務(wù),為廣陽(yáng)各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
字符串是常量;它們的值在創(chuàng)建之后不能更改。字符串緩沖區(qū)支持可變的字符串。
String 類包括的方法可用于檢查序列的單個(gè)字符、比較字符串、搜索字符串、提取子字符串、
創(chuàng)建字符串副本并將所有字符全部轉(zhuǎn)換為大寫或小寫。
String類是最常用的類之一,下面就通過(guò)幾個(gè)練習(xí),熟悉String類中的提供的重要方法。
字符串練習(xí)一
給定一個(gè)字符串?dāng)?shù)組,按照字典順序,進(jìn)行大小寫排序
思路:
1.對(duì)數(shù)組排序,可以用選擇排序、冒泡排序等等。
2.for循環(huán)嵌套,比較,交換位置。
3.不同之處,以前比較的是數(shù)字,用的是比較運(yùn)算符;
現(xiàn)在比較的是字符串對(duì)象,應(yīng)該使用compareTo方法。
public class StringTest_1 { //對(duì)字符串?dāng)?shù)組進(jìn)行排序 public static void stringSort(String[] arr) { //采用冒泡排序 for(int i=0;i0) { String temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } showArray(arr); } //定義方法,以[str1,str2,str3]的格式來(lái)打印數(shù)組 public static void showArray(String[] arr) { System.out.print("["); for(int i=0;i
運(yùn)行:
字符串練習(xí)二
一個(gè)子串在字符串中出現(xiàn)的次數(shù)
思路:
1.用indexOf方法獲取子串在字符串中第一次出現(xiàn)的位置index
2.再用indexOf方法獲取以(index+子串長(zhǎng)度)為起始的剩下的字符串中子串出現(xiàn)的位置,直到字符串中不再包含子串??捎脀hile循環(huán)實(shí)現(xiàn)。
3.每次找到后用計(jì)數(shù)器記錄即可。
public class StringTest_2 { public static void main(String[] args) { String str="abcqwabcedcxabcuabcjkabcnmbabc"; //String str=null; try { int count=countChildStr(str,"abc"); System.out.println("abc在"+str+"中出現(xiàn)的次數(shù)為:"+count); } catch (NullPointerException ne) { System.out.println(ne); } catch(RuntimeException re) { System.out.println(re); } } public static int countChildStr(String str,String key) { if(str==null||key==null) { throw new NullPointerException("空指針異常,源字符串和子串都不能為NULL"); } if(key=="") {throw new RuntimeException("調(diào)用不合法,子串要有內(nèi)容");} int count=0,index=0; while((index=str.indexOf(key,index))!=-1) { count++; index+=key.length(); } return count; } }
字符串練習(xí)三
找到兩個(gè)字符串的最大公共子串
思路:
1.判斷較長(zhǎng)字符串中是否包含較短字符串,如果包含,則較短字符串則為最大公共子串。
2.如果不包含,就對(duì)較短字符串以長(zhǎng)度遞減的方式取子串,去較長(zhǎng)字符串中判斷是否包含,如果包含就找到了,不用再找了。
3.重點(diǎn):對(duì)字符串以長(zhǎng)度遞減的方式取子串
public class StringTest_3 { public static void main(String[] args) { //創(chuàng)建兩個(gè)不為空的字符串 String str1="abxczwsxcvdfas"; //String str1=null; String str2="ghwsxcvxcdbgthnnnrfqwe"; try { String str=searchMaxCommonStr(str1,str2); System.out.println("最大公共子串是:"+str); } catch (NullPointerException ne) { System.out.println(ne); } } public static String searchMaxCommonStr(String str1,String str2) { if(str1==null||str2==null) throw new NullPointerException("空指針異常,參數(shù)不能為Null"); //斷定較長(zhǎng)字符串和較短字符串 String max=(str1.length()>str2.length())?str1:str2; String min=(str1.equals(max))?str2:str1; //按長(zhǎng)度遞減的方式取子串,從min.length~~1 for(int i=min.length();i>0;i--) { for(int x=0,y=x+i;y
運(yùn)行:
字符串練習(xí)四
寫一個(gè)和trim功能相同的方法
思路:
1.定義兩個(gè)變量,用來(lái)存儲(chǔ)兩個(gè)角標(biāo)
2.分別從頭和尾遍歷字符串,直到找到第一個(gè)不為空格的字符
3.截取字符串
public class StringTest_4 { public static void main(String[] args) { String str=" abc ws "; str=myTrim(str); System.out.println(str); } public static String myTrim(String s) { int begin=0,end=s.length()-1; //從頭遍歷 while(begin<=end && s.charAt(begin)==' ') { begin++; } //從尾部遍歷 while(begin<=end && s.charAt(end)==' ') { end--; } return s.substring(begin,end+1); } }
運(yùn)行:
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持創(chuàng)新互聯(lián)!