Java?超基礎(chǔ)講解String的使用
1.String概述
String類在java.lang包下,所以使用的時(shí)候不需要導(dǎo)包。
String類代表字符串,Java程序中的所有字符串文字(如:“abc”)都被實(shí)現(xiàn)為此類的實(shí)例。
2.特點(diǎn)
- 字符串不可變,他們的值創(chuàng)建后不能被更改
- 雖然String的值是不可變的,但是它們可以被共享
- 字符串效果上相當(dāng)于字符數(shù)組(char[ ] ),但是底層原理是字節(jié)數(shù)組(byte[ ])
3.String構(gòu)造方法
項(xiàng)目 | Value |
---|---|
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 = “abc” | 直接賦值的方式創(chuàng)建字符串對(duì)象,內(nèi)容就是abc |
4.String對(duì)象的特點(diǎn)
通過(guò)new創(chuàng)建的字符串對(duì)象,每一次new都會(huì)申請(qǐng)一個(gè)內(nèi)存空間,雖然內(nèi)容相同,但是地址值不同
char[ ] chs = {‘a’,‘b’,‘c’};
String s1 = new String(chs);
String s2 = new String(chs);
上面的代碼中,JVM會(huì)首先創(chuàng)建一個(gè)字符數(shù)組,然后每一次new的時(shí)候都會(huì)有一個(gè)新的地址,只不過(guò)s1和s2參考的字符串內(nèi)容是相同的。
5.字符串的比較
使用 “==” 做比較
- 基本類型:比較的是數(shù)據(jù)值是否相同
- 引用類型:比較的是地址值是否相同
字符串是對(duì)象,他比較內(nèi)容是否相同,是通過(guò)一個(gè)方法來(lái)實(shí)現(xiàn)的,這個(gè)方法叫:equals()
public boolean equals(Object anObject);將此字符串與指定對(duì)象進(jìn)行比較,由于我們比較的是字符串對(duì)象,所以參數(shù)直接傳遞一個(gè)字符串。
6.實(shí)現(xiàn)用戶登錄
代碼如下:
import java.util.Scanner; public class ArrayDemo{ public static void main(String[] args) { String username="abc"; String passworld="123"; //使用循環(huán)實(shí)現(xiàn)三次登陸機(jī)會(huì) for(int i=0;i<3;i++){ Scanner sc=new Scanner(System.in); System.out.println("請(qǐng)輸入用戶名:"); String name=sc.nextLine(); System.out.println("請(qǐng)輸入密碼:"); String pwd=sc.nextLine(); if(name.equals(username)&&pwd.equals(passworld)){ System.out.println("登陸成功!"); break; }else{ System.out.println("用戶名或密碼錯(cuò)誤,請(qǐng)重新登錄!"); } } } }
7.總結(jié)
本文講解了Java基礎(chǔ)知識(shí)—String,通過(guò)案例《用戶登錄》讓知識(shí)更加牢固。
到此這篇關(guān)于Java 超基礎(chǔ)講解String的使用的文章就介紹到這了,更多相關(guān)Java String內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Java編寫一個(gè)限流工具類RateLimiter
這篇文章主要為大家詳細(xì)介紹了如何基于Java編寫一個(gè)限流工具類RateLimiter,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01Java+Springboot搭建一個(gè)在線網(wǎng)盤文件分享系統(tǒng)
本主要介紹了通過(guò)springboot+freemark+jpa+MySQL實(shí)現(xiàn)的在線網(wǎng)盤文件分享系統(tǒng),其功能跟百度網(wǎng)盤非常類似,可以實(shí)現(xiàn)文件的上傳、移動(dòng)、復(fù)制、下載等,需要的可以參考一下2021-11-11MyBatis動(dòng)態(tài)<if>標(biāo)簽的使用
本文主要介紹了MyBatis動(dòng)態(tài)<if>標(biāo)簽的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05Java實(shí)現(xiàn)兩人五子棋游戲(三) 畫出棋子
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)兩人五子棋游戲,畫出五子棋的棋子,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03使用Java通過(guò)OAuth協(xié)議驗(yàn)證發(fā)送微博的教程
這篇文章主要介紹了使用Java通過(guò)OAuth協(xié)議驗(yàn)證發(fā)送微博的教程,使用到了新浪微博為Java開(kāi)放的API weibo4j,需要的朋友可以參考下2016-02-02java處理數(shù)據(jù)庫(kù)不支持的emoji表情符問(wèn)題解決
這篇文章主要介紹了java處理數(shù)據(jù)庫(kù)不支持的emoji表情符問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09SpringBoot使用@SpringBootTest注解開(kāi)發(fā)單元測(cè)試教程
這篇文章主要介紹了SpringBoot使用@SpringBootTest注解開(kāi)發(fā)單元測(cè)試教程,本文通過(guò)詳細(xì)的案例過(guò)程來(lái)說(shuō)明如何使用該項(xiàng)技術(shù),需要的朋友可以參考下2021-06-06