public class TestString { public static void main(String[] agrs){ String s1 = "hello"; String s2 = "Word"; String s3 = "hello"; System.out.PRintln(s1 == s3); //因?yàn)閟1和s3并不是被new出來(lái)的 s1 = new String("hello"); s2 = new String("hello"); System.out.println(s1 == s2); System.out.println(s1.equals(s2)); //雖然是new出來(lái)的,但是String類(lèi)對(duì)equals進(jìn)行了重寫(xiě) char c[] = {'s','u','n',' ','j','a','v','a'}; String s4 = new String(c); String s5 = new String(c,4,4); System.out.println(s4); System.out.println(s5); }}結(jié)果是:?truefalsetruesun javajava?equals的API:Compares this string to the specified object. The result is true if and only if the argument is not null and is a String object that represents the same sequence of characters as this object.比較這個(gè)字符串到指定的對(duì)象。如果該參數(shù)不為空,是一個(gè)字符串對(duì)象表示相同的字符序列作為該對(duì)象的結(jié)果是真的。??2.String類(lèi)常用方法public char charAt(int index) 返回字符串中第index個(gè)字符?public int length () 返回字符串的長(zhǎng)度?public int indexOf(string str) 返回字符串中出現(xiàn)str的第一個(gè)位置?public int indexOf(string str,int fromIndex) 返回字符串中從fromIndex開(kāi)始出現(xiàn)str的第一個(gè)位置?public int lastIndexOf(int ch) 查看ch字符最后出現(xiàn)的位置?public int lastIndexOf(String str) 字符串public boolean equalsIgnoreCase(string another) 比較字符串與another是否一樣(忽略大小寫(xiě))?public String replace(char oldChar,char newChar) 在字符串中用newChar字符替換oldChar字符??舉例:public class TestString { public static void main(String[] agrs) { String s1 = "sun java", s2 = "sun Java"; System.out.println(s1.charAt(1)); System.out.println(s1.length()); System.out.println(s1.indexOf("java")); System.out.println(s1.indexOf("Java")); System.out.println(s1.equals(s2)); System.out.println(s1.equalsIgnoreCase(s2)); String s = "我是程序員,我在學(xué)java"; String sr = s.replace('我', '你'); System.out.println(sr); }}結(jié)果是:
u
8
4
-1
false
true
你是程序員,你在學(xué)java?
public boolean starsWith(String prefix) 判斷字符串是否以prefix字符串開(kāi)頭?public boolean endsWith(String suffix) 判斷字符串是否以suffix字符串解圍?public String toUpperCase() 返回一個(gè)字符串為該字符的大寫(xiě)形式?public String toLowerCase() 返回一個(gè)字符串為該字符的小寫(xiě)形式?public String substring(int beginIndex) 返回該字符串從beginIndex開(kāi)始到結(jié)尾的子字符串?public String substring(int beginIndex,int endIndex) 返回該字符串從beginIndex開(kāi)始到endIndex結(jié)尾的字符串?Public String trim() 返回將該字符串去掉開(kāi)頭和結(jié)尾空格后的字符串?public String[] split (String regex,int limit) 將字符串分割成子字符串,返回字符串?dāng)?shù)組public byte[] getBytes() 將該字符串轉(zhuǎn)換成byte數(shù)組?舉例:?public class TestString { public static void main(String[] agrs) { String s = "Welcome to Java World!"; String s1 = " sun java "; System.out.println(s.startsWith("Welcome")); System.out.println(s.startsWith("World")); String sL = s.toLowerCase(); String sU = s.toUpperCase(); System.out.println(sL); System.out.println(sU); String subS = s.substring(11); System.out.println(subS); String sp = s1.trim(); System.out.println(sp); }}結(jié)果是:
true
false
welcome to java world!WELCOME TO JAVA WORLD!Java World!sun java?3.常用方法(2)?靜態(tài)重載方法?public static String valueOf() 可以將基本類(lèi)型數(shù)據(jù)轉(zhuǎn)換為字符串;?例如:public static String valueOf(double d)?方法public String[] split(String regex) 可以將一個(gè)字符串按照指定的分隔符分隔,返回分隔后的字符串?dāng)?shù)組。?
public class TestString { public static void main(String[] agrs) { int j = 1234567; String sNumber = String.valueOf(j); System.out.println("j是" + sNumber.length() + "位數(shù)"); String s = "Mary,F,1976"; String[] sPlit = s.split(","); for (int i = 0; i < sPlit.length; i++) { System.out.print(sPlit[i] + " "); } }}結(jié)果是:j是7位數(shù)Mary F 1976?統(tǒng)計(jì)字符串中大小寫(xiě)字母以及其他字符個(gè)數(shù)的程序:public class TestString { public static void main(String[] agrs) { int lCount = 0, uCount = 0, oCount = 0; String s = "advrsv^&jgjebjahvVHGFHBJHF^&*&fhaawd"; for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (Character.isLowerCase(c)) { lCount++; } else if (Character.isUpperCase(c)) { uCount++; } else { oCount++; } } System.out.println("小寫(xiě)字母一共:"+lCount + "個(gè),大寫(xiě)字母一共:" + uCount + "個(gè),其他字符一共:" + oCount+"個(gè)"); }}結(jié)果是:
小寫(xiě)字母一共:21個(gè),大寫(xiě)字母一共:9ge,其他字符一共:6個(gè)
輸出一個(gè)字符串中部分字符段個(gè)數(shù)的程序:public class TestString { public static void main(String[] agrs) { String s = "sunjavajijavahpjavaokjavawljavahuijavavbjava"; int count = 0; String sToFind = "java"; int index = s.indexOf(sToFind); if (index != -1) { count++; } s = s.substring(index + sToFind.length()); while (s.indexOf(sToFind) != -1) { index = s.indexOf(sToFind); s = s.substring(index + sToFind.length()); count++; } System.out.println(count); }}結(jié)果是:7?優(yōu)化程序:?public class TestString { public static void main(String[] agrs){ String s = "sunjavajijavahpjavaokjavawljavahuijavavbjava"; int count = 0; String sToFind = "java"; int index = -1; while((index = s.indexOf(sToFind)) != -1){ //給index賦值 s = s.substring(index + sToFind.length()); count++; } System.out.println(count); }}
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注