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