最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java基礎(chǔ)之String類(lèi)使用與字符串比較

 更新時(shí)間:2022年08月25日 09:16:51   作者:夏志121  
String類(lèi)代表字符串,java程序中的所有字符串文字(例如"abc")都被實(shí)現(xiàn)為此類(lèi)的實(shí)例。本文將詳解String類(lèi)的使用,以及如何進(jìn)行字符串比較

一、String類(lèi)概述

String類(lèi)代表字符串,java程序中的所有字符串文字(例如"abc")都被實(shí)現(xiàn)為此類(lèi)的實(shí)例。也就是說(shuō),java程序中所有的雙引號(hào)字符串,都是String類(lèi)的對(duì)象。

String類(lèi)在java.lang包下,所有使用的時(shí)候不需要導(dǎo)包!

二、String類(lèi)的特點(diǎn)

字符串不可變,它們的值在創(chuàng)建后不能被更改 雖然String的

這里是引用值是不可變的,但是它們可以被共享

字符串效果上相當(dāng)于字符數(shù)組(char[]),但是底層原理是字節(jié)數(shù)組(byte[])

三、String類(lèi)的構(gòu)造方法

方法名說(shuō)明
public String()創(chuàng)建一個(gè)空白字符串對(duì)象,不含有任何內(nèi)容
public String(char[] chs)根據(jù)字符數(shù)組的內(nèi)容,來(lái)創(chuàng)建字符串對(duì)象
public String(byte[] bys)根據(jù)字節(jié)數(shù)組的內(nèi)容,來(lái)創(chuàng)建字符串對(duì)象
String s = "abc"; 直接賦值的方式創(chuàng)建字符串對(duì)象,內(nèi)容就是abc

示例代碼:

public class StringDemo01 {
    public static void main(String[] args) {
        //public String():創(chuàng)建一個(gè)空白字符串對(duì)象,不含有任何內(nèi)容
        String s1 = new String();
        System.out.println("s1:" + s1);
        //public String(char[] chs):根據(jù)字符數(shù)組的內(nèi)容,來(lái)創(chuàng)建字符串對(duì)象
        char[] chs = {'a', 'b', 'c'};
        String s2 = new String(chs);
        System.out.println("s2:" + s2);
        //public String(byte[] bys):根據(jù)字節(jié)數(shù)組的內(nèi)容,來(lái)創(chuàng)建字符串對(duì)象
        byte[] bys = {97, 98, 99};
        String s3 = new String(bys);
        System.out.println("s3:" + s3);
        //String s = “abc”; 直接賦值的方式創(chuàng)建字符串對(duì)象,內(nèi)容就是abc
        String s4 = "abc";
        System.out.println("s4:" + s4);
    }
}

四、創(chuàng)建字符串對(duì)象兩種方式的區(qū)別

通過(guò)構(gòu)造方法創(chuàng)建

通過(guò) new 創(chuàng)建的字符串對(duì)象,每一次 new 都會(huì)申請(qǐng)一個(gè)內(nèi)存空間,雖然內(nèi)容相同,但是地址值不同

直接賦值方式創(chuàng)建

以“”方式給出的字符串,只要字符序列相同(順序和大小寫(xiě)),無(wú)論在程序代碼中出現(xiàn)幾次,JVM 都只會(huì)建立一個(gè) String 對(duì)象,并在字符串池中維護(hù)

五、字符串的比較

==號(hào)的作用

比較基本數(shù)據(jù)類(lèi)型:比較的是具體的值

比較引用數(shù)據(jù)類(lèi)型:比較的是對(duì)象的地址

equals方法的作用

方法介紹

public boolean equals(String s)     比較兩個(gè)字符串內(nèi)容是否相同、區(qū)分大小寫(xiě)

示例代碼:

public class StringDemo02 {
    public static void main(String[] args) {
        //構(gòu)造方法的方式得到對(duì)象
        char[] chs = {'a', 'b', 'c'};
        String s1 = new String(chs);
        String s2 = new String(chs);
        //直接賦值的方式得到對(duì)象
        String s3 = "abc";
        String s4 = "abc";
        //比較字符串對(duì)象地址是否相同
        System.out.println(s1 == s2);
        System.out.println(s1 == s3);
        System.out.println(s3 == s4);
        System.out.println("--------");
        //比較字符串內(nèi)容是否相同
        System.out.println(s1.equals(s2));
        System.out.println(s1.equals(s3));
        System.out.println(s3.equals(s4));
    }
}    

六、用戶(hù)登錄案例

需求:已知用戶(hù)名和密碼,請(qǐng)用程序?qū)崿F(xiàn)模擬用戶(hù)登錄,總共給三次機(jī)會(huì),登錄之后,給出相應(yīng)的提示

思路:

1、已知用戶(hù)名和密碼,定義兩個(gè)字符串表示即可

2、鍵盤(pán)錄入要登錄的用戶(hù)名和密碼,用 Scanner 實(shí)現(xiàn)

3、拿鍵盤(pán)錄入的用戶(hù)名、密碼和已知的用戶(hù)名、密碼進(jìn)行比較,給出相應(yīng)的提示。字符串的內(nèi)容比較,用equals() 方法實(shí)現(xiàn)

4、用循環(huán)實(shí)現(xiàn)多次機(jī)會(huì),這里的次數(shù)明確,采用for循環(huán)實(shí)現(xiàn),并在登錄成功的時(shí)候,使用break結(jié)束循環(huán)

 示例代碼:

public class StringTest01 {
    public static void main(String[] args) {
        //已知用戶(hù)名和密碼,定義兩個(gè)字符串表示即可
        String usernam = "xiazhi121";
        String passwor = "12345";
        //用循環(huán)實(shí)現(xiàn)多次機(jī)會(huì),這里的次數(shù)明確,采用for循環(huán)實(shí)現(xiàn),并在登錄成功的時(shí)候,使用break結(jié)束循環(huán)
        for(int i=0; i<3; i++) {
            //鍵盤(pán)錄入要登錄的用戶(hù)名和密碼,用 Scanner 實(shí)現(xiàn)
            Scanner sc = new Scanner(System.in);
            System.out.println("請(qǐng)輸入用戶(hù)名:");
            String name = sc.nextLine();
            System.out.println("請(qǐng)輸入密碼:");
            String pwd = sc.nextLine();
            //拿鍵盤(pán)錄入的用戶(hù)名、密碼和已知的用戶(hù)名、密碼進(jìn)行比較,給出相應(yīng)的提示。字符串的內(nèi)容比較,用equals() 方法實(shí)現(xiàn)
            if (name.equals(usernam) && pwd.equals(passwor)) {
                System.out.println("登錄成功");
                break;
            } else {
                if(2-i == 0) {
                    System.out.println("你的賬戶(hù)被鎖定,請(qǐng)與管理員聯(lián)系");
                } else {
                    //2,1,0
                    //i,0,1,2
                    System.out.println("登錄失敗,你還有" + (2 - i) + "次機(jī)會(huì)");
                }
            }
        }
    }
}

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

相關(guān)文章

  • 使用Scala生成隨機(jī)數(shù)的方法示例

    使用Scala生成隨機(jī)數(shù)的方法示例

    這篇文章主要介紹了使用Scala生成隨機(jī)數(shù)的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • springboot中使用@NotNull注解無(wú)效解決方法

    springboot中使用@NotNull注解無(wú)效解決方法

    這篇文章主要給大家介紹了關(guān)于springboot中使用@NotNull注解無(wú)效的解決方法,進(jìn)行參數(shù)校驗(yàn)的時(shí)候,加了@NotNull注解,@Validated注解和@Valid注解,但是參數(shù)校驗(yàn)的時(shí)候不生效,需要的朋友可以參考下
    2023-08-08
  • springBoot整合redis做緩存具體操作步驟

    springBoot整合redis做緩存具體操作步驟

    緩存主要是將數(shù)據(jù)存在計(jì)算機(jī)的內(nèi)存當(dāng)中,以便于在使用的時(shí)候是可以實(shí)現(xiàn)快速讀取使用,它的快也是相對(duì)于硬盤(pán)讀取而言,這篇文章主要給大家介紹了關(guān)于springBoot整合redis做緩存的具體操作步驟,需要的朋友可以參考下
    2024-04-04
  • Java獲取隨機(jī)數(shù)的n種方法

    Java獲取隨機(jī)數(shù)的n種方法

    項(xiàng)目中,我們常常會(huì)用到隨機(jī)數(shù),本文主要介紹了Java獲取隨機(jī)數(shù)的n種方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • java使用PageInfo的list通用分頁(yè)處理demo

    java使用PageInfo的list通用分頁(yè)處理demo

    這篇文章主要為大家介紹了java使用PageInfo的list通用分頁(yè)處理demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2023-12-12
  • 淺談java面向?qū)ο?類(lèi),封裝,this,構(gòu)造方法)

    淺談java面向?qū)ο?類(lèi),封裝,this,構(gòu)造方法)

    下面小編就為大家?guī)?lái)一篇淺談java面向?qū)ο?類(lèi),封裝,this,構(gòu)造方法)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • Java 8 Stream 的終極技巧——Collectors 功能與操作方法詳解

    Java 8 Stream 的終極技巧——Collectors 功能與操作方法詳解

    這篇文章主要介紹了Java 8 Stream Collectors 功能與操作方法,結(jié)合實(shí)例形式詳細(xì)分析了Java 8 Stream Collectors 功能、操作方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • 如何在spring官網(wǎng)查找XML基礎(chǔ)配置文件

    如何在spring官網(wǎng)查找XML基礎(chǔ)配置文件

    這篇文章主要介紹了如何在spring官網(wǎng)查找XML基礎(chǔ)配置文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Java中常見(jiàn)死鎖與活鎖的實(shí)例詳解

    Java中常見(jiàn)死鎖與活鎖的實(shí)例詳解

    這篇文章主要介紹了Java中常見(jiàn)死鎖與活鎖的實(shí)例詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • JVM內(nèi)存模型知識(shí)點(diǎn)總結(jié)

    JVM內(nèi)存模型知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家分享了關(guān)于JVM內(nèi)存模型的學(xué)習(xí)心得以及相關(guān)知識(shí)點(diǎn)總結(jié),有興趣的朋友們跟著學(xué)習(xí)下。
    2019-05-05

最新評(píng)論

南部县| 丰宁| 通江县| 重庆市| 肥乡县| 高州市| 贵定县| 固始县| 通山县| 濉溪县| 宜州市| 汝阳县| 凤冈县| 镶黄旗| 姜堰市| 玉门市| 乌海市| 宜丰县| 丰宁| 清原| 嘉善县| 赣州市| 晋江市| 洞口县| 舞钢市| 那坡县| 凉城县| 长阳| 临朐县| 汶上县| 托里县| 天等县| 桦甸市| 行唐县| 凤山县| 东乡族自治县| 商南县| 江永县| 三河市| 辰溪县| 南部县|