final在java中有什么作用?
final修飾的類叫最終類,該類不能被繼承。
final修飾的方法不能被重寫。
final修飾的變量叫常量,常量必須初始化,初始化之后值就不能被修改。
java中的Math.round(-1.5)等于多少?
等于-1,因為在數(shù)軸上取值時,中間值(0.5)向右取整,所以正0.5是往上取整,負(fù)0.5是直接舍棄。
String屬于基礎(chǔ)的數(shù)據(jù)類型嗎?
String不屬于基礎(chǔ)類型,基礎(chǔ)類型有8種:byte、boolean、char、short、int、float、long、double,而String屬于對象。
java中操作字符串都有哪些類?它們之間有什么區(qū)別?
操作字符串的類有:String、StringBuffer、StringBuilder。
String和StringBuffer、StringBuilder的區(qū)別在于String聲明的是不可變的對象,每次操作都會生成新的String對象,然后將指針指向新的String對象,而StringBuffer、StringBuilder可以在原有對象的基礎(chǔ)上進行操作,所以在經(jīng)常改變字符串內(nèi)容的情況下最好不要使用String。
StringBuffer和StringBuilder最大的區(qū)別在于,StringBuffer是線程安全的,而StringBuilder是非線程安全的,但StringBuilder的性能卻高于StringBuffer,所以在單線程環(huán)境下推薦使用StringBuilder,多線程環(huán)境下推薦使用StringBuffer。
Stringstr="i"與Stringstr=newString("i")一樣嗎?
不一樣,因為內(nèi)存的分配方式不一樣。Stringstr="i"的方式,java虛擬機會將其分配到常量池中;而Stringstr=newString("i")則會被分到堆內(nèi)存中。
如何將字符串反轉(zhuǎn)?
使用StringBuilder或者stringBuffer的reverse()方法。
示例代碼:
//StringBufferreverseStringBuffer
stringBuffer=newStringBuffer();
stringBuffer.append("abcdefg");
System.out.println(stringBuffer.reverse());//gfedcba
//StringBuilderreverseStringBuilder
stringBuilder=newStringBuilder();
stringBuilder.append("abcdefg");
System.out.println(stringBuilder.reverse());//gfedcba
10.String類的常用方法都有那些?
indexOf():返回指定字符的索引。
charAt():返回指定索引處的字符。
replace():字符串替換。
trim():去除字符串兩端空白。
split():分割字符串,返回一個分割后的字符串?dāng)?shù)組。
getBytes():返回字符串的byte類型數(shù)組。
length():返回字符串長度。
toLowerCase():將字符串轉(zhuǎn)成小寫字母。
toUpperCase():將字符串轉(zhuǎn)成大寫字符。
substring():截取字符串。
equals():字符串比較。
抽象類必須要有抽象方法嗎?
不需要,抽象類不一定非要有抽象方法。
示例代碼:
abstractclassCat{
publicstaticvoidsayHi(){
System.out.println("hi~");
}
}
上面代碼,抽象類并沒有抽象方法但完全可以正常運行。
普通類和抽象類有哪些區(qū)別?
普通類不能包含抽象方法,抽象類可以包含抽象方法。
抽象類不能直接實例化,普通類可以直接實例化。
接口和抽象類有什么區(qū)別?
實現(xiàn):抽象類的子類使用extends來繼承;接口必須使用implements來實現(xiàn)接口。
構(gòu)造函數(shù):抽象類可以有構(gòu)造函數(shù);接口不能有。
main方法:抽象類可以有main方法,并且我們能運行它;接口不能有main方法。
實現(xiàn)數(shù)量:類可以實現(xiàn)很多個接口;但是只能繼承一個抽象類。
訪問修飾符:接口中的方法默認(rèn)使用public修飾;抽象類中的方法可以是任意訪問修飾符。
java中IO流分為幾種?
按功能來分:輸入流(input)、輸出流(output)。
按類型來分:字節(jié)流和字符流。
字節(jié)流和字符流的區(qū)別是:字節(jié)流按8位傳輸以字節(jié)為單位輸入輸出數(shù)據(jù),字符流按16位傳輸以字符為單位輸入輸出數(shù)據(jù)。
BIO、NIO、AIO有什么區(qū)別?
BIO:BlockIO同步阻塞式IO,就是我們平常使用的傳統(tǒng)IO,它的特點是模式簡單使用方便,并發(fā)處理能力低。
NIO:NewIO同步非阻塞IO,是傳統(tǒng)IO的升級,客戶端和服務(wù)器端通過Channel(通道)通訊,實現(xiàn)了多路復(fù)用。
AIO:AsynchronousIO是NIO的升級,也叫NIO2,實現(xiàn)了異步非堵塞IO,異步IO的操作基于事件和回調(diào)機制。
Files的常用方法都有哪些?
Files.exists():檢測文件路徑是否存在。
Files.createFile():創(chuàng)建文件。
Files.createDirectory():創(chuàng)建文件夾。
Files.delete():刪除一個文件或目錄。
Files.copy():復(fù)制文件。
Files.move():移動文件。
Files.size():查看文件個數(shù)。
Files.read():讀取文件。
Files.write():寫入文件。
以上就是長沙牛耳教育Java培訓(xùn)機構(gòu)小編介紹的“2020年Java常見筆試題”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。