Java語言——字符串

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


Java語言

一、String類

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

String str=[null]

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

二诱贿、連接字符串

使用“+”運算符可以實現(xiàn)連接多個字符串的功能」径校“+”運算符可以連接多個運算符并產(chǎn)生一個String對象珠十。示例代碼如下:

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);  
    }   
}

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

運行結(jié)果展示

三、獲取字符串信息

3.1獲取字符串長度

使用String類的length()方法可獲取聲明的字符串對象的長度凭豪。語法如下:

str.length();

其中焙蹭,str為字符串對象。實例代碼如下:

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

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

3.2字符串查找

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

(1)indexOf(String s)

該方法用于返回參數(shù)字符串s在指定字符串中首次出現(xiàn)的位置。當(dāng)調(diào)用字符串的indexOf()方法匙监,會從當(dāng)前字符串的開始位置搜索s的位置凡橱;如果沒有檢測到字符串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()方法時躲惰,會從當(dāng)前字符串的開始位置檢索參數(shù)字符串str,并將最后一次出現(xiàn)str的索引位置返回变抽。如果沒有檢測到字符串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的長度是:"+str.length());
    }
}

運行結(jié)果如下:

運行結(jié)果顯示

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

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

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

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);
    }
}

運行結(jié)果如下:


運行結(jié)果顯示

四阳谍、字符串操作

4.1獲取子字符串

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

(1)substring(int beginIndex)

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

String str="Hello Word";
String substr=str.substring(3);//此時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);
    }
}

運行結(jié)果如下:

顯示結(jié)果展示

4.2去除空格

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

str.trim();

示例代碼如下:

package com.example;

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

運行結(jié)果如下:

運行結(jié)果顯示

4.3字符串替換

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

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判斷字符串是否相等

對字符串對象進行比較不能簡單的使用比較運算符“==”款慨,因為比較運算符比較的是兩個字符串的地址是否相同儒飒。即使兩個字符串的內(nèi)容相同,兩個對象的內(nèi)存地址也是不同的檩奠,使用比較運算符仍然會返回false约素。

(1)equals()方法

如果兩個字符串具有相同的字符和長度,則使用equals()方法進行比較時返回true笆凌。

(2)equalsIgnoreCase()方法

使用equals()方法對字符串進行比較時是區(qū)分大小寫的,而使用equalsIgnoreCase()方法是在忽略了大小寫的情況下比較兩個字符串是否相等士葫,返回結(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);
    }
}

運行結(jié)果如下:

運行結(jié)果展示

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末写半,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子尉咕,更是在濱河造成了極大的恐慌叠蝇,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件年缎,死亡現(xiàn)場離奇詭異悔捶,居然都是意外死亡,警方通過查閱死者的電腦和手機单芜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門蜕该,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缓溅,你說我怎么就攤上這事蛇损。” “怎么了坛怪?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵淤齐,是天一觀的道長。 經(jīng)常有香客問我袜匿,道長更啄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任居灯,我火速辦了婚禮祭务,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怪嫌。我一直安慰自己义锥,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布岩灭。 她就那樣靜靜地躺著拌倍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上柱恤,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天数初,我揣著相機與錄音,去河邊找鬼梗顺。 笑死泡孩,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的寺谤。 我是一名探鬼主播仑鸥,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼矗漾!你這毒婦竟也來了锈候?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤敞贡,失蹤者是張志新(化名)和其女友劉穎泵琳,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體誊役,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡获列,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蛔垢。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片击孩。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖鹏漆,靈堂內(nèi)的尸體忽然破棺而出巩梢,到底是詐尸還是另有隱情,我是刑警寧澤艺玲,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布括蝠,位于F島的核電站,受9級特大地震影響饭聚,放射性物質(zhì)發(fā)生泄漏忌警。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一秒梳、第九天 我趴在偏房一處隱蔽的房頂上張望法绵。 院中可真熱鬧,春花似錦酪碘、人聲如沸朋譬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽此熬。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間犀忱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工扶关, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留阴汇,地道東北人。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓节槐,卻偏偏與公主長得像搀庶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子铜异,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

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

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