Java語(yǔ)言——字符串

在Java語(yǔ)言中將字符串作為對(duì)象來處理,通過java.lang包中的String類來創(chuàng)建字符串對(duì)象。


Java語(yǔ)言

一、String類

可以通過下面語(yǔ)法格式來聲明字符串變量:

String str=[null]

String:指定該變量為字符串類型。
str:任意有效的標(biāo)識(shí)符,表示字符串變量的名稱。
null:如果省略null,表示str變量是未初始化的狀態(tài),否則表示聲明的字符串的值等于null。

二、連接字符串

使用“+”運(yùn)算符可以實(shí)現(xiàn)連接多個(gè)字符串的功能。“+”運(yùn)算符可以連接多個(gè)運(yùn)算符并產(chǎn)生一個(gè)String對(duì)象。示例代碼如下:

package com.example;

public class Join {
    public static void main(String args[]){
        String s1=new String("hello");
        String s2=new String("java");
        String s=s1+" "+s2;
        System.out.println(s);  
    }   
}

運(yùn)行結(jié)果如下圖:

運(yùn)行結(jié)果展示

三、獲取字符串信息

3.1獲取字符串長(zhǎng)度

使用String類的length()方法可獲取聲明的字符串對(duì)象的長(zhǎng)度。語(yǔ)法如下:

str.length();

其中,str為字符串對(duì)象。實(shí)例代碼如下:

String str="we are students";
int size=str.length();

上述代碼是將字符串str的長(zhǎng)度賦值給int型變量size,此時(shí)變量size的值為15,這表示length()方法返回的字符串的長(zhǎng)度包括字符串中的空格。

3.2字符串查找

String類提供了兩種字符串查找的方法,即indexOf()和lastIndexOf()方法。這兩種方法都允許在字符串中搜索指定條件的字符或者字符串。indexOf()方法返回的是搜索的字符或字符串首次出現(xiàn)的位置,lastIndexOf()方法返回的是搜索的字符或字符串最后一次出現(xiàn)的位置。

(1)indexOf(String s)

該方法用于返回參數(shù)字符串s在指定字符串中首次出現(xiàn)的位置。當(dāng)調(diào)用字符串的indexOf()方法,會(huì)從當(dāng)前字符串的開始位置搜索s的位置;如果沒有檢測(cè)到字符串s,該方法的返回值為-1。示例代碼如下:

String str="we are students";
int size=str.indexOf("a");//變量size的值為3

(2)lastIndexOf(String s)

該方法用于返回指定字符串最后一次出現(xiàn)的索引位置。當(dāng)調(diào)用字符串的lastIndexOf()方法時(shí),會(huì)從當(dāng)前字符串的開始位置檢索參數(shù)字符串str,并將最后一次出現(xiàn)str的索引位置返回。如果沒有檢測(cè)到字符串s,該方法的返回值為-1。示例代碼如下:

package com.example;

public class Text1 {
    public static void main(String args[]){
        String str="we are students";
        int size=str.lastIndexOf("");
        System.out.println("空字符在字符串str中的索引位置是:"+size);
        System.out.println("字符串str的長(zhǎng)度是:"+str.length());
    }
}

運(yùn)行結(jié)果如下:

運(yùn)行結(jié)果顯示

注意:如果lastIndexOf()方法中的參數(shù)是空字符串""(沒有空格),則返回的結(jié)果與調(diào)用該字符串length()方法的返回結(jié)果相同。

3.3獲取指定索引位置的字符

使用charAt()方法可將指定索引處的字符返回。語(yǔ)法如下:

str.charAt(int index);

str:任意字符串。
index:整數(shù)型,用于指定要返回字符的下標(biāo)。
示例代碼如下:

package com.example;

public class Ref {
    public static void main(String args[]){
        String str="hello word";
        char mychar=str.charAt(6);
        System.out.println("字符串str中索引位置是5的字符是:"+mychar);
    }
}

運(yùn)行結(jié)果如下:


運(yùn)行結(jié)果顯示

四、字符串操作

4.1獲取子字符串

通過String類的substring()方法對(duì)字符串進(jìn)行截取。這些方法的共同點(diǎn)就是利用字符串的下標(biāo)進(jìn)行截取,且應(yīng)明確字符串下標(biāo)是從0開始的。

(1)substring(int beginIndex)

該方法返回的是從指定索引位置開始截取直到該字符串結(jié)尾的子串。示例代碼如下:

String str="Hello Word";
String substr=str.substring(3);//此時(shí)substr的值為lo Word

(2)substring(int beginIndex,int endIndex)

該方法返回的是從字符串某一索引位置開始截取至某一索引位置結(jié)束的子串。示例代碼如下:

package com.example;

public class Subs {
    public static void main(String args[]){
        String str="hello word";
        String substr=str.substring(0,3);
        System.out.println(substr);
    }
}

運(yùn)行結(jié)果如下:

顯示結(jié)果展示

4.2去除空格

trim()方法返回字符串的副本,忽略前導(dǎo)空格和尾部空格。語(yǔ)法如下:

str.trim();

示例代碼如下:

package com.example;

public class Blak {
    public static void main(String args[]){
        String str=" java class ";
        System.out.println("字符串原來的長(zhǎng)度:"+str.length());
        System.out.println("去掉空格后的長(zhǎng)度:"+str.trim().length());
    }
}

運(yùn)行結(jié)果如下:

運(yùn)行結(jié)果顯示

4.3字符串替換

replace()方法可實(shí)現(xiàn)將指定的字符或字符串替換為新的字符或字符串。語(yǔ)法如下:

str.replace(char oldChar,char newChar);

oldChar:要替換的字符或者字符串。
newChar:用于替換原來字符串的內(nèi)容。
示例代碼如下:

package com.example;

public class NewStr {
    public static void main(String args[]){
        String str=" address";
        String newstr=str.replace("a","A");
        System.out.println(newstr);
    }
}

4.4判斷字符串是否相等

對(duì)字符串對(duì)象進(jìn)行比較不能簡(jiǎn)單的使用比較運(yùn)算符“==”,因?yàn)楸容^運(yùn)算符比較的是兩個(gè)字符串的地址是否相同。即使兩個(gè)字符串的內(nèi)容相同,兩個(gè)對(duì)象的內(nèi)存地址也是不同的,使用比較運(yùn)算符仍然會(huì)返回false。

(1)equals()方法

如果兩個(gè)字符串具有相同的字符和長(zhǎng)度,則使用equals()方法進(jìn)行比較時(shí)返回true。

(2)equalsIgnoreCase()方法

使用equals()方法對(duì)字符串進(jìn)行比較時(shí)是區(qū)分大小寫的,而使用equalsIgnoreCase()方法是在忽略了大小寫的情況下比較兩個(gè)字符串是否相等,返回結(jié)果仍為boolean類型。示例代碼如下:

package com.example;

public class Opinion {
    public static void main(String args[]){
        String s1=new String("abc");
        String s2=new String("ABC");
        boolean b=s1.equals(s2);
        boolean b2=s1.equalsIgnoreCase(s2);
        System.out.println(s1+" equals "+s2+":"+b);
        System.out.println(s1+" equalsIgnoreCase "+s2+":"+b2);
    }
}

運(yùn)行結(jié)果如下:

運(yùn)行結(jié)果展示

學(xué)習(xí)是一件很快樂的事,這種快樂來自于你的思考。完成一項(xiàng)學(xué)習(xí)任務(wù)固然重要,但更重要的是在完成的過程中學(xué)到了什么,掌握了什么,遇到一些什么問題,為什么會(huì)出現(xiàn)這種問題,根源是什么,都有哪些解決方案,什么樣的情況適合這個(gè)方案。只有在不斷的思考,你的能力才會(huì)有所提升!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 31,767評(píng)論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,969評(píng)論 19 139
  • 在日本,把二手物品叫做中古品。全國(guó)各地布滿了許多中古店。日本是個(gè)資源小國(guó),多數(shù)能源需要進(jìn)口。所以,長(zhǎng)久以來該國(guó)國(guó)民...
    極簡(jiǎn)主義小E閱讀 1,039評(píng)論 0 2
  • 文/一個(gè)苞谷 世界上其實(shí)根本沒有感同身受這回事,針不刺到別人身上,他們就不知道有多痛。 ——《深海里的星星》 -1...
    一個(gè)苞谷閱讀 348評(píng)論 3 1