從屌絲到架構(gòu)師的飛越(API篇)-String類

一、介紹

字符串廣泛應(yīng)用在Java 編程中,在 Java 中字符串屬于對(duì)象呛牲,Java 提供了 String 類來創(chuàng)建和操作字符串。 String類是不可變的驮配,對(duì)String類的任何改變娘扩,都是返回一個(gè)新的String類對(duì)象。 String 對(duì)象是 System.Char 對(duì)象的有序集合壮锻,用于表示字符串琐旁。String 對(duì)象的值是該有序集合的內(nèi)容,并且該值是不可變的猜绣。

字符串或串(String)是由數(shù)字灰殴、字母、下劃線組成的一串字符掰邢。一般記為 s=“a1a2···an”(n>=0)牺陶。它是編程語言中表示文本的數(shù)據(jù)類型。在程序設(shè)計(jì)中辣之,字符串(string)為符號(hào)或數(shù)值的一個(gè)連續(xù)序列掰伸,如符號(hào)串(一串字符)或二進(jìn)制數(shù)字串(一串二進(jìn)制數(shù)字)。

通常以串的整體作為操作對(duì)象怀估,如:在串中查找某個(gè)子串碱工、求取一個(gè)子串、在串的某個(gè)位置上插入一個(gè)子串以及刪除一個(gè)子串等奏夫。兩個(gè)字符串相等的充要條件是:長(zhǎng)度相等,并且各個(gè)對(duì)應(yīng)位置上的字符都相等历筝。設(shè)p酗昼、q是兩個(gè)串,求q在p中首次出現(xiàn)的位置的運(yùn)算叫做模式匹配梳猪。串的兩種最基本的存儲(chǔ)方式是順序存儲(chǔ)方式和鏈接存儲(chǔ)方式麻削。

二、知識(shí)點(diǎn)介紹

1春弥、String類

2呛哟、String構(gòu)造方法

3、String常用方法

三匿沛、上課對(duì)應(yīng)視頻的說明文檔

1扫责、String類

String 類用于比較兩個(gè)字符串,查找和抽取串中的字符或子串逃呼、字符串與其他類型之間相互轉(zhuǎn)換等鳖孤。String 類是一個(gè)常量對(duì)象者娱,String 類對(duì)象的內(nèi)容一旦被初始化就不能再被改變。

2苏揣、String構(gòu)造方法

? public Stirng()

創(chuàng)建一個(gè)字符串對(duì)象黄鳍,其字符串值為空。

? public String (String value)

用字符串對(duì)象value創(chuàng)建一個(gè)新的字符串對(duì)象平匈。

? public String (char[] value)

用字符數(shù)組value來創(chuàng)建字符串對(duì)象框沟。

? public String (char[]value,int offset,int count)

從字符數(shù)組value中下標(biāo)為offset的字符開始,創(chuàng)建有count個(gè)字符的字符串對(duì)象增炭。

? public String(byte ascII[])

用byte型字符串?dāng)?shù)組ascII忍燥,按缺省的字符編碼方案創(chuàng)建字符串對(duì)象。

? public String(byte ascII[]弟跑,int offset int count))

從字節(jié)型數(shù)組ascII中下標(biāo)為offset的字符開始灾前,按缺省的字符編碼方案創(chuàng)建count個(gè)字符的串對(duì)象。

? public String(StringBuffer buffer)

用緩沖字符串buffer創(chuàng)建一個(gè)字符串對(duì)象孟辑。

例:

StringTest1.java類

public class StringTest1{

public static void main(String args[]){

String s1="hello";

String s2="world";

String s3="hello";

System.out.println(s1==s3);

s1=new String ("hello");

s2=new String ("hello");

System.out.println(s1==s2);

System.out.println(s1.equals(s2));

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

}

}

3哎甲、String常用方法

(1)常用方法1

? public char charAt(int index)

返回字符串中第index個(gè)字符。

? public int length()

返回字符串的長(zhǎng)度饲嗽。

? public int indexOf(String str)

返回字符串中出現(xiàn)str 的第一個(gè)位置炭玫。

? public int indexOf(String str,int fromIndex)

返回字符串中從fromIndex開始出現(xiàn)str的第一個(gè)位置。

? public boolean equalsIgnoreCase(String another)

比較字符串是否與another一樣貌虾。

? public String replace(char oldChar,char newChar)

字符串中用newchar替代oldChar字符吞加。

例:

StringTest2.java類

public class StringTest2{

public static void main(String args[]){

String s1="sun java";

String s2="sun Java";

System.out.println(s1.charAt(1));

System.out.println(s2.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);

}

}

(2)常用方法2

? public boolean startsWith(String prefix)

判斷字符串是否以prefix字符串開頭。

? public boolean endsWith(String suffix)

判斷字符串是否以suffix字符結(jié)尾尽狠。

? public String toUpperCase()

返回一個(gè)字符串為該字符串的大寫形式衔憨。

? public String toLowerCase()

返回一個(gè)字符串為該字符串的小寫形式。

? public String substring(int beginIndex)

返回字符串從beginIndex開始到結(jié)尾的子字符串袄膏。

? public String substring(int beginIndex,int endIndex)

返回字符串從beginIndex開始到endIndex結(jié)尾的子字符串践图。

? public String trim()

返回將該字符串去掉開頭和結(jié)尾空格后的字符串。

例:

StringTest3.java類

public class StringTest3{

public static void main(String args[]){

String s="Welcome to Java World";

String s1="? sun java? ";

System.out.println(s.startsWith("Welcome"));

System.out.println(s.endsWith("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);

}

}

(3)常用方法3

靜態(tài)重載方法:

? public static String valueOf(...)可以將基本類型數(shù)據(jù)轉(zhuǎn)換為字符串:

例如:

?public static String valueOf(double d)

?public static String valueOf(int i)

?....

? public String []split(String regex)可以將一個(gè)字符串按照指定的分隔符分隔沉馆,返回分隔后的字符串?dāng)?shù)組码党。

例:

StringTest4.java類

public class StringTest4{

public static void main(String args[]){

int j=1234567;

String sNumber=String.valueOf(j);//轉(zhuǎn)換成String類型

System.out.println("j 是"+sNumber.length()+"位數(shù)。");

String s ="Mary,F,1976";

String sPlit[] =s.split(",");//以,號(hào)分隔

for(int i=0;i<sPlit.length;i++){

System.out.println(sPlit[i]);

}

}

}

(4)常用方法4

? concat(String str):把字符串str附加在當(dāng)前字符串的末尾斥黑。

例如:

String str="Hello";

String newStr=str.concat("World");

System.out.println(str);? //打印Hello

System.out.println(newStr);? //打印HelloWorld

*:以上concat()方法并不會(huì)改變字符串str本身的內(nèi)容揖盘。

public class StringDemo {

public static void main(String[] args) {

// print str1

String str1 = "self";

System.out.println(str1);

// print str2 concatenated with str1

String str2 = str1.concat(" learning");

System.out.println(str2);

// prints str3 concatenated with str2(and str1)

String str3 = str2.concat(" center");

System.out.println(str3);

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市锌奴,隨后出現(xiàn)的幾起案子兽狭,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件椭符,死亡現(xiàn)場(chǎng)離奇詭異荔燎,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)销钝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門有咨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蒸健,你說我怎么就攤上這事座享。” “怎么了似忧?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵渣叛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我盯捌,道長(zhǎng)淳衙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任饺著,我火速辦了婚禮箫攀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘幼衰。我一直安慰自己靴跛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布渡嚣。 她就那樣靜靜地躺著梢睛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪识椰。 梳的紋絲不亂的頭發(fā)上绝葡,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音腹鹉,去河邊找鬼挤牛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛种蘸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播竞膳,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼航瞭,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了坦辟?” 一聲冷哼從身側(cè)響起刊侯,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锉走,沒想到半個(gè)月后滨彻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體藕届,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年亭饵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了休偶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辜羊,死狀恐怖踏兜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情八秃,我是刑警寧澤碱妆,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站昔驱,受9級(jí)特大地震影響疹尾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜骤肛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一纳本、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧萌衬,春花似錦饮醇、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至混移,卻和暖如春祠墅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背歌径。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工毁嗦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人回铛。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓狗准,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親茵肃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子腔长,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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

  • 【程序1】 題目:古典問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子验残,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔...
    開心的鑼鼓閱讀 3,320評(píng)論 0 9
  • java中String的常用方法 1捞附、length()字符串的長(zhǎng)度 例:char chars[]={'a','b'...
    赤赤有名閱讀 2,053評(píng)論 0 10
  • 本文是我自己在秋招復(fù)習(xí)時(shí)的讀書筆記,整理的知識(shí)點(diǎn),也是為了防止忘記鸟召,尊重勞動(dòng)成果胆绊,轉(zhuǎn)載注明出處哦!如果你也喜歡欧募,那...
    波波波先森閱讀 831評(píng)論 1 6
  • String類和正則表達(dá)式 今天的主要內(nèi)容 Scanner類概述Scanner獲取數(shù)據(jù)出現(xiàn)的小問題及解決方案 St...
    須臾之北閱讀 1,932評(píng)論 0 3
  • DAY 05 1压状、 public classArrayDemo { public static void mai...
    周書達(dá)閱讀 664評(píng)論 0 0