黑馬程式設計師 day13字串String

2021-06-26 15:57:45 字數 4007 閱讀 2520

1.string

string類是對字串事物的描述。

舉例:string s1 = "abc";//s1是乙個類型別變數, "abc"是乙個物件。字串最大特點:一旦被初始化就不可以被改變。

string s2 = new string("abc");

s1和s2有什麼區別?s1在記憶體中有乙個物件。s2在記憶體中有兩個物件。

2.string常見的操作

(1)獲取。

1.1 字串中的包含的字元數,也就是字串的長度。

int length():獲取長度。

1.2 根據位置獲取位置上某個字元。

char charat(int index):

1.3 根據字元獲取該字元在字串中位置。

int indexof(int ch):返回的是ch在字串中第一次出現的位置。

int indexof(int ch, int fromindex) :從fromindex指定位置開始,獲取ch在字串中出現的位置。

int indexof(string str):返回的是str在字串中第一次出現的位置。

int indexof(string str, int fromindex) :從fromindex指定位置開始,獲取str在字串中出現的位置。

int lastindexof(int ch) :

(2)判斷。

2.1 字串中是否包含某乙個子串。

boolean contains(str):

特殊之處:indexof(str):可以索引str第一次出現位置,如果返回-1.表示該str不在字串中存在。所以,也可以用於對指定判斷是否包含。if(str.indexof("aa")!=-1)而且該方法即可以判斷,有可以獲取出現的位置。

2.2 字元中是否有內容。

boolean isempty(): 原理就是判斷長度是否為0. 

2.3 字串是否是以指定內容開頭。

boolean startswith(str);

2.4 字串是否是以指定內容結尾。

boolean endswith(str);

2.5 判斷字串內容是否相同。複寫了object類中的equals方法。

boolean equals(str);

2.6 判斷內容是否相同,並忽略大小寫。

boolean equalsignorecase();

(3)轉換。

3.1 將字元陣列轉成字串。

建構函式:string(char)

string(char,offset,count):將字元陣列中的一部分轉成字串。

靜態方法:

static string copyvalueof(char);

static string copyvalueof(char data, int offset, int count) 

static string valueof(char):

3.2 將字串轉成字元陣列。**

char tochararray():

3.3 將位元組陣列轉成字串。

string(byte)

string(byte,offset,count):將位元組陣列中的一部分轉成字串。

3.4 將字串轉成位元組陣列。

byte  getbytes():

3.5 將基本資料型別轉成字串。

static string valueof(int)

static string valueof(double)

//3+"";

特殊:字串和位元組陣列在轉換過程中,是可以指定編碼表的。

(4)替換 string replace(oldchar,newchar);如果要替換的字元不存在,返回的還是原串。

(5)切割 string split(regex);

(6)子串。獲取字串中的一部分。string substring(begin); string substring(begin,end);從指定位置開始到結尾。如果角標不存在,會出現字串角標越界異常。

(7)轉換,去除空格,比較。

7.1 將字串轉成大寫或則小寫。

string touppercase();

string tolowercase();

7.2 將字串兩端的多個空格去除。

string trim();

7.3 對兩個字串進行自然順序的比較。

int compareto(string);

3.stringbuffer和stringbuilder

stringbuffer是字串緩衝區。是乙個容器。

特點:1,長度是可變化的。2,可以位元組操作多個資料型別。3,最終會通過tostring方法變成字串。

2,刪除。

stringbuffer delete(start,end):刪除緩衝區中的資料,包含start,不包含end。

stringbuffer deletecharat(index):刪除指定位置的字元。

sb.delete(0,sb.length());清空緩衝區。

3,獲取。

char charat(int index) 

int indexof(string str) 

int lastindexof(string str) 

int length() 

string substring(int start, int end) 

4,修改。

stringbuffer replace(start,end,string);

void setcharat(int index, char ch) ;

5,反轉。stringbuffer reverse();

6,將緩衝區中指定資料儲存到指定字元陣列中。void getchars(int srcbegin, int srcend, char dst, int dstbegin) 

jdk1.5 版本之後出現了stringbuilder.stringbuffer是執行緒同步。stringbuilder是執行緒不同步。以後開發,建議使用stringbuilder

公升級三個因素:

1,提高效率。

2,簡化書寫。

3,提高安全性。

4.基本資料型別物件包裝類

基本資料型別物件包裝類。

byte   byte

shortshort

intinteger

long   long

boolean   boolean

float        float

doubledouble

char        character

基本資料型別物件包裝類的最常見作用,就是用於基本資料型別和字串型別之間做轉換。

1.基本資料型別轉成字串。

基本資料型別+""

基本資料型別.tostring(基本資料型別值);

如: integer.tostring(34);//將34整數變成"34"

2.字串轉成基本資料型別。

*** a = ***.par***xx(string);

integer i = new integer("123");

int num = i.intvalue();

3.十進位制轉成其他進製。tobinarystring(); tohexstring(); tooctalstring();

4.其他進製轉成十進位制。parseint(string,radix);

面試中注意的問題:

jdk1.5版本以後出現的新特性。

integer x = 4;//自動裝箱。//new integer(4)

x = x + 2;//x+2:x 進行自動拆箱。變成成了int型別。和2進行加法運算。再將和進行裝箱賦給x。

integer a = 127;

integer b = 127;

sop("a==b:"+(a==b));//結果為true。因為a和b指向了同乙個integer物件。

//因為當數值在byte範圍內容,對於新特性,如果該數值已經存在,則不會在開闢新的空間。

黑馬程式設計師 字串函式

windows phone 7手機開發 net培訓 期待與您交流!tolower 得到字串的小寫形式。toupper 得到字串的大寫形式。trim 去掉字串兩端空格。equals 比較倆個字串 區分大小寫比較 split 將字串按照指定的分隔符或者字串進行分割成字串陣列。replace 字串替換。s...

黑馬程式設計師 字串處理

asp.net android io開發s net培訓 期待與您交流!字串處理 1 字串中的轉義字元 轉義字元 當需要在字串中輸入特殊的字元時 半形引號,退格,換行 需要轉義字元 幾種轉義字元 1 n 換行 2 b backspace 鍵盤上的回退鍵 退格,刪除 3 t tab 有多個空格組成,行與...

黑馬程式設計師 C 字串處理

windows phone 7手機開發 net培訓 期待與您交流!字串常用函式 substring contains indexof startswith endswith split 應用舉例 string s 定義乙個字串 string 網域名稱 s.substring 7 從指定序號開始到最後...