2017-12-26字符串

字符串的長(zhǎng)度:

String s6 = new String("abcde");
System.out.println("s6.length():" + s1.length());
結(jié)果:5

字符串的特點(diǎn):一旦被賦值秽浇,就不能改變,但是引用可以改變甚负。

public class StringDemo {
    public static void main(String[] args) {
        String s = "hello";
        s += "world";
        System.out.println("s:" + s);
結(jié)果:helloworld

String s = new String(“hello”)和 String s = “hello”;的區(qū)別?String字面值對(duì)象和構(gòu)造方法創(chuàng)建對(duì)象的區(qū)別
有柬焕。前者會(huì)創(chuàng)建2個(gè)對(duì)象,后者創(chuàng)建1個(gè)對(duì)象梭域。

  • ==:比較引用類型比較的是地址值是否相同
  • equals:比較引用類型默認(rèn)也是比較地址值是否相同斑举,而String類重寫了equals()方法,比較的是內(nèi)容是否相同病涨。
public class StringDemo2 {
    public static void main(String[] args) {
        String s1 = new String("hello");
        String s2 = "hello";

        System.out.println(s1 == s2);// false
        System.out.println(s1.equals(s2));// true
    }
}
  • String類的判斷功能:
  • boolean equals(Object obj):比較字符串的內(nèi)容是否相同,區(qū)分大小寫
  • boolean equalsIgnoreCase(String str):比較字符串的內(nèi)容是否相同,忽略大小寫
  • boolean contains(String str):判斷大字符串中是否包含小字符串
  • boolean startsWith(String str):判斷字符串是否以某個(gè)指定的字符串開頭
  • boolean endsWith(String str):判斷字符串是否以某個(gè)指定的字符串結(jié)尾
  • boolean isEmpty():判斷字符串是否為空富玷。

注意:
String s = "";//對(duì)象存在,所以可以調(diào)方法
String s = null;//對(duì)象不存在既穆,不能調(diào)方法

String類的獲取功能

  • int length():獲取字符串的長(zhǎng)度赎懦。
  • char charAt(int index):獲取指定索引位置的字符
  • int indexOf(int ch):返回指定字符在此字符串中第一次出現(xiàn)處的索引。
    // 為什么這里是int類型幻工,而不是char類型?
    // 原因是:'a'和97其實(shí)都可以代表'a'励两。如果里面寫char,就不能寫數(shù)字97了
  • int indexOf(String str):返回指定字符串在此字符串中第一次出現(xiàn)處的索引。
  • int indexOf(int ch,int fromIndex):返回指定字符在此字符串中從指定位置后第一次出現(xiàn)處的索引囊颅。
  • int indexOf(String str,int fromIndex):返回指定字符串在此字符串中從指定位置后第一次出現(xiàn)處的索引当悔。
  • String substring(int start):從指定位置開始截取字符串,默認(rèn)到末尾傅瞻。
  • String substring(int start,int end):從指定位置開始到指定位置結(jié)束截取字符串

/*

  • 需求:統(tǒng)計(jì)一個(gè)字符串中大寫字母字符,小寫字母字符盲憎,數(shù)字字符出現(xiàn)的次數(shù)嗅骄。(不考慮其他字符)
  • 舉例:
  •     "Hello123World"
    
  • 結(jié)果:
  •     大寫字符:2個(gè)
    
  •     小寫字符:8個(gè)
    
  •     數(shù)字字符:3個(gè)
    
  • 分析:
  •     前提:字符串要存在
    
  •     A:定義三個(gè)統(tǒng)計(jì)變量
    
  •         bigCount=0
    
  •         smallCount=0
    
  •         numberCount=0
    
  •     B:遍歷字符串,得到每一個(gè)字符焙畔。
    
  •         length()和charAt()結(jié)合
    
  •     C:判斷該字符到底是屬于那種類型的
    
  •         大:bigCount++
    
  •         械Ф痢:smallCount++
    
  •         數(shù)字:numberCount++
    
  •         這道題目的難點(diǎn)就是如何判斷某個(gè)字符是大的,還是小的宏多,還是數(shù)字的儿惫。
    
  •         ASCII碼表:
    
  •             0    48
    
  •             A    65
    
  •             a    97
    
  •         雖然,我們按照數(shù)字的這種比較是可以的伸但,但是想多了肾请,有比這還簡(jiǎn)單的
    
  •             char ch = s.charAt(x);
    
  •             if(ch>='0' && ch<='9') numberCount++
    
  •             if(ch>='a' && ch<='z') smallCount++
    
  •             if(ch>='A' && ch<='Z') bigCount++
    
  •    D:輸出結(jié)果。
    
  • 練習(xí):把給定字符串的方式更胖,改進(jìn)為鍵盤錄入字符串的方式铛铁。
    */
    public class StringTest2 {
    public static void main(String[] args) {
    //定義一個(gè)字符串
    String s = "Hello123World";

//定義三個(gè)統(tǒng)計(jì)變量
int bigCount = 0;
int smallCount = 0;
int numberCount = 0;

//遍歷字符串,得到每一個(gè)字符却妨。
for(int x=0; x<s.length(); x++){
char ch = s.charAt(x);

//判斷該字符到底是屬于那種類型的饵逐,char類型會(huì)轉(zhuǎn)成int類型
if(ch>='a' && ch<='z'){
smallCount++;
}else if(ch>='A' && ch<='Z'){
bigCount++;
}else if(ch>='0' && ch<='9'){
numberCount++;
}
}

//輸出結(jié)果。
System.out.println("大寫字母"+bigCount+"個(gè)");
System.out.println("小寫字母"+smallCount+"個(gè)");
System.out.println("數(shù)字"+numberCount+"個(gè)");
}
}

String的轉(zhuǎn)換功能:

  • byte[] getBytes():把字符串轉(zhuǎn)換為字節(jié)數(shù)組彪标。
  • char[] toCharArray():把字符串轉(zhuǎn)換為字符數(shù)組倍权。
  • static String valueOf(char[] chs):把字符數(shù)組轉(zhuǎn)成字符串。
  • static String valueOf(int i):把int類型的數(shù)據(jù)轉(zhuǎn)成字符串捞烟。
    //注意:String類的valueOf方法可以把任意類型的數(shù)據(jù)轉(zhuǎn)成字符串薄声。
  • String toLowerCase():把字符串轉(zhuǎn)成小寫。
  • String toUpperCase():把字符串轉(zhuǎn)成大寫题画。
  • String concat(String str):把字符串拼接默辨。

http://www.cnblogs.com/kamibaba/p/8116281.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市苍息,隨后出現(xiàn)的幾起案子缩幸,更是在濱河造成了極大的恐慌,老刑警劉巖竞思,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桌粉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡衙四,警方通過查閱死者的電腦和手機(jī)铃肯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來传蹈,“玉大人押逼,你說我怎么就攤上這事步藕。” “怎么了挑格?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵咙冗,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我漂彤,道長(zhǎng)雾消,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任挫望,我火速辦了婚禮立润,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘媳板。我一直安慰自己桑腮,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布蛉幸。 她就那樣靜靜地躺著破讨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪奕纫。 梳的紋絲不亂的頭發(fā)上提陶,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音匹层,去河邊找鬼隙笆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛又固,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播煤率,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼仰冠,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了蝶糯?” 一聲冷哼從身側(cè)響起洋只,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎昼捍,沒想到半個(gè)月后识虚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡妒茬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年担锤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乍钻。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肛循,死狀恐怖铭腕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情多糠,我是刑警寧澤累舷,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站夹孔,受9級(jí)特大地震影響被盈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜搭伤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一只怎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧闷畸,春花似錦尝盼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至殿漠,卻和暖如春赴精,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绞幌。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工蕾哟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人莲蜘。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓谭确,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親票渠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子逐哈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

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