更新時(shí)間:2020-10-20 17:13:20 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1665次
雖然說java編程是一門實(shí)操性的技術(shù),但是基礎(chǔ)的理論知識(shí)也是十分重要的,沒有一個(gè)厚實(shí)的java基礎(chǔ)知識(shí)做支撐,也不會(huì)學(xué)好java。所以對(duì)于java零基礎(chǔ)的初學(xué)者來說,學(xué)好基礎(chǔ)知識(shí)是必要的,java字符串常量是新手朋友們需要掌握的內(nèi)容,今天這篇文章帶大家搞懂字符串常量的相關(guān)知識(shí)。
Java常量就是固定不變的值,是不能改變的數(shù)據(jù),在java中常量有幾種類型,比如整型常量、浮點(diǎn)數(shù)常量和布爾常量等。字符串是有限字符的有序集合,比如“hello world”和登錄時(shí)使用的密碼,都是字符串,在java程序開發(fā)中是經(jīng)常使用到的。這是字符串常量的基本概念。
字符串常量該怎么創(chuàng)建呢?字符串常量一般有兩種創(chuàng)建方式:一是使用字符串字面量定義,String s = "aa";二是通過new創(chuàng)建字符串對(duì)象,String s = new String("aa")。那這兩種方式有什么區(qū)別呢?
第一種方式通過字面量定義一個(gè)字符串時(shí),JVM會(huì)先去字符串常量池中檢查是否存在“aa”這個(gè)對(duì)象。如果不存在,則在字符串常量池中創(chuàng)建“aa”對(duì)象,并將引用返回給s,這樣s的引用就指向字符串常量池中的“aa”對(duì)象。如果存在,則不創(chuàng)建任何對(duì)象,直接把常量池中“aa”對(duì)象的地址返回,賦值給s。
第二種方式通過new關(guān)鍵字創(chuàng)建一個(gè)字符串時(shí),我們需要知道創(chuàng)建了幾個(gè)對(duì)象,這也是面試中經(jīng)常問到的。首先,會(huì)在字符串常量池中創(chuàng)建一個(gè)"aa"對(duì)象。然后執(zhí)行new String時(shí)會(huì)在堆中創(chuàng)建一個(gè)“aa”的對(duì)象,然后把s的引用指向堆中的這個(gè)“aa”對(duì)象。
對(duì)于字符串常量,要知道它與字符常量的區(qū)別。(1)形式上:字符常量是單引號(hào)引起的一個(gè)字符例:‘a’;字符串常量是雙引號(hào)引起的若干個(gè)字符"helloworld";(2)含義上:字符常量相當(dāng)于一個(gè)整形值(ASC||值),可以參加表達(dá)式運(yùn)算,直接拿變量使用字符串常量代表一個(gè)地址值(該字符在內(nèi)存中存放的位置);(3)占內(nèi)存大小:字符常量只占一個(gè)字節(jié),字符串常量占若干個(gè)字節(jié);(4)字符型常量使用char型變量來存儲(chǔ),字符串用char型的數(shù)組來存儲(chǔ);(5)類型字符類型為char,字符串類型為string。
關(guān)于字符串常量要必須要掌握的就是上面這些知識(shí)點(diǎn),都是屬于基礎(chǔ)知識(shí)范圍內(nèi)的內(nèi)容,字符串常量在java筆試題中也常出現(xiàn),算是必考題目,所以希望大家可以好好學(xué)習(xí)這篇文章總結(jié)的知識(shí)點(diǎn),另外還可以在java零基礎(chǔ)教程中更深入的學(xué)習(xí)java字符串常量的知識(shí)。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743