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

Java基礎之String類使用與字符串比較

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

一、String類概述

String類代表字符串,java程序中的所有字符串文字(例如"abc")都被實現(xiàn)為此類的實例。也就是說,java程序中所有的雙引號字符串,都是String類的對象。

String類在java.lang包下,所有使用的時候不需要導包!

二、String類的特點

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

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

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

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

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

示例代碼:

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

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

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

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

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

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

五、字符串的比較

==號的作用

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

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

equals方法的作用

方法介紹

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

示例代碼:

public class StringDemo02 {
    public static void main(String[] args) {
        //構(gòu)造方法的方式得到對象
        char[] chs = {'a', 'b', 'c'};
        String s1 = new String(chs);
        String s2 = new String(chs);
        //直接賦值的方式得到對象
        String s3 = "abc";
        String s4 = "abc";
        //比較字符串對象地址是否相同
        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));
    }
}    

六、用戶登錄案例

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

思路:

1、已知用戶名和密碼,定義兩個字符串表示即可

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

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

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

 示例代碼:

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

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

相關(guān)文章

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

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

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

    springboot中使用@NotNull注解無效解決方法

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

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

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

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

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

    java使用PageInfo的list通用分頁處理demo

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

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

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

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

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

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

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

    Java中常見死鎖與活鎖的實例詳解

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

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

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

最新評論

鲜城| 乐昌市| 邢台县| 拜城县| 东山县| 碌曲县| 昌邑市| 大化| 丹江口市| 洮南市| 东兰县| 临沂市| 东丰县| 太保市| 卓资县| 大丰市| 确山县| 九龙坡区| 海晏县| 茶陵县| 西城区| 隆安县| 当雄县| 遵义市| 拉萨市| 壤塘县| 儋州市| 揭东县| 宜兰县| 拜城县| 林周县| 扶沟县| 敦化市| 永和县| 古蔺县| 防城港市| 锦屏县| 泰安市| 福州市| 桃园县| 来安县|