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

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

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

今天學(xué)習(xí)到了Java中的String,String是Java中一個(gè)非常重要的類,在我們做字符串操作的時(shí)候,需要使用到String。

一、什么是String

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

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

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

String str = "abc";

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

String str = "abc" + "def";

二、如何定義一個(gè)String

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

1. 用雙引號(hào)定義

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

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

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

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

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

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

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

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

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

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

String可以傳入一個(gè)char數(shù)組進(jìn)行初始化,String會(huì)拼接char數(shù)組當(dāng)中的所有字符。

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

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

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

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

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

三、String中的一些常用方法

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

1 字符串比較

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

1.1 字符串使用 ==

字符串使用 == 操作,其實(shí)是一個(gè)有坑的點(diǎn),一般不用,這里不在多講,有興趣的可以嘗試一下以下代碼。

1.2 字符串使用equals()

字符串的比較,使用這個(gè)方法比較多一點(diǎn)。

 1.3 使用 equalsIgnoreCase()

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

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

1.4 cpmpareTo和compareToIgnoreCase

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

具體比較方法如下:

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

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

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

 2.1 toUpperCase()

這個(gè)方法就是把字符串全部轉(zhuǎn)換為大寫。

2.2 toLowerCase()

這個(gè)方法把字符串全部轉(zhuǎn)換為小寫 

3  字符串長(zhǎng)度獲取

3.1 length()

字符串長(zhǎng)度的獲取通過以下方法獲取。

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

4.1 contains()

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

5 字符串切割和拼接

 5.1 split()

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

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

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

對(duì)于字符串切割,我們需要傳入一個(gè)作為分割的字符,在上方的代碼當(dāng)中傳入的是一個(gè)",",當(dāng)然在具體應(yīng)用的時(shí)候,還要根據(jù)具體的場(chǎng)景做分析。

5.2 join()

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

zhangsan-lisi-wangwu-liuliu

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

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

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

6.1 indexOf()

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

indexOf方法有兩種,一種是直接傳匹配字串,另外一種是傳入匹配子串的同時(shí)傳入開始匹配的起始下邊,比如我們從索引10開始尋找,因?yàn)閘isi的開始索引為9,當(dāng)我們把開始匹配的下標(biāo)放到10的時(shí)候,就沒有辦法在匹配到"lisi"了。

6.2 lastIndexOf() 

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

7 獲取字串

7.1 substring()

字串可以判斷存不存在,可以獲取起始下標(biāo),當(dāng)然也可以獲取子串。通過起始下標(biāo)和結(jié)束下標(biāo)來截取子串。

8 字符串替換 

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

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

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

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

8.1  replace()

8.2 replaceAll()

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

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

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

相關(guān)文章

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

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

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

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

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

    JAVA對(duì)list集合進(jìn)行排序Collections.sort()

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

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

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

    深入理解Spring Boot的日志管理

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

    java String、Json對(duì)象與byte數(shù)組轉(zhuǎn)換方式

    這篇文章主要介紹了java String、Json對(duì)象與byte數(shù)組轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    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 的作用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • java中給實(shí)體對(duì)象屬性的空值賦默認(rèn)值

    java中給實(shí)體對(duì)象屬性的空值賦默認(rèn)值

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

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

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

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

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

最新評(píng)論