扣丁學(xué)堂Java培訓(xùn)分享JAVA面試題以及基礎(chǔ)知識(shí)點(diǎn)
學(xué)到了技術(shù)之后要考慮的就是面試找工作的事情,這個(gè)問題困擾著很多人,今天就讓我們扣丁學(xué)堂就Java面試題以及平時(shí)的練習(xí)題來做一個(gè)比較全面的講解,由于時(shí)間原因,只能整理一部分供大家了解學(xué)習(xí),有不詳細(xì)不完整的地方還望指出并改正。
(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)系工作人員刪除。