欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java String字符串的常用使用方法

 更新時間:2025年04月09日 11:24:49   作者:lili-felicity  
String是JDK提供的一個類,是引用類型,并不是基本的數(shù)據(jù)類型,String用于字符串操作,在之前學習c語言的時候,對于一些字符串,會初始化字符數(shù)組表示,本文給大家介紹Java String字符串的常用使用方法,感興趣的朋友一起看看吧

今天學習到了Java中的String,String是Java中一個非常重要的類,在我們做字符串操作的時候,需要使用到String。

一、什么是String

String是JDK提供的一個類,是引用類型,并不是基本的數(shù)據(jù)類型,String用于字符串操作,在之前學習c語言的時候,對于一些字符串,會初始化字符數(shù)組表示。

char str [] = {'a', 'b', 'c'};

在Java中,String像是一個很大的char數(shù)組,我們在定義字符串的時候,不需要再去像上方代碼一樣去定義,而是直接可以使用String去定義。

String str = "abc";

String就像是很大的char數(shù)組,但相比于char數(shù)組而言,String可以做字符串拼接操作,而char數(shù)組并不能直接去做字符串的拼接,如下代碼。

String str = "abc" + "def";

二、如何定義一個String

既然知道String是一個類,那么類一定有他的初始化方法,在Java中,String的初始化有以下幾種常用的方式。這是官方給出的一些介紹。

1. 用雙引號定義

String字符串,可以直接通過雙引號來定義,把需要的字符串內(nèi)容用雙引號包裹,可以直接對String類型的對象賦值。

public class StringDemo {
    public static void main(String[] args) {
        String str = "abc";
    }
}

2. 通過構造函數(shù)定義

String作為一個類,可以通過new關鍵字初始化,在Java中可以通過構造函數(shù)對String類型的對象賦值。

public class StringDemo {
    public static void main(String[] args) {
        String str = new String("abc");
        System.out.println(str);
    }
}

這是一種基本的構造字符串的方式,除此之外還有一些其他的構造方式。

通過無參構造函數(shù)初始化

這樣的方式初始化的String的值為空,也就是什么都沒有。

public String() {
        this.value = "".value;
        this.coder = "".coder;
    }

通過char數(shù)組進行初始化

String可以傳入一個char數(shù)組進行初始化,String會拼接char數(shù)組當中的所有字符。

public String(char value[]) {
        this(value, 0, value.length, null);
    }

帶位移的方式通過char數(shù)組進行初始化

這樣的方式和上邊的方式其實是一樣的,只不過在初始化字符串的時候,會根據(jù)傳入的offset作為char數(shù)組開始拼接的起始索引,并且拼接上count個字符。

public String(char value[], int offset, int count) {
        this(value, offset, count, rangeCheck(value, offset, count));
    }

除了以上幾種常用的方式外,還有一些其他的方式,如通過int數(shù)組進行初始化,通過byte數(shù)組進行初始化,大家感興趣的話可以自己研究一下。 

三、String中的一些常用方法

了解到什么是String,下面就要理解一些String中常用的方法。

1 字符串比較

字符串之間的比較又分為很多不同的方法,下邊是一些常用的字符串比較方法。

1.1 字符串使用 ==

字符串使用 == 操作,其實是一個有坑的點,一般不用,這里不在多講,有興趣的可以嘗試一下以下代碼。

1.2 字符串使用equals()

字符串的比較,使用這個方法比較多一點。

 1.3 使用 equalsIgnoreCase()

這個方法相比于普通的equals方法的區(qū)別是,這個方法是忽略大小寫的。

除此之外,字符串比較還有這兩個方法。

1.4 cpmpareTo和compareToIgnoreCase

這兩個方法和equals方法的區(qū)別是,equals返回的是boolean類型的變量,而compare方法返回的是int類型的變量。

具體比較方法如下:

兩個字符串按照單個字符從前向后作比較,遇到不同的字符,返回兩個字符的差值如果兩個字符比較完成了,沒有發(fā)現(xiàn)不同的字符,返回兩個字符串的長度差。

2 字符串大小寫轉換 

String中還提供了一些字符串大小寫轉換的方法。

 2.1 toUpperCase()

這個方法就是把字符串全部轉換為大寫。

2.2 toLowerCase()

這個方法把字符串全部轉換為小寫 

3  字符串長度獲取

3.1 length()

字符串長度的獲取通過以下方法獲取。

4  判斷是否包含一段字符串

4.1 contains()

String是有子字符串的概念的,比如我們要查看某個字符串中是否包含一小段的字符串,我們可以用以下方法。

5 字符串切割和拼接

 5.1 split()

字符串的切割和拼接是非常實用的方法,現(xiàn)在我們有這樣的一個字符串。

String students = "zhangsan,lisi,wangwu,liuliu";

我們想要把這些姓名拆分出來,就需要用到下邊的方法。

對于字符串切割,我們需要傳入一個作為分割的字符,在上方的代碼當中傳入的是一個",",當然在具體應用的時候,還要根據(jù)具體的場景做分析。

5.2 join()

除了字符串分割外,當然也有字符串拼接的操作,如果我們想把studentArr中的學生姓名用橫杠拼接起來,像這樣

zhangsan-lisi-wangwu-liuliu

需要以下代碼完成,這里只介紹基本的使用。

6 字符串尋找字串起始位置

我們可以判斷字串是否存在,也可以獲取子串在字符串的起始索引。

6.1 indexOf()

看下方代碼,我們試圖在字符串中尋找有沒有值為"lisi"的字符串,我們調(diào)用indexOf方法就可以,

indexOf方法有兩種,一種是直接傳匹配字串,另外一種是傳入匹配子串的同時傳入開始匹配的起始下邊,比如我們從索引10開始尋找,因為lisi的開始索引為9,當我們把開始匹配的下標放到10的時候,就沒有辦法在匹配到"lisi"了。

6.2 lastIndexOf() 

和indexOf()是一樣的,不同的是,lastIndexOf()是判斷的結尾,是從后往前找的。

7 獲取字串

7.1 substring()

字串可以判斷存不存在,可以獲取起始下標,當然也可以獲取子串。通過起始下標和結束下標來截取子串。

8 字符串替換 

replace:有兩個重載形式,replace(char oldChar, char newChar)用于字符替換,replace(CharSequence target, CharSequence replacement) 可用于字符串替換。這里的CharSequence是字符串序列,簡單理解就是字符串 ,該方法不會將參數(shù)解析為正則表達式。
replaceAll:方法簽名為replaceAll(String regex, String replacement),參數(shù)regex要求是一個正則表達式字符串,它會按照正則表達式規(guī)則去匹配字符串中的子串并替換 。如果傳入的不是正則表達式,也會當作普通字符串處理。
replaceFirst:方法簽名為replaceFirst(String regex, String replacement) ,和replaceAll一樣,第一個參數(shù)regex也是基于正則表達式的,不過它只替換第一次匹配到的子串。當傳入非正則表達式的普通字符串時,也能進行字符串替換操作。

對于一些不想要的字符,也是可以替換的,拿上方的這個字符串來說。

String students = "zhangsan,lisi,wangwu,liuliu";

如果不想要逗號了,想要用橫線分割,下方代碼可以實現(xiàn)。

8.1  replace()

8.2 replaceAll()

與replace()不同的是,replaceAll()是可以傳入正則表達式的,這里不在講正則表達式,以下的方式也是可以替換的。

 以上就是一些常用的String的使用方法。

到此這篇關于Java String字符串的基本使用的文章就介紹到這了,更多相關Java String字符串使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java實現(xiàn)冒泡排序算法

    Java實現(xiàn)冒泡排序算法

    這篇文章主要為大家詳細介紹了java實現(xiàn)冒泡排序算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • windows下java環(huán)境變量的設置方法

    windows下java環(huán)境變量的設置方法

    在“系統(tǒng)變量”中,設置3項屬性,JAVA_HOME,PATH,CLASSPATH(大小寫無所謂),若已存在則點擊“編輯”,不存在則點擊“新建”
    2013-09-09
  • JAVA對list集合進行排序Collections.sort()

    JAVA對list集合進行排序Collections.sort()

    這篇文章主要介紹了JAVA對list集合進行排序Collections.sort(),需要的朋友可以參考下
    2017-01-01
  • rabbitmq五種模式詳解(含實現(xiàn)代碼)

    rabbitmq五種模式詳解(含實現(xiàn)代碼)

    這篇文章主要介紹了rabbitmq五種模式詳解(含實現(xiàn)代碼),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 深入理解Spring Boot的日志管理

    深入理解Spring Boot的日志管理

    這篇文章主要給大家深入的介紹了Spring Boot日志管理的相關資料,文中介紹的很詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • java String、Json對象與byte數(shù)組轉換方式

    java String、Json對象與byte數(shù)組轉換方式

    這篇文章主要介紹了java String、Json對象與byte數(shù)組轉換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • java中\(zhòng)t,\n,\r,\b,\f 的作用及說明

    java中\(zhòng)t,\n,\r,\b,\f 的作用及說明

    這篇文章主要介紹了java中\(zhòng)t,\n,\r,\b,\f 的作用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • java中給實體對象屬性的空值賦默認值

    java中給實體對象屬性的空值賦默認值

    這篇文章主要介紹了java中給實體對象屬性的空值賦默認值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java出現(xiàn)中文亂碼問題分析及解決方案

    Java出現(xiàn)中文亂碼問題分析及解決方案

    在Java開發(fā)中,處理中文亂碼是一個常見的問題,由于字符集和編碼的復雜性,開發(fā)者可能面臨各種導致亂碼的情況,正確地處理中文字符集對于確保應用程序的可靠性和國際化至關重要,本文給大家介紹了Java中文亂碼分析及解決方案,需要的朋友可以參考下
    2024-02-02
  • java加密算法--MD5加密和哈希散列帶秘鑰加密算法源碼

    java加密算法--MD5加密和哈希散列帶秘鑰加密算法源碼

    這篇文章主要介紹了java加密算法--MD5加密和哈希散列帶秘鑰加密算法源碼的相關資料,這里附實例代碼,幫助到大家學習理解,需要的朋友可以參考下
    2016-11-11

最新評論