菜鳥學習第十天

2021-09-12 13:55:37 字數 2477 閱讀 3419

1.字串最大的特點:一旦初始化就不可以改變。(不可改變的字串內容而不是指向字串的引用)

2.string s=「abc」;其中s是乙個類型別變數,「abc」是乙個物件。

3.string s1="abc";和string s2=new string(「abc」);

s1==s2;和s1.equals(s2);,==比較的是他們在記憶體中的存放位址,所以,除非是同乙個new出來的物件,他們的比較後的結果為true,否則比較後結果為false(比如還有乙個string s3=「abc」;那麼s1==s3;為true)。因為string中複寫了object類中的equals,所以這個equals比較的就不是基於他們在記憶體中的存放位置的位址值,而是字串了,因為s1和s2字串內容「abc」,所以s1==s2;結果為false,s1.equals(s2);結果為true。

s1和s2的區別在於s1在記憶體中存在乙個物件,s2在記憶體中存在2個物件,new乙個和「abc」。

4.常見的方法:

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指定位置開始,獲取cd在字串**現的位置。int indexof(string str);返回的是str位置。int lastindexof(int ch)從尾部開始查詢。

2.判斷。

2.1 字串中是否包含某乙個字串。boolean contains(charsequence s);charsequences是乙個字串序列介面。indexof(str)也可以用來判斷,沒有則返回-1,還能返回位置。

2.2 字串是否有內容。bollean isempty();

2.3 字串是否以指定內容開頭。boolean startwith(string str);

2.4 字串是否以指定內容結尾。boolean endwith(string str);

2.5 判斷字串是否相同。bollean equals(str);bollean equalsignorecase(str);判斷內容是否相同並忽略大小寫。

3.轉換。

3.1 將字元陣列轉換成字串。

建構函式:string(char value)

string(char value,int offset,int count):將字元陣列的一部分轉換為字串。offset位置開始count個字元轉換為字串。

靜態方法:static string copyvalueof(char data);

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

3.2 將字串轉成字元陣列。char tochararray();

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

建構函式:string(byte value)

string(byte value,int offset,int count):

3.4 將字串轉成位元組陣列。byte getbytes();

3.5 將基本資料型別轉換成字串。比如:3+「」;和string.valueof(3);是一樣的。

static string valueof(int i);

static string valueof(boolean b);

static string valueof(int i);

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

4.替換

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

5.切割

string split(regex);按照regex規則切。

6.子串。獲取字串中的一部分。

string substring(begin);   從指定位置到結尾

string substring(begin,end);從指定位置到end前一位,包含頭不包含尾。substring(0,字串物件.length());不需要-1.

7.轉換,去除空格,比較。

7.1 將字串轉換成大寫或者小寫

string touppercase();

string tolowercase();

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

string trim();怎麼去除所有空格,可以用replace(「 」,「」);或者replaceall(" +","");

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

int compareto(string);從兩個字串的第乙個字元開始比較,相減

練習一:去除字串兩端空格

練習二:反轉字串

練習三:獲取乙個字串在另乙個字串**現的次數

練習四:獲取兩個字串中最大相同子串

學習第十天

一 介面 jdk1.8及之後新增了2中可以定義存在方法體的方法 預設方法 default關鍵字修飾的方法 使用 通過實現類物件使用 靜態方法 使用 通過介面名去呼叫 二 單例模式 保證類只能存在乙個例項 餓漢式 先建立物件,然後需要的人要這個物件,保證永遠使用的都是這個建立好的物件 執行緒安全的,效...

python學習第十天

class student count 0 def init self,name,age,address self.name name self.age age self.address address student.count 1 k print k w open a.txt w encodin...

python學習第十天

這兩個習題主要是複習各種符號,並且強調編寫長 時要寫一段執行一段修改一段 主要是學習對列表的進一步操作 ten things stuff ten things.split 定義乙個字串變數 用split 函式以空格為分隔標誌分隔字串使之成為列表 more stuff day night song f...