扣丁學堂Java培訓分享JAVA面試題以及基礎(chǔ)知識點
學到了技術(shù)之后要考慮的就是面試找工作的事情,這個問題困擾著很多人,今天就讓我們扣丁學堂就Java面試題以及平時的練習題來做一個比較全面的講解,由于時間原因,只能整理一部分供大家了解學習,有不詳細不完整的地方還望指出并改正。
(1)A:請問Strings=newString("hello");創(chuàng)建了幾個對象。
兩個。一個"hello"字符串對象,在方法區(qū)的常量池;一個s對象,在棧內(nèi)存。
B:請寫出下面的結(jié)果
Strings1=newString("abc");
Strigns2=newString("abc");
Strings3="abc";
Strings4="abc";
sop(s1==s2);//false
sop(s1==s3);//false
sop(s3==s4);//true
C:字符串對象一旦被創(chuàng)建就不能被改變。
指的是字符串常量值不改變。
(2)字符串中各種功能的方法
A:判斷
****booleanequals(ObjectanObject):判斷兩個字符串的內(nèi)容是否相同,復寫了Object的方法
****booleanequalsIgnoreCase(StringanotherString):判斷兩個字符串的內(nèi)容是否相同,
不區(qū)分大小寫
****booleancontains(Strings):判斷一個字符串中是否包含另一個字符串
注意:判斷字符串是否包含特殊字符.直接表示為str.contains(".")
booleanendsWith(Stringsuffix):測試此字符串是否以指定的后綴結(jié)束
booleanstartsWith(Stringsuffix):測試此字符串是否以指定的前綴開始
booleanisEmpty():測試字符串是否為空
B:獲取
*****intlength():返回此字符串的長度
*****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)處的索引,從指定的索引處開始進行反向搜索。
intlastIndexOf(Stringstr)
返回指定子字符串在此字符串中最右邊出現(xiàn)處的索引。
intlastIndexOf(Stringstr,intfromIndex)
返回指定子字符串在此字符串中最后一次出現(xiàn)處的索引,從指定的索引開始反向搜索。
*****Stringsubstring(intbeginIndex)(注意:該方法substring的String是小寫!!!)
返回一個新的字符串,它是此字符串的一個子字符串。
Stringsubstring(intbeginIndex,intendIndex)(注意該方法的String是小寫!!!)
返回一個新字符串,它是此字符串的一個子字符串,包含頭不包含尾。
C:轉(zhuǎn)換
*****byte[]getBytes():(很常用!)從字符串到字節(jié)數(shù)組的方法
voidgetChars(intsrcBegin,intsrcEnd,char[]dst,intdstBegin)
將字符從此字符串復制到目標字符數(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ù)指定的字符串把一個字符串分割成一個字符串數(shù)組
F:
Stringtrim():去除字符串的前后空格
G:
intcompareTo(StringanotherString)
按字典順序比較兩個字符串。
intcompareToIgnoreCase(Stringstr)
按字典順序比較兩個字符串,不考慮大小寫。
(3)練習
1:模擬登錄,給三次機會,并提示還有幾次.
默認的用戶名和密碼為admin。區(qū)分大小寫。
自己從鍵盤輸入用戶名和密碼。
2:給定一個字符串統(tǒng)計,統(tǒng)計大寫字母,小寫字母,數(shù)字出現(xiàn)的個數(shù).
***注意:不包括特殊字符
從鍵盤輸入一個不包含特殊字符的字符串(只有26個字母和0-9組成)。
3:給定一個字符串,把它變成首字母大寫,其他字母小寫的字符串.
從鍵盤輸入一個字符串,全部26個字母組成的。
4:子串在整串中出現(xiàn)的次數(shù)。
也就是說:獲取一個字符串中,指定的字串在該字符串中出現(xiàn)的次數(shù).
例如:
"nbasdnbafllgnbahjnbakqqqqlnba"在這個字符串中,多有個nba.
5:對字符串中字符進行自然順序排序。
"basckd"-->"abcdks"
先留做思考內(nèi)容:
6:兩個字符串的最大相同子串。
兩個字符串的最大相同子串。
比如:
"sadabcdfghjkl"
werabcdtyu"
2:StringBuffer
(1)字符串的緩沖區(qū),是一個容器。
(2)它和String的區(qū)別
它是緩沖區(qū)可變長度的。
(3)構(gòu)造方法
StringBuffer()構(gòu)造一個其中不帶字符的字符串緩沖區(qū),初始容量為16個字符。
StringBuffer(intnum)構(gòu)造一個不帶字符,但具有指定初始容量的字符串緩沖區(qū)。
StringBuffer(Stringstr)構(gòu)造一個字符串緩沖區(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:長度和容量
**length()元素的個數(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版本的升級原則:
A:提高效率
B:提高安全性
C:簡化書寫
4:基本數(shù)據(jù)類型的對象包裝類
(1)為了更方便的操作每個基本數(shù)據(jù)類型,java對其提供了很多的屬性和方法供我們使用。
(2)用途:
**將基本數(shù)據(jù)類型封裝成對象的好處在于可以在對象中定義更多的功能操作該數(shù)據(jù)。
**常用的操作之一:用于基本數(shù)據(jù)類型與字符串之間的轉(zhuǎn)換。
A:方便操作
B:用于和字符串進行相互轉(zhuǎn)換
(3)基本數(shù)據(jù)類型和對象類型的對應(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實例
Integer(intvalue)構(gòu)造一個新分配的Integer對象,它表示指定的int值。
Inreger(Strings)注意:s必須是純數(shù)字的字符串。否則會有異常NumberFormatException
(5)幾個常用的方法
Integer.toBinaryString();
以二進制(基數(shù)2)無符號整數(shù)形式返回一個整數(shù)參數(shù)的字符串表示形式。
Integer.toOctalString();
以八進制(基數(shù)8)無符號整數(shù)形式返回一個整數(shù)參數(shù)的字符串表示形式。
Integer.toHexString();
以十六進制(基數(shù)16)無符號整數(shù)形式返回一個整數(shù)參數(shù)的字符串表示形式。
staticintInteger.parseInt(Strings)將字符串參數(shù)作為有符號的十進制整數(shù)進行解析,
字符串必須是int型范圍內(nèi)的數(shù)字字符串
staticintInteger.parseInt(Strings,intbasic)
使用第二個參數(shù)指定的基數(shù),將字符串參數(shù)解析為有符號的整數(shù).
字符串必須是int型范圍內(nèi)的數(shù)字字符串
shortshortValue()以short類型返回該Integer的值。
intintValue()以int類型返回該Integer的值。
staticIntegervalueOf(intnum)返回一個表示指定的int值的Integer實例。
staticIntegervalueOf(Strings)返回保存指定的String的值的Integer對象。
staticIntegervalueOf(Strings,intradix)
返回一個Integer對象,該對象中保存了用第二個參數(shù)提供的基數(shù)進行
解析時從指定的String中提取的值。
以上就是針對于JAVA面試做出的詳細的介紹以及知識點的整理,想要了解更多問題的小伙伴可以登錄扣丁學堂的官網(wǎng)了解更多內(nèi)容。扣丁學堂Java培訓不僅有專業(yè)的老師和與時俱進的課程體系,還有大量的Java視頻教程供學員觀看學習哦。扣丁學堂java技術(shù)交流群:487098661。微 信 號:codingbb
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。