1. 程式人生 > >整理Java基礎知識--String類

整理Java基礎知識--String類

string對象 提取 class lower rep oid cat 先後 連接字符串

Java String 類
創建字符串
最簡單的寫法:String i = "我是字符串";
String 類是不可改變的,一旦創建了String對象,就固定了

String i = "123";
System.out.println("i = " + i);
i = "abc";
System.out.println("i = " + i);
輸出結果:
123
abc

等價於

String i = new String("123");
System.out.println("i = " + i);
String i = new String("abc");
System.out.println("i = " + i);
i & 123 & abc 需要分配3個單位的內存單元 程序自上而下執行,只是先後把123 & abc 賦值給i 並輸出

技術分享圖片
從輸出結果上來看i 是改變了 實際上123 abc 還在內存中並未改變。而i只是引用對象 本身也未改變
連接字符串
1.concat方法聯接:string1.concat(string2)
2.使用 + 聯接

class TestA{
    public static void main(String[] args){

        String string1 = "123";
        String string2 = "abc";
        String string3 = "llll";
        String string4;
        String string5;
        string4 = string1.concat(string2).concat(string3);
        string5 = "123" + "abc" + "llll";
        System.out.println("string4 = " + string4);
        System.out.println("string5 = " + string5);
    }
}
輸出結果:
string4 = 123abcllll
string5 = 123abcllll

String類常用方法
1.字符串的長度
public int length()

String str = new String("adzzbzz");
int len = str.length();//len = 7

2.字符串索引處的字符
public char charAt(int index)

String str = new String("adzzbzz");
char ch = str.charAt(5);//ch = b

3.字符串比較
int compareTo(Object o)

int compareTo(String anotherString)

String str1 = new String("abc");
String str2 = new String("ABC");
int a = str1.compareTo(str2);//a>0
int b = str1.compareTo(str2)//b=0

4.字符串連接
public String concat(String s)

String str = "111".concat("222").concat("333");
String str = "111"+"222"+"333";

5.提取子字符串
public String substring(int beginIndex)
public String substring(int beginIndex, int endIndex)

String str1 = new String("adzzbzz");
String str2 = str1.substring(2);//str2 = "zzbzz"
String str3 = str1.substring(2,5);//str3 = "zzb"

6.字符串中單個字符查找
public int indexOf(int ch/String str)
public int indexOf(int ch/String str, int fromIndex)
public int lastIndexOf(int ch/String str)
public int lastIndexOf(int ch/String str, int fromIndex)

String str = "I am a good student";
int i1 = str.indexOf(‘a‘);//i1= 2
int i2 = str.indexOf("good");//i2 = 7
int i3 = str.indexOf("w",2);//i3= -1
int i4 = str.lastIndexOf("a");//i4= 5
int i5 = str.lastIndexOf("a",3);//i5= 2

7.字符串中字符的大小寫轉換
public String toLowerCase()
public String toUpperCase()

String str = new String("abCD");
String str1 = str.toLowerCase();//str1 = "abcd"
String str2 = str.toUpperCase();//str2 = "ABCD"

8.字符串中字符的替換
public String replace(char oldChar, char newChar)
public String replaceFirst(String regex, String replacement)
public String replaceAll(String regex, String replacement)

String str = "adzzzad";
String str1 = str.replace(‘a‘,‘b‘);//str1 = "bdzzzbd"
String str2 = str.replace("ad","bp");//str2 ="bpzzzbp"
String str3 = str.replaceFirst("ad","bp");//str3 = bpzzzad"
String str4 = str.replaceAll("ad","bp");//str4 = "bpzzzbp"

整理Java基礎知識--String類