public class TestString { public static void main(String[] agrs){ String s1 = "hello"; String s2 = "Word"; String s3 = "hello"; System.out.PRintln(s1 == s3); //因為s1和s3并不是被new出來的 s1 = new String("hello"); s2 = new String("hello"); System.out.println(s1 == s2); System.out.println(s1.equals(s2)); //雖然是new出來的,但是String類對equals進行了重寫 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.比較這個字符串到指定的對象。如果該參數(shù)不為空,是一個字符串對象表示相同的字符序列作為該對象的結(jié)果是真的。??2.String類常用方法public char charAt(int index) 返回字符串中第index個字符?public int length () 返回字符串的長度?public int indexOf(string str) 返回字符串中出現(xiàn)str的第一個位置?public int indexOf(string str,int fromIndex) 返回字符串中從fromIndex開始出現(xiàn)str的第一個位置?public int lastIndexOf(int ch) 查看ch字符最后出現(xiàn)的位置?public int lastIndexOf(String str) 字符串public boolean equalsIgnoreCase(string another) 比較字符串與another是否一樣(忽略大小寫)?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字符串開頭?public boolean endsWith(String suffix) 判斷字符串是否以suffix字符串解圍?public String toUpperCase() 返回一個字符串為該字符的大寫形式?public String toLowerCase() 返回一個字符串為該字符的小寫形式?public String substring(int beginIndex) 返回該字符串從beginIndex開始到結(jié)尾的子字符串?public String substring(int beginIndex,int endIndex) 返回該字符串從beginIndex開始到endIndex結(jié)尾的字符串?Public String trim() 返回將該字符串去掉開頭和結(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() 可以將基本類型數(shù)據(jù)轉(zhuǎn)換為字符串;?例如:public static String valueOf(double d)?方法public String[] split(String regex) 可以將一個字符串按照指定的分隔符分隔,返回分隔后的字符串?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)計字符串中大小寫字母以及其他字符個數(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("小寫字母一共:"+lCount + "個,大寫字母一共:" + uCount + "個,其他字符一共:" + oCount+"個"); }}結(jié)果是:
小寫字母一共:21個,大寫字母一共:9ge,其他字符一共:6個
輸出一個字符串中部分字符段個數(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); }}
新聞熱點
疑難解答