2020年Java常見筆試題

2020年Java常見筆試題

長沙牛耳教育      2022-03-18 22:00:01     8

2020年Java常見筆試題,  final在java中有什么作用?  final修飾的類叫最終類,該類不能被繼承。  final修飾的方法不能被重寫?! inal修飾的變

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細(xì)介紹


  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ù)。


Java筆試題

培訓(xùn)啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險,謹(jǐn)防上當(dāng)。