更新時(shí)間:2020-03-28 13:16:17 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2326次
1.空字符串的作用
如題所示,當(dāng)進(jìn)行s=s+i的時(shí)候,s在前和s在后輸出的結(jié)果是相反的。空字符串在前時(shí)是正著輸出,空字符串在后是逆著輸出
2.shorts1=1;s1=s1+1;有什么錯(cuò)?shorts1=1;s1+=1;有什么錯(cuò)?
第一種情況,s1是short類型,在計(jì)算s1=s1+1時(shí),前邊是short型,后邊是int型,不能自動(dòng)轉(zhuǎn)換。由于沒有強(qiáng)轉(zhuǎn),要報(bào)類型錯(cuò)誤。
第二種情況,使用了+=這個(gè)java自帶的運(yùn)算符,java內(nèi)部會(huì)對(duì)其進(jìn)行處理,所以編譯通過,不會(huì)報(bào)錯(cuò)。
3.說說&和&&的區(qū)別。
&和&&都表示與的意思,既表達(dá)式倆邊都成立,結(jié)果才成立。
&&是邏輯運(yùn)算符,&&有短路作用,既當(dāng)表達(dá)式左邊為假時(shí),不需要計(jì)算右邊,整個(gè)的結(jié)果直接為假;&沒有
&是位運(yùn)算符,&的左右倆邊可以是布爾類型,也可以是數(shù)值;&&倆邊只能是布爾類型
4.Integer與int的區(qū)別
int是八大基本數(shù)據(jù)類型之一,Integer是int的封裝類。
int的默認(rèn)值是0,Integer的默認(rèn)值是null,此時(shí)的0代表這個(gè)數(shù)賦值0,而null代表沒接收到這個(gè)值
Integer提供了與整數(shù)相關(guān)的操作,int沒有
5.==與equals的區(qū)別
從表面上看,對(duì)于基本數(shù)據(jù)類型==是判斷的值是否相等;對(duì)于引用數(shù)據(jù)類型是判斷是否為同一個(gè)對(duì)象
從本質(zhì)上看,是看是否為一個(gè)引用地址
equals是判斷值是否相等
6.override(重寫)和overload(重載)的區(qū)別
重載是在一個(gè)類中,方法名相同,參數(shù)列表不同(參數(shù)類型和參數(shù)個(gè)數(shù))的一種現(xiàn)象
1.重載與返回值類型無(wú)關(guān)
2.不能通過訪問修飾符進(jìn)行重載
如下是重載:
重寫是在父子類中,子類重寫父類的方法,要求方法名與參數(shù)列表,返回值類型完全相同。子類重寫父類規(guī)范要在子類的方法前加注解@Override
1.重寫的返回值類型可以改,但只能是父子類
例如:
2.重寫的訪問修飾符得大于等于原來(lái)的
3.不能重寫私有方法
4.參數(shù)列表的順序與類型必須一樣,變量名可不同
7.接口與抽象類的區(qū)別
抽象類是用abstract修飾的類,抽象類不能new對(duì)象。
接口是比抽象類還抽象的“類”
普通類:具體實(shí)現(xiàn)
抽象類:規(guī)范(抽象方法),具體實(shí)現(xiàn)
接口:規(guī)范(抽象方法)
區(qū)別:
1.抽象類中可以有抽象方法也可以有非抽象方法,接口中只能有抽象方法
2.抽象類中可以有成員變量,接口中只能有常量,用publicstaticfinal修飾,默認(rèn)可不寫
3.抽象類有構(gòu)造方法,接口沒有構(gòu)造方法
4.抽象類中的方法的訪問修飾符可以是public,protected,默認(rèn);接口中方法的訪問修飾符只能是public,并且默認(rèn)值是publicabstract
5.抽象類中可以有靜態(tài)方法,接口中不能有靜態(tài)方法。(static是類名直接調(diào)用,abstract是子類實(shí)現(xiàn)創(chuàng)建對(duì)象調(diào)用,如果一起修飾,自相矛盾了)
6.一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,只能繼承一個(gè)抽象類
8.JDK,JRE,JVM的聯(lián)系與區(qū)別
JDK是java開發(fā)工具包,JDK包括JRE,類庫(kù),java工具
JRE是java運(yùn)行環(huán)境,JRE包括JVM,JRE里有運(yùn)行.class的java.exe
JVM是java虛擬機(jī),java虛擬機(jī)在執(zhí)行字節(jié)碼時(shí),把字節(jié)碼解釋成具體平臺(tái)的機(jī)器指令執(zhí)行,這也是java語(yǔ)言跨平臺(tái)的根源,是“一次編譯,到處運(yùn)行”的原因
聯(lián)系:JDK下的jre文件夾下有倆個(gè)文件夾lib和bin;在這里可以理解為bin就是jvm,lib就是類庫(kù);所以JRE=JVM+類庫(kù)
我們利用JDK開發(fā)屬于自己的java程序,javac編譯成字節(jié)碼,在JRE上運(yùn)行這些字節(jié)碼,JVM解析這些字節(jié)碼,最終映射到CPU指令集或OS的系統(tǒng)調(diào)用
區(qū)別:
JDK與JRE的區(qū)別:
1.JDK有javac.exe;JRE沒有
2.JDK是開發(fā)環(huán)境,JRE是運(yùn)行環(huán)境
JRE與JVM的區(qū)別:
1.JVM執(zhí)行.class需要JRE下lib類庫(kù)的支持(尤其是rt.jar)
9.Strings=newString("xyz");創(chuàng)建了幾個(gè)StringObject
創(chuàng)建了倆個(gè)對(duì)象或一個(gè)對(duì)象,如果常量池中沒有“xyz”第一次=在常量池中創(chuàng)建了一個(gè)字符串對(duì)象,第二次new又創(chuàng)建了一個(gè)字符串引用對(duì)象;如果常量池中有“xyz”,那就只是new的時(shí)候創(chuàng)建了一個(gè)對(duì)象。
10.Java有沒有g(shù)oto?
java中的保留字,現(xiàn)在在java中沒有使用
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“互聯(lián)網(wǎng)Java面試題基礎(chǔ)”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
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í)