博客專欄

EEPW首頁 > 博客 > 扣丁學(xué)堂Java培訓(xùn)分享JAVA面試題以及基礎(chǔ)知識(shí)點(diǎn)

扣丁學(xué)堂Java培訓(xùn)分享JAVA面試題以及基礎(chǔ)知識(shí)點(diǎn)

發(fā)布人:扣丁客 時(shí)間:2020-12-15 來源:工程師 發(fā)布文章

學(xué)到了技術(shù)之后要考慮的就是面試找工作的事情,這個(gè)問題困擾著很多人,今天就讓我們扣丁學(xué)堂就Java面試題以及平時(shí)的練習(xí)題來做一個(gè)比較全面的講解,由于時(shí)間原因,只能整理一部分供大家了解學(xué)習(xí),有不詳細(xì)不完整的地方還望指出并改正。

java12.jpg

?

(1)A:請(qǐng)問Strings=newString("hello");創(chuàng)建了幾個(gè)對(duì)象。

兩個(gè)。一個(gè)"hello"字符串對(duì)象,在方法區(qū)的常量池;一個(gè)s對(duì)象,在棧內(nèi)存。

B:請(qǐng)寫出下面的結(jié)果

Strings1=newString("abc");

Strigns2=newString("abc");

Strings3="abc";

Strings4="abc";

sop(s1==s2);//false

sop(s1==s3);//false

sop(s3==s4);//true

C:字符串對(duì)象一旦被創(chuàng)建就不能被改變。

指的是字符串常量值不改變。

(2)字符串中各種功能的方法

A:判斷

****booleanequals(ObjectanObject):判斷兩個(gè)字符串的內(nèi)容是否相同,復(fù)寫了Object的方法

****booleanequalsIgnoreCase(StringanotherString):判斷兩個(gè)字符串的內(nèi)容是否相同,

不區(qū)分大小寫

****booleancontains(Strings):判斷一個(gè)字符串中是否包含另一個(gè)字符串

注意:判斷字符串是否包含特殊字符.直接表示為str.contains(".")

booleanendsWith(Stringsuffix):測(cè)試此字符串是否以指定的后綴結(jié)束

booleanstartsWith(Stringsuffix):測(cè)試此字符串是否以指定的前綴開始

booleanisEmpty():測(cè)試字符串是否為空

B:獲取

*****intlength():返回此字符串的長(zhǎng)度

*****charcharAt(intindex):返回指定索引處的char值

*****intindexOf(intch):返回指定字符在此字符串中第一次出現(xiàn)處的索引。

intindexOf(intch,intfromIndex):返回在此字符串中第一次出現(xiàn)指定字符處的索引,

從指定的索引開始搜索。

intindexOf(Stringstr):返回指定子字符串在此字符串中第一次出現(xiàn)處的索引。

intindexOf(Stringstr,intfromIndex):返回指定子字符串在此字符串中第一次

出現(xiàn)處的索引,從指定的索引開始。

***intlastIndexOf(intch):返回指定字符在此字符串中最后一次出現(xiàn)處的索引。

intlastIndexOf(intch,intfromIndex)

返回指定字符在此字符串中最后一次出現(xiàn)處的索引,從指定的索引處開始進(jìn)行反向搜索。

intlastIndexOf(Stringstr)

返回指定子字符串在此字符串中最右邊出現(xiàn)處的索引。

intlastIndexOf(Stringstr,intfromIndex)

返回指定子字符串在此字符串中最后一次出現(xiàn)處的索引,從指定的索引開始反向搜索。

*****Stringsubstring(intbeginIndex)(注意:該方法substring的String是小寫?。?!)

返回一個(gè)新的字符串,它是此字符串的一個(gè)子字符串。

Stringsubstring(intbeginIndex,intendIndex)(注意該方法的String是小寫?。。?

返回一個(gè)新字符串,它是此字符串的一個(gè)子字符串,包含頭不包含尾。

C:轉(zhuǎn)換

*****byte[]getBytes():(很常用!)從字符串到字節(jié)數(shù)組的方法

voidgetChars(intsrcBegin,intsrcEnd,char[]dst,intdstBegin)

將字符從此字符串復(fù)制到目標(biāo)字符數(shù)組。

*****char[]toCharArray():(很常用!)從字符串到字符數(shù)組的方法

****staticStringcopyValueOf(char[]data)

返回指定數(shù)組中表示該字符序列的String。

staticStringcopyValueOf(char[]data,intoffset,intcount)

返回指定數(shù)組中表示該字符序列的String。

*****staticStringvalueOf(數(shù)據(jù)類型):把該數(shù)據(jù)類型的數(shù)據(jù)轉(zhuǎn)換成字符串。

***StringtoLowerCase():把字符串轉(zhuǎn)換成小寫

StringtoUpperCase():把字符串轉(zhuǎn)換成大寫

***字符串的連接

Stringconcat(Stringstr):將指定字符串連接到此字符串的結(jié)尾。

D:替換

Stringreplace(charoldChar,charnewChar):用新字符替換舊字符(替換所有)

Stringreplace(Stringtarget,Stringreplacement):用新的子串換舊串

E:分割

String[]split(Stringregex):根據(jù)指定的字符串把一個(gè)字符串分割成一個(gè)字符串?dāng)?shù)組

F:

Stringtrim():去除字符串的前后空格

G:

intcompareTo(StringanotherString)

按字典順序比較兩個(gè)字符串。

intcompareToIgnoreCase(Stringstr)

按字典順序比較兩個(gè)字符串,不考慮大小寫。

(3)練習(xí)

1:模擬登錄,給三次機(jī)會(huì),并提示還有幾次.

默認(rèn)的用戶名和密碼為admin。區(qū)分大小寫。

自己從鍵盤輸入用戶名和密碼。

2:給定一個(gè)字符串統(tǒng)計(jì),統(tǒng)計(jì)大寫字母,小寫字母,數(shù)字出現(xiàn)的個(gè)數(shù).

***注意:不包括特殊字符

從鍵盤輸入一個(gè)不包含特殊字符的字符串(只有26個(gè)字母和0-9組成)。

3:給定一個(gè)字符串,把它變成首字母大寫,其他字母小寫的字符串.

從鍵盤輸入一個(gè)字符串,全部26個(gè)字母組成的。

4:子串在整串中出現(xiàn)的次數(shù)。

也就是說:獲取一個(gè)字符串中,指定的字串在該字符串中出現(xiàn)的次數(shù).

例如:

"nbasdnbafllgnbahjnbakqqqqlnba"在這個(gè)字符串中,多有個(gè)nba.

5:對(duì)字符串中字符進(jìn)行自然順序排序。

"basckd"-->"abcdks"

先留做思考內(nèi)容:

6:兩個(gè)字符串的最大相同子串。

兩個(gè)字符串的最大相同子串。

比如:

"sadabcdfghjkl"

werabcdtyu"

2:StringBuffer

(1)字符串的緩沖區(qū),是一個(gè)容器。

(2)它和String的區(qū)別

它是緩沖區(qū)可變長(zhǎng)度的。

(3)構(gòu)造方法

StringBuffer()構(gòu)造一個(gè)其中不帶字符的字符串緩沖區(qū),初始容量為16個(gè)字符。

StringBuffer(intnum)構(gòu)造一個(gè)不帶字符,但具有指定初始容量的字符串緩沖區(qū)。

StringBuffer(Stringstr)構(gòu)造一個(gè)字符串緩沖區(qū),并將其內(nèi)容初始化為指定的字符串內(nèi)容。

(4)常用方法

A:增加數(shù)據(jù)

**append:添加各種類型的數(shù)據(jù)

**insert:在容器指定位置插入各種類型的數(shù)據(jù)。

B:刪除數(shù)據(jù)

**deleteCharAt:刪除指定位置的字符

**delete還可以用于清空StringBuffer的緩沖區(qū)

C:替換

**replace

D:獲取

**charAt

E:長(zhǎng)度和容量

**length()元素的個(gè)數(shù)

**capacity元素的理論值

F:獲取元素的位置

**indexOf

**lastIndexOf

G:截取

**substring(intstart)

**substring(intstart,intend)

H:反轉(zhuǎn)

**reverse

(5)字符串和StringBuffer的轉(zhuǎn)換

String-->StringBuffer通過構(gòu)造:

如:StringBuffersb=newStringBuffer(Stringstr)

StringBuffer--String通過toString方法

如:StringBuffersb=newStringBuffer();

sb.toString();

3:StringBuilder

和StringBuffer的功能是一樣的,但是有區(qū)別:

StringBuffer(JDK1.0)是線程安全的。

StringBuilder(JDK1.5)不保證線程安全。

一般來說,我們寫的程序都是單線程的,所以,用StringBuilder,效率高。

JDK版本的升級(jí)原則:

A:提高效率

B:提高安全性

C:簡(jiǎn)化書寫

4:基本數(shù)據(jù)類型的對(duì)象包裝類

(1)為了更方便的操作每個(gè)基本數(shù)據(jù)類型,java對(duì)其提供了很多的屬性和方法供我們使用。

(2)用途:

**將基本數(shù)據(jù)類型封裝成對(duì)象的好處在于可以在對(duì)象中定義更多的功能操作該數(shù)據(jù)。

**常用的操作之一:用于基本數(shù)據(jù)類型與字符串之間的轉(zhuǎn)換。

A:方便操作

B:用于和字符串進(jìn)行相互轉(zhuǎn)換

(3)基本數(shù)據(jù)類型和對(duì)象類型的對(duì)應(yīng)

byteByte

shortShort

intInteger

longLong

floatFloat

doubleDouble

booleanBoolean

charCharacter

(4)構(gòu)造方法

字段摘要:

staticintMAX_VALUE值為2^31-1的常量,它表示int類型能夠表示的最大值

staticintMIN_VALUE值為-2^31的常量,它表示int類型能夠表示的最小值

staticClass<Integer>TYPE表示基本類型int的Class實(shí)例

Integer(intvalue)構(gòu)造一個(gè)新分配的Integer對(duì)象,它表示指定的int值。

Inreger(Strings)注意:s必須是純數(shù)字的字符串。否則會(huì)有異常NumberFormatException

(5)幾個(gè)常用的方法

Integer.toBinaryString();

以二進(jìn)制(基數(shù)2)無符號(hào)整數(shù)形式返回一個(gè)整數(shù)參數(shù)的字符串表示形式。

Integer.toOctalString();

以八進(jìn)制(基數(shù)8)無符號(hào)整數(shù)形式返回一個(gè)整數(shù)參數(shù)的字符串表示形式。

Integer.toHexString();

以十六進(jìn)制(基數(shù)16)無符號(hào)整數(shù)形式返回一個(gè)整數(shù)參數(shù)的字符串表示形式。

staticintInteger.parseInt(Strings)將字符串參數(shù)作為有符號(hào)的十進(jìn)制整數(shù)進(jìn)行解析,

字符串必須是int型范圍內(nèi)的數(shù)字字符串

staticintInteger.parseInt(Strings,intbasic)

使用第二個(gè)參數(shù)指定的基數(shù),將字符串參數(shù)解析為有符號(hào)的整數(shù).

字符串必須是int型范圍內(nèi)的數(shù)字字符串

shortshortValue()以short類型返回該Integer的值。

intintValue()以int類型返回該Integer的值。

staticIntegervalueOf(intnum)返回一個(gè)表示指定的int值的Integer實(shí)例。

staticIntegervalueOf(Strings)返回保存指定的String的值的Integer對(duì)象。

staticIntegervalueOf(Strings,intradix)

返回一個(gè)Integer對(duì)象,該對(duì)象中保存了用第二個(gè)參數(shù)提供的基數(shù)進(jìn)行

解析時(shí)從指定的String中提取的值。

以上就是針對(duì)于JAVA面試做出的詳細(xì)的介紹以及知識(shí)點(diǎn)的整理,想要了解更多問題的小伙伴可以登錄扣丁學(xué)堂的官網(wǎng)了解更多內(nèi)容??鄱W(xué)堂Java培訓(xùn)不僅有專業(yè)的老師和與時(shí)俱進(jìn)的課程體系,還有大量的Java視頻教程供學(xué)員觀看學(xué)習(xí)哦??鄱W(xué)堂java技術(shù)交流群:487098661。微 信 號(hào):codingbb

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞:

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉