国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用

這篇具有很好參考價(jià)值的文章主要介紹了String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

本文介紹了Java中用來描述操作字符串的String類,和其一些常用的基本操作方法,字符串的創(chuàng)建輸出,字符串對象的比較,字符串查找,字符串的轉(zhuǎn)化,字符串的替換,字符串拆分,字符串截取,和大小寫轉(zhuǎn)換,去除左右空格,子字符串包含,學(xué)會使用這些方法,能更方便的使用操作字符串~

一.初識String類

前言:String也就是字符串的意思,所謂字符串就是0到多個(gè)字符構(gòu)成的整體,而字符串在日常開發(fā)中應(yīng)用場景很多,我們輸入的一連串文字也可以看成是字符串, 而在Java庫中提供了String類即字符串類供我們用其描述字符串…

1.什么是String類?

String類也就是字符串類 是Java庫中提供的供程序員操作字符串的一個(gè)類,

而在C語言中也存在字符串,它可以用字符指針或者字符數(shù)組等進(jìn)行指向或者存儲字符串來對其進(jìn)行操作
但是在C語言這類面向過程的語言當(dāng)中,只是單一的存放字符串,故還有一些專門對字符串進(jìn)行的相關(guān)操作(如:計(jì)算字符串長度, 字符串比較等)需要獨(dú)立封裝方法出來,

故在C語言提供了標(biāo)準(zhǔn)的函數(shù)庫需要預(yù)編譯指令#include<string.h>包含頭文件后,可以調(diào)用其提供的對字符串進(jìn)行操作的函數(shù)完成大部分字符串操作(如:strlen 計(jì)算字符串長度 strcmp比較兩個(gè)字符串的大小等…)
但是,這種對數(shù)據(jù)和操作數(shù)據(jù)的方法分離開的方式并不符合面向?qū)ο蟮乃枷?而字符串又應(yīng)用非常廣泛,

在Java純面向?qū)ο蟮恼Z言中對字符串的使用也隨處可見,故java中對字符串的存儲和操作提供了String類…

String類即封裝了字符串和對字符串的操作方法,并且有一些相應(yīng)的權(quán)限限制,從使用角度來看,String類更契合字符串的特性,對字符串操作更方便也易于拓展…

2.String類的常用基本操作方法

String類內(nèi)部設(shè)計(jì)很巧妙,而對于String類的學(xué)習(xí),先用起來再分析其內(nèi)部的構(gòu)造對于初學(xué)者會事半功倍~

為了更容易理解String的方法
以下是博主用一些常用的字符串操作方法的代碼和運(yùn)行結(jié)果~

先用起來,再使用不同方法時(shí) 注意其每個(gè)方法的相同之處~

①.字符串的創(chuàng)建和輸出

所謂創(chuàng)建和輸出即是字符串對象的構(gòu)造方法,和輸出字符串的內(nèi)容
以下是String的一些構(gòu)造方法,了解常用的即可
String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用

String類的構(gòu)造方法有很多,大多都是根據(jù)傳過來的參數(shù)內(nèi)容構(gòu)建相應(yīng)的字符串
還有一些傳遞的數(shù)組設(shè)置了范圍(左閉右開區(qū)間),根據(jù)其范圍內(nèi)的數(shù)據(jù)進(jìn)行構(gòu)建字符串,

注意:還有一些參數(shù)是int[] byte[]類型時(shí) 構(gòu)建的字符串內(nèi)容是對應(yīng)著int[] 每個(gè)元素的Ascll碼字符
String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用
常用的構(gòu)造方法:

String str="hello";// 直接賦值 字符串常量
String str1=new String("hello");//實(shí)例化對象 其傳字符串傳字符串常量
char[] ch={'h','e','l','l','o'};
String str2=new String(ch); // 實(shí)例化字符串對象 傳字符數(shù)組引用

// 以上都會創(chuàng)建字符串對象 內(nèi)容為 hello

字符串的輸出:
輸出字符串的內(nèi)容直接使用內(nèi)置的println輸出方法即可~


public static void main(String[] args) {
        String str="hello";// 直接賦值 字符串常量
        String str1=new String("hello");//實(shí)例化對象 其傳字符串傳字符串常量
        char[] ch={'h','e','l','l','o'};
        String str2=new String(ch); // 實(shí)例化字符串對象 傳字符數(shù)組引用
        System.out.println(str);
        System.out.println(str1);
        System.out.println(str2);
    }

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用

在上篇博客中 能夠知道,通過println輸出對象內(nèi)容實(shí)際上是重寫了Object的toString方法,而輸出字符串對象內(nèi)容是否是字符串類里重寫的toString 得到的字符串的內(nèi)容呢?

不是,在String類里重寫的toString方法,但是其內(nèi)部實(shí)現(xiàn)并不是返回字符串內(nèi)容的字符串形式,而是直接返回當(dāng)前字符串對象引用
String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用
因?yàn)榉椒ㄖ剌d,println輸出字符串對象會調(diào)用對應(yīng)的println方法,根據(jù)相應(yīng)的方法而輸出字符串對象內(nèi)的字符串內(nèi)容,
而并不是String對象內(nèi)重寫的toString得到的字符串對象內(nèi)容
具體輸出內(nèi)容是在println內(nèi)部調(diào)用的方法中(暫不深究)
故輸出字符串內(nèi)容 直接使用println方法傳遞對象即可
String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用

②.String對象的比較

對于對象的比較分為 比較對象是否相等 和比較對象的大小

1.比較String對象是否相等

比較對象是否相等 可以使用== 和equals 方法以及equalsIgnoreCase 方法

public static void main(String[] args) { //比較兩個(gè)字符串是否相等
        String str1="hello";
        String str2="hello";
        System.out.println(str1==str2);  //?

        //str1 和 str2 指向的都是存放 同一個(gè)字符串對象地址 比較的是地址
        String str3=new String("hello");
        String str4=new String("hello");
        // str3和str4 都是new了一個(gè)新的字符串對象 兩個(gè)字符串對象地址不同!
        System.out.println(str3==str4);//?
        //比較兩個(gè)字符串是否相等不能用==號其比較的是地址 得用內(nèi)部的equals方法
        System.out.println(str3.equals(str4));  //String 里的equals 實(shí)際上也是重寫了 object的equals方法
        System.out.println("HELLO".equalsIgnoreCase("hello"));// 忽略大小寫比較是否相等
    }

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用
注意: == 比較的是對象的地址 (沒有意義) , 至于為什么不同的兩種寫法會有不同的邏輯值 其涉及到后面的字符串常量池~

equals在字符串類里重寫了Object的方法能夠按照字符串內(nèi)容比較兩個(gè)字符串是否相等

equalsIgnoreCase方法是忽略一些情況進(jìn)行比較即是忽略字符串大小寫進(jìn)行比較( Hello 和hello 比較會 看作相等)

比較字符串是否相等用==不會報(bào)錯(cuò) 但沒有意義
比較字符串是否相等用equals方法 要忽略大小寫比較則equalsIgnoreCase方法

2.比較字符串對象的大小
比較字符串對象的大小是按字符串每個(gè)字典序大小進(jìn)行判斷

public static void main(String[] args) {//比較兩個(gè)字符串的大小
        String str1="hello";
        String str2="hellO";
        //System.out.println(str1>str2);  不能用 > <
        System.out.println(str1.compareTo(str2));
 //實(shí)現(xiàn)了 comparable接口重寫了compareTo方法 按字典序比較字符串對象內(nèi)字符數(shù)組引用指向的字符數(shù)組內(nèi)每個(gè)字符大小
 
// 從下標(biāo)0開始的字符比較 當(dāng)出現(xiàn)不同 str1 大于str2返回大于零的數(shù) 反之小于零的數(shù) 如果所有都相等則返回零
        System.out.println(str1.compareToIgnoreCase(str2)); //兩個(gè)字符串對象比較大小 忽視大小寫  漢字對應(yīng)的是其他Ascll碼值
    }

比較字符串大小不能用> < 比較 其只能作用于基本數(shù)據(jù)類型

compareTo方法比較字符串大小
字符串大小的比較需要調(diào)用compareTo方法,而此方法是String類實(shí)現(xiàn)了Comparable接口具備比較特性后重寫的方法,方法體即是按照字符串字典序進(jìn)行比較
String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用
當(dāng)對應(yīng)字符不相等時(shí) c1比c2大 則字符串1比字符串2大 當(dāng)字符相等長度不相等時(shí),長度越長的字符串大 ,而完全相等則返回0(即兩個(gè)字符串相等)

compareToIgnoreCase忽略大小寫情況比較字符串大小
其作用是當(dāng)兩個(gè)字符串的每個(gè)字符 只是大小寫不相等時(shí), 會看成是同一個(gè)字符進(jìn)行比較

字符串比較大小不能用> <
比較大小使用實(shí)現(xiàn)Comparable接口重寫的compareTo方法
要忽略大小寫情況比較 使用compareToIgnoreCase方法

③.字符串查找

字符串查找的一些方法在String類中經(jīng)常被用到

比如:查找字符串中某個(gè)字符或者字符串所在的下標(biāo)位置,查找指定字符在字符串中第一次出現(xiàn)或者最后一次出現(xiàn)的下標(biāo)

public static void main(String[] args) {//字符串內(nèi) 尋找字符內(nèi) 字符 字符串 的方法
        String str1="hello";
        System.out.println(str1.charAt(4));  //獲取字符串里指向字符數(shù)組下標(biāo)為4位置的字符
        System.out.println(str1.indexOf('l'));  //返回字符串內(nèi) 第一個(gè)出現(xiàn)'l' 字符的下標(biāo)位置不存在則返回-1
        System.out.println(str1.indexOf('l',2)); //重載 從指定下標(biāo)位置開始往后找第一個(gè)出現(xiàn)字符'l'的下標(biāo)位置
        System.out.println(str1.indexOf("llo"));//(找子字符串)從起始位置返開始回字符串中第一次出現(xiàn)字符串"llo"其第一個(gè)字符的下標(biāo)位置
        System.out.println(str1.indexOf("llo",3));//從3下標(biāo)位置往后找子字符串 找不到返回-1
        System.out.println(str1.lastIndexOf('l'));//從后往前找第一個(gè)出現(xiàn)'l'的下標(biāo)位置
        System.out.println(str1.lastIndexOf('l',2));//從2下標(biāo)位置開始往前找
        System.out.println(str1.lastIndexOf("llo"));//從后往前找子字符串 注意字符串順序不會顛倒 hello 從后找llo 字母順序還是從左往右返回的也是字符串首字符地址
        System.out.println(str1.lastIndexOf("llo",2));//從指定下標(biāo)從后往前找
    }

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用

④.字符串的轉(zhuǎn)化

String類中提供了將其他數(shù)據(jù)類型的數(shù)據(jù)轉(zhuǎn)換為String類型的數(shù)據(jù),也提供了將String轉(zhuǎn)換為數(shù)組等方法

其他數(shù)據(jù)類型轉(zhuǎn)換為String類型

public static void main(String[] args) { //將 其他類型轉(zhuǎn)換為字符串
        String str ;
       str=String.valueOf(123); // String字符串內(nèi)有valueOf靜態(tài)方法 直接用類名調(diào)用 將所有基本數(shù)據(jù)類型數(shù)據(jù)(short byte除外) 轉(zhuǎn)換為字符串
        System.out.println(str);
        str=String.valueOf(3.14);
        System.out.println(str);

        char [] arr={'h','e','l','l','o'};
        str=String.valueOf(arr); //等價(jià)于 實(shí)例化一個(gè)字符串對象將字符數(shù)組調(diào)用其構(gòu)造方法  只能用于字符數(shù)組 整形數(shù)組不行
        System.out.println(str);
        str=String.copyValueOf(arr); //和上面等價(jià) 實(shí)現(xiàn)的都是 拷貝一份字符數(shù)組 實(shí)例化一個(gè)字符串對象 將其內(nèi)部字符數(shù)組引用變量指向拷貝的字符數(shù)組
        System.out.println(str);
        str=String.valueOf(arr,2,3);//支持重載 從指定下標(biāo)位置往后拷貝 3個(gè)字符 作為新數(shù)組給新字符串
        System.out.println(str);
        str=String.valueOf(new Note()); // 傳遞 對象地址 實(shí)際會調(diào)用對象內(nèi)的toString方法得到對象內(nèi)容的字符串形式返回用于printf
        System.out.println(str);
    }

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用
注意:

1.字符串轉(zhuǎn)化的方法String.valueOf是靜態(tài)方法不需要示例對象,但是轉(zhuǎn)換后會創(chuàng)建String對象
2. 除了short byte以外的基本數(shù)據(jù)類型數(shù)據(jù) 都可以通過String.valueOf方法轉(zhuǎn)換為對應(yīng)的字符串
3. String.valueOf可以傳字符數(shù)組引用 根據(jù)其字符數(shù)組內(nèi)容創(chuàng)建字符串但不能是整形數(shù)組
4.轉(zhuǎn)化為字符串的數(shù)據(jù)是自定義類的實(shí)例,則會將其內(nèi)容轉(zhuǎn)化為字符串形式即會調(diào)用其toString方法,而如果沒有重寫則會調(diào)用Object類的toString方法

===============================================================

String類型的一些特殊轉(zhuǎn)換
toCharArray方法 將當(dāng)前字符串 轉(zhuǎn)換為字符數(shù)組形式返回
String.format將數(shù)據(jù)格式化轉(zhuǎn)換為字符串返回(類似于C語言的格式化輸出)

public static void main(String[] args) { // 轉(zhuǎn)換字符串方法
        String str="hello";
        char []arr=str.toCharArray();  // 將字符串 轉(zhuǎn)換為一個(gè)字符數(shù)組 返回  即將字符串內(nèi)的字符數(shù)組拷貝一份字符數(shù)組返回其地址
        System.out.println(arr);
        String str1=new String(arr);  //將數(shù)組轉(zhuǎn)換為字符串  即創(chuàng)建一個(gè)字符串對象 調(diào)用其構(gòu)造方法傳數(shù)組引用 此字符串內(nèi)的數(shù)組是拷貝的新的
        String str2=String.format("%d-%3d-%.2f",2023,2,7.666); //格式化轉(zhuǎn)換為字符串按照數(shù)據(jù)的類型 按相對應(yīng)的格式輸出字符串 將其轉(zhuǎn)換為字符串
        System.out.println(str2);
    }

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用
注意:

toCharArray方法是成員方法,根據(jù)當(dāng)前字符串對象的字符串內(nèi)容轉(zhuǎn)換為對應(yīng)的字符數(shù)組(會拷貝新數(shù)組返回)
println輸出方法 如果傳參是字符數(shù)組則可以直接輸出字符數(shù)組的所有字符(是整形等則會輸出其全路徑)
格式化轉(zhuǎn)換語句是在""內(nèi)的 對應(yīng)的%d 是整形格式化 %3d則是寬度為3 不足左邊補(bǔ)空格 %f是浮點(diǎn)型格式化 %.2f是四舍五入保留兩位小數(shù)(對應(yīng)的格式化和C語言類似).
對應(yīng)的轉(zhuǎn)換的基本類型數(shù)據(jù)在后面 逗號隔開, 每個(gè)格式化類型需要對應(yīng)基本數(shù)據(jù)類型格式(不能%d 轉(zhuǎn)換浮點(diǎn)型數(shù)據(jù))

⑤.字符串的替換

即將字符串內(nèi)的指定字符或字符串內(nèi)容替換為其他字符或者字符串

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用

public static void main(String[] args) {// 替換字符串里的內(nèi)容的方法  字符或者字符串  注意:字符串都是不可變的 實(shí)際上是產(chǎn)生新的一份字符串
        String str="aaaaaa";
        str=str.replace('a','6'); //將字符串內(nèi)的所有a字符替換為6字符  可以作用于字符或者字符串
        System.out.println(str);
        str="ababc";
        str=str.replace("ab","666");//將字符串內(nèi) 所有子字符串"aa"替換為 "666"
        //CharSequence 是一個(gè)String實(shí)現(xiàn)的一個(gè)接口 這里就可以用向上轉(zhuǎn)型接受
        System.out.println(str);
        //下面兩個(gè)只能作用于字符串
        str=str.replaceAll("666","c");//和上面等價(jià) 就是將第一個(gè)參數(shù)全部替換為第二個(gè)參數(shù)
        System.out.println(str);
        str=str.replaceFirst("c","6"); //遇到的第一個(gè)字符串"a"替換為字符串"6"
        System.out.println(str);
    }

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用
注意:

replace方法可以傳遞字符參數(shù),將字符串內(nèi)所有出現(xiàn)此字符的替換為指定字符,
也可以傳字符串參數(shù),即字符串內(nèi)從左向右順序出現(xiàn)的子字符串等于字符串參數(shù)的內(nèi)容替換為指定字符串
而replaceAll和replaceFirst方法只能傳遞字符串參數(shù)
replaceAll即將字符串內(nèi)所有子字符串為字符串參數(shù)的替換為指定字符串(等價(jià)于replace替換字符串)
replaceFirst是從左往右順序?qū)⒌谝淮纬霈F(xiàn)的等于字符串參數(shù)的子字符串替換為指定字符串

⑥.字符串拆分

可以將一個(gè)完整的字符串按照指定的分隔符劃分為若干個(gè)子字符串
字符串拆分是很常用的操作,重點(diǎn)掌握

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用

public static void main(String[] args) {   //字符串拆分 方法
        String str="good good study";
        String[] strings=str.split(" ");//將字符串 以" "分成多組 會創(chuàng)建一個(gè)字符串?dāng)?shù)組 存放 返回字符串?dāng)?shù)組地址
        System.out.println(Arrays.toString(strings));
        

        String[] str1=str.split(" ",2);  // 重載 將字符串最多分成2組字符串 多余不再分 返回字符串地址
        for (int i = 0; i < str1.length; i++) { // for循環(huán)遍歷字符串?dāng)?shù)組
            System.out.println(str1[i]);
        }
        String str2="192.168.1.0";
        String [] strings1=str2.split("\\.");  //   兩個(gè)\ 代表一個(gè)\轉(zhuǎn)義再.  //. 表示轉(zhuǎn)義一個(gè).字符
        //   "丨" "*" "+" "." "\" 表示這些字符都需要轉(zhuǎn)義在前面加上"\\"  如:"\\|"表示"|" 而表示\字符需要 "\\\\"表示"\"
         
        for (int i = 0; i < strings1.length; i++) {
            System.out.println(strings1[i]);
        }
        String str3="192\\168\\1\\0";   //  一個(gè)\會為轉(zhuǎn)義字符 后面跟數(shù)字會轉(zhuǎn)義成八進(jìn)制字符 故表示\字符使其不為轉(zhuǎn)義 要\\表示一個(gè)\
        String[] strings2=str3.split("\\\\"); //  表示字符串中的\字符 進(jìn)行拆分 需要\\\\
        for (int i = 0; i < strings2.length; i++) {
            System.out.println(strings2[i]);
        }

        String str4="192;168.1'0";
        String[]strings3=str4.split("'|;|\\.");  // 將";和.和'  用| 連接 表示要拿這三個(gè)字符串作為分隔 "
        for (int i = 0; i < strings3.length; i++) {
            System.out.println(strings3[i]);
        }
    }

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用
注意:

split 方法 接受的參數(shù)是字符串類型 即根據(jù)接受的字符串在原字符串對象里按接受的分隔字符串進(jìn)行拆分,拆分的內(nèi)容不會出現(xiàn)進(jìn)行分隔的字符串

拆分后返回的是一個(gè)String類型數(shù)組對象,因?yàn)椴鸱譃榱硕鄠€(gè)字符串對象

split 兩個(gè)參數(shù)時(shí), 第二個(gè)為整數(shù) 即表示最多拆分的組數(shù), 從左往右開始拆分 當(dāng)超過最大組數(shù) 后面即便有分隔字符串也不會拆分

拆分時(shí)要注意轉(zhuǎn)義字符\ 當(dāng)字符串里想要表示一個(gè)\字符時(shí) 需要兩個(gè)\ 否則\111即會將111看成八進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)對應(yīng)的Ascll碼字符
當(dāng)分隔字符為丨 * + . \ 這五個(gè)特殊字符作為字符串時(shí) 需要在前面加上\將其轉(zhuǎn)義為作為分隔的字符串 如 \\丨 表示一個(gè)|
而在拆分時(shí)要以\字符作為拆分傳遞的字符串參數(shù)應(yīng)為\\\\ 表示字符串中的一個(gè)\字符串作為分隔符

丨 字符作為特殊字符 在作為分隔字符串時(shí)可以用| 后面再加字符串內(nèi)容即丨兩邊的字符串都可以作為分隔的字符串對字符串對象進(jìn)行分隔 如-丨, 拆分時(shí)會按- 或,對字符串對象進(jìn)行拆分

⑦.字符串截取

從一個(gè)完整的字符串之中截取出部分內(nèi)容為新的字符串

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用

public static void main(String[] args) {  //字符串 截取 方法
        String str1="0123456789";
        String str2=str1.substring(3);// 從字符串下標(biāo)為3位置開始截取 截取出3位置和其后的字符
        System.out.println(str2);
        String str3=str1.substring(4,7);  //截取出 下標(biāo) [4,7)范圍內(nèi)的字符串
        System.out.println(str3);
        String str4=(String) str1.subSequence(0,7);// 也可以拆分 會返回charSequence接口類型  得向下轉(zhuǎn)型
        System.out.println(str4);
    }

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用

注意:

subString一個(gè)整形參數(shù)時(shí)即從當(dāng)前整形開始截取到字符串末尾
subString兩個(gè)整形參數(shù)時(shí)是左閉右開區(qū)間 如: 3 5 截取的是下標(biāo)3和下標(biāo)4兩個(gè)字符組成的字符串
subSequence方法和subString方法一樣 但是只能設(shè)定兩個(gè)參數(shù)截取區(qū)間,其返回的是charSequence接口類型,需要再向下轉(zhuǎn)型
charSequence是String實(shí)現(xiàn)的一個(gè)接口,其內(nèi)部具有一些抽象方法和默認(rèn)方法~

⑧.其他一些常用字符串方法(大小寫轉(zhuǎn)換,去除左右空字符,字符串匹配)

字符串大小寫的轉(zhuǎn)換,子字符串的包含,字符串去除左右空格方法示例~
字符串還有很多方法,需要了解看文檔去使用,

字符串 中大小寫字符串的轉(zhuǎn)換

 public static void main(String[] args) { //字符串大小寫轉(zhuǎn)換
        String str1="ABCD";
        String str2="abcd";

        System.out.println(str1.toLowerCase());  //將字符串內(nèi)大寫字符都變成小寫
        System.out.println(str2.toUpperCase());   //將字符串內(nèi)小寫字符都變成大寫
        System.out.println(str1);  //變化實(shí)際上返回的是一個(gè)新字符串里面存放了變化后的字符串

        System.out.println(str1.toUpperCase()==str1); // str1本身是大寫 再轉(zhuǎn)換為大寫 沒有發(fā)生改變
        System.out.println(str1.toLowerCase()==str1);// str1是大寫轉(zhuǎn)換為小寫 創(chuàng)建了新對象
        // 如果當(dāng)前字符串全是小寫或者大寫不需要變化情況下 則沒有對字符串進(jìn)行修改會返回當(dāng)前字符串地址 (效率)
    }

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用

注意:
String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用
轉(zhuǎn)換后是創(chuàng)建新的字符串對象, 但在進(jìn)行轉(zhuǎn)換前會會先進(jìn)行檢查當(dāng)當(dāng)字符串內(nèi)容轉(zhuǎn)換前和轉(zhuǎn)換后沒有變化即全是大寫再轉(zhuǎn)換大寫時(shí),會直接返回當(dāng)前字符串對象,不做后續(xù)任何轉(zhuǎn)換 (減少不必要的操作)

大寫轉(zhuǎn)小寫:toLowerCase 小寫轉(zhuǎn)大寫 :toUpperCase 只涉及到對字母的轉(zhuǎn)換 ,當(dāng)不需要轉(zhuǎn)換時(shí),會返回原對象

==============================================================
trim去除字符串左右兩邊空格

public static void main(String[] args) {  //去掉 字符串左右兩邊空白 方法
        String str1="         hello  world         ";
        String str2=str1.trim();  // 將左右兩邊的空白字符(空格 換行 回車產(chǎn)生的字符)全部刪掉
        System.out.println(str2);
        String str3=str1.replace(" ","");  //而使用替換操作 將空格字符串替換為空字符串會將空格全部替換
        System.out.println(str3);
    }

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用
注意: trim方法 是將字符串對象左右兩邊產(chǎn)生的空白字符串全部清除,字符間的仍會存在

==============================================================
contains方法 判斷某個(gè)字符串是否為主字符串的子串

public static void main(String[] args) {  //是否是子字符串
        String str="abcde";
        System.out.println(str.contains("ab"));  //查詢一個(gè)字符串是否是另一個(gè)字符串的子字符串 實(shí)際底層用的 是indexOf方法
        System.out.println(str.indexOf("bc"));// 第一次出現(xiàn)bc的首字符下標(biāo), 即也可以判斷字符串內(nèi)是否存在此字符串
    }

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用
String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用

contains實(shí)際上底層調(diào)用的是indexOf方法 即只要在主字符串內(nèi)找到第一次出現(xiàn)的要查找的字符即 存在包含關(guān)系 屬于方法復(fù)用~

此方法也是串中提到的字符串匹配問題~
,即判斷一個(gè)字符串是否為另一個(gè)字符串的子字符串,其判斷方法String已經(jīng)寫好,但有很多關(guān)于這方面的算法:BF暴力匹配算法 BM算法
KMP算法等 , 學(xué)編程 不僅要會利用內(nèi)置的庫方法 也要學(xué)習(xí)他人優(yōu)秀的算法鍛煉思維~

本文介紹了Java中對字符串進(jìn)行描述操作的String類,
以及其常用的一些基本操作方法,其所有共同點(diǎn)是對字符串的內(nèi)容進(jìn)行修改是會創(chuàng)建新字符串對象,對新字符串對象進(jìn)行修改后返回新字符串對象,
學(xué)會使用這些方法,對字符串的使用能更上一層
在下一篇會介紹String不可變性,字符串常量池和StringBuilder和StringBuffer

String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用文章來源地址http://www.zghlxwxcb.cn/news/detail-422582.html

到了這里,關(guān)于String類的學(xué)習(xí)筆記(上):介紹String類及其常用方法的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Rust 標(biāo)準(zhǔn)庫字符串類型String及其46種常用方法

    Rust 標(biāo)準(zhǔn)庫字符串類型String及其46種常用方法

    Rust主要有兩種類型的字符串:str和String str 由[u8]表示,UTF-8編碼的字符串的引用,字符串字面值,也稱作字符串切片。&str用于查看字符串中的數(shù)據(jù)。它的大小是固定的,即它不能調(diào)整大小。 String String 類型來自標(biāo)準(zhǔn)庫,它是可修改、可變長度、可擁有所有權(quán)的同樣使用UTF

    2024年02月07日
    瀏覽(42)
  • String類的學(xué)習(xí)筆記(下):字符串拼接以及StringBuilder和StringBuffer的學(xué)習(xí)

    String類的學(xué)習(xí)筆記(下):字符串拼接以及StringBuilder和StringBuffer的學(xué)習(xí)

    本文介紹了String類對字符串進(jìn)行拼接的方法 和拼接字符串的效率分析 以及能對字符串內(nèi)容進(jìn)行修改的StringBuilder和StringBuffer類其常用方法和區(qū)別 , 最后介紹了兩個(gè)字符串經(jīng)典面試題 1.String常用方法學(xué)習(xí)-2.String的不可變和字符串常量池-StringBuilder和StringBuffer String類是Java中用來描

    2024年02月05日
    瀏覽(40)
  • Java基礎(chǔ)09 —— 字符序列--String、StringBuilder、StringBuffer區(qū)別及其方法介紹

    字符與字符串 字符類型(char)是Java中的基本數(shù)據(jù)類型,占2個(gè)字節(jié)16位,默認(rèn)值是 ‘u0000’ 。字符是用單引號引住的單個(gè)符號. 字符串(String)是用雙引號引住的任意個(gè)字符,是引用數(shù)據(jù)類型,默認(rèn)值是null 。字符串其實(shí)就是字符組成的序列 字符串聲明 舉例: 字符序列 多個(gè)字符

    2024年02月09日
    瀏覽(22)
  • 【C++】深度剖析string類的底層結(jié)構(gòu)及其模擬實(shí)現(xiàn)

    【C++】深度剖析string類的底層結(jié)構(gòu)及其模擬實(shí)現(xiàn)

    在上兩篇中,我們已經(jīng)學(xué)習(xí)了string類的一個(gè)使用,并且做了一些相關(guān)的OJ練習(xí),相信大家現(xiàn)在對于string的使用已經(jīng)沒什么問題了。 那我們這篇文章呢,就來帶大家對string進(jìn)行一個(gè)模擬實(shí)現(xiàn),這篇文章過后,有些地方大家或許就可以理解的更深刻一點(diǎn)。 那通過之前文章的學(xué)習(xí)我

    2023年04月17日
    瀏覽(41)
  • C++中string類的常用函數(shù)

    C++中string類的常用函數(shù)

    引言:在C語言中對于字符串的一些操作,例如在字符串末尾增加字符,對字符串拷貝等,我們可以通過調(diào)用庫中函數(shù)來完成這些操作,在C++中,我們把這些常規(guī)操作封裝成了string類,可以通過類對象直接調(diào)用這些函數(shù),使得更加符合了面向?qū)ο蟮乃枷搿?作用:返回字符串的有效字符長度

    2024年02月08日
    瀏覽(25)
  • c++系列之string類的常用接口函數(shù)

    c++系列之string類的常用接口函數(shù)

    ?? ?? 博客:小怡同學(xué) ?? ?? 個(gè)人簡介:編程小萌新 ?? ?? 如果博客對大家有用的話,請點(diǎn)贊關(guān)注再收藏 ?? string時(shí)表示字符串的字符類 //使用 string類包含#include 頭文件 以及 using namespace std string容量相關(guān)接口 (size(),capacity(),clear(),empty) 1.size()是元素個(gè)數(shù) //. size()與length()方

    2024年02月10日
    瀏覽(24)
  • 【C++】string類的深入介紹

    【C++】string類的深入介紹

    作者:愛寫代碼的剛子 時(shí)間:2023.5.26 本篇博客主要深入介紹string類、string類的常用接口及操作,string中迭代器的使用,以及string中的部分方法。(由于篇幅有限,剩余方法以及string的深淺拷貝將在之后的博客介紹) 前言:C語言中,字符串是以’\\0’結(jié)尾的一些字符的集合,

    2024年02月08日
    瀏覽(26)
  • 【C++ STL】string類最全解析(什么是string?string類的常用接口有哪些?)

    【C++ STL】string類最全解析(什么是string?string類的常用接口有哪些?)

    目錄 一、前言 ?二、什么是 string ? ??? string 類的基本概念 ?? string 類與 char * 的區(qū)別? ??? string 類的作用 ??? 總結(jié) ?三、string 的常用接口詳解 ???string 類對象的默認(rèn)成員函數(shù) ① 構(gòu)造函數(shù)(初始化) ② 賦值重載(初始化) ??string 類對象的訪問及遍歷操作 ① operator[ ]

    2024年04月17日
    瀏覽(30)
  • 【C++】——string類的介紹及模擬實(shí)現(xiàn)

    【C++】——string類的介紹及模擬實(shí)現(xiàn)

    C語言中,字符串是以’\\0’結(jié)尾的一些字符的集合,為了操作方便,C標(biāo)準(zhǔn)庫中提供了一些str系列的庫函數(shù),但是這些庫函數(shù)與字符串是分離開的,不太符合OOP的思想,而且底層空間需要用戶自己管理,稍不留神可能還會越界訪問。所以我們今天來學(xué)習(xí)C++標(biāo)準(zhǔn)庫中的string類。

    2024年02月07日
    瀏覽(31)
  • C# FileInfo類的使用方法及常用操作(附代碼示例)

    C# FileInfo類的使用方法及常用操作(附代碼示例)

    在C#編程中,處理文件操作是一項(xiàng)常見而重要的任務(wù)。為了更好地管理和操作文件,C#提供了一個(gè)強(qiáng)大且靈活的FileInfo類。本文將深入探討C# FileInfo類的使用方法,并為您提供一些實(shí)用的代碼示例。 FileInfo類是位于System.IO命名空間中的一個(gè)類,它提供了一系列用于操縱文件的屬

    2024年02月06日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包