JAVA基礎面試題(經典)__java

來源:互聯網
上載者:User

第一階段題庫

基礎知識部分:

1. JDK是什麼。JRE是什麼。

a) 答:JDK:java開發套件。JRE:java運行時環境。

2. 什麼是java的平台無關性。

a) 答:Java源檔案被編譯成位元組碼的形式,無論在什麼系統內容下,只要有java虛

擬機就能運行這個位元組碼檔案。也就是一處編寫,處處運行。這就是java的跨平台性。

3. 在一台電腦上配置java環境,path起什麼作用。如何配置。

a) 答:path的作用是在DOS環境下,能在任意位置使用JDK目錄中bin檔案夾中的

可執行程式,來編譯執行java程式。

b) 在環境變數中找到path變數,把bin檔案夾的絕對路徑加上即可。

4. 什麼樣的標識符是合法的。

a) 由字母、數字、_和$組成,長度不限。其中字母可以是大寫或小寫英文字母,數

字為0到9。

b) 標識符的第一個字元不能是數字。

c) 標識符區分大小寫。

d) 標識符不能包含空格。

5. Java有幾種基礎資料型別 (Elementary Data Type)。

a) byte,short,int,long,char,boolean,float,double

6. 什麼是隱式類型轉換。什麼是顯示類型轉換。

a) 當將佔位元少的類型賦值給佔位數多的類型時,Java自動使用隱式類型轉換。 b) 當把在層級高的變數的值賦給層級底變數時,必須使用顯示類型轉換運算。

7. &&和&區別,||和|區別。

a) &&和||是短路與,短路或,當左邊的運算式能判斷當前結果,則不判斷右邊的表

達式。

b) 而& 和|則將兩邊的運算式都運算完畢後,再算結果。

8. break,continue區別。

a) break結束最近的一個迴圈,continue結束當次迴圈,進入下次迴圈。

9. 類的命名規則是什麼。

a) 如果類名使用拉丁字母,那麼名字的首寫字母使用大寫字母。

b) 類名最好見名得意,當類名由幾個單詞複合而成時,每個單詞的首寫字母使用大寫。

10. 類體的內容由兩部分構成,哪兩部分。

a) 一部分是變數的定義,用來刻畫屬性。

b) 另一部分是方法的定義,用來刻畫功能。

11. 解釋什麼是類的成員變數,局部變數,執行個體成員變數,類成員變數。

a) 變數定義部分所定義的變數被稱為類的成員變數。

b) 在方法體中定義的變數和方法的參數被稱為局部變數。

c) 成員變數又分為執行個體成員變數和類成員變數(static修飾)。

12. 簡述this關鍵字用法。

a) this關鍵字使用在執行個體方法中,代表調用該方法的當前對象。

13. 如何確定方法的傳回型別。

_____________________________________________________________________

a) 方法返回的值的類型就是方法的傳回型別,如果無傳回值,則傳回型別為void。

14. 傳回值為void的方法,可否有return。

a) 可以。但return後沒有任何值。

15. 解釋什麼是類方法,什麼是執行個體方法。

a) static修飾的方法是類方法,無static修飾的方法是執行個體方法。

16. 簡述方法和變數的命名規則。

a) 首寫字母使用小寫,如果由多個單片語成,從第2個單詞開始首字母使用大寫。

17. 什麼是方法重載。

a) 方法重載是指一個類中可以有多個方法具有相同的名字,但這些方法的參數必須不

同,即或者是參數的個數不同,或者是參數的類型不同。

18. 什麼是構造方法。

a) 構造方法是一種特殊方法,它的名字必須與它所在的類的名字完全相同,並且不返

回任何資料類型。

19. 如何建立一個對象。

a) 使用new 運算子和類的構造方法為對象分配記憶體,如果類中沒有構造方法,系統

會調用預設的構造方法。

20. 系統什麼情況下會為類提供構造方法,提供什麼樣的構造方法。

a) 如果類中沒有構造方法,系統會提供一個預設的構造方法,預設的構造方法是無參

的。

21. 對象如何調用自己的成員變數和方法。

a) 使用運算子” . ”來調用自己的成員變數和方法。

22. 為什麼可以直接用類名來訪問類成員變數和類方法。

a) 因為當類被載入到虛擬機器的時候,類成員變數就被分配記憶體,類方法被分配入口地

址,所以不用建立對象,可以直接通過類名調用。

23. 類變數有什麼特點。

a) 一個類的所有對象共用同一個類變數。

24. 類方法有什麼特點。

a) 類方法只能調用類變數和類方法。(同一類中)

25. package關鍵字有什麼作用,使用中注意什麼問題。

a) package指定一個類所在的包,該語句為原始碼第一行。

26. import關鍵字有什麼作用。

a) 引入程式中所用到的類。

27. 類有幾種存取權限。變數和方法有幾種存取權限。分別是什麼。

a) 類有兩種存取權限:public,友好的。

b) 方法和變數的存取權限:public,protected,友好的,private。

28. 簡述java的存取權限。

a) public:公有的,任何類都可以訪問。

b) protected:受保護的,同一個包的類可以訪問。不同包的子類可以訪問。 c) 友好的:同一個包的類可以訪問。

d) private:私人的,在同一個類中才能訪問。

29. 子類能繼承父類的哪些變數和方法。

a) 如果子類和父類在同一個包中,那麼,子類自然地繼承了其父類中不是private 的

成員變數作為自己的成員變數,並且也自然地繼承了父類中不是private 的方法作為自己的方法。

_____________________________________________________________________

b) 如果子類和父類不在同一個包中,那麼,子類繼承了父類的protected,public 成

員變數做為子類的成員變數,並且繼承了父類的protected,public 方法為子類的方法。

30. 子類重寫父類的方法,可否降低存取權限。

a) 不可以降低。

31. final關鍵字可以用來修飾什麼。分別起什麼作用。

a) final可以修飾類,這樣的類不能被繼承。

b) final可以修飾方法,這樣的方法不能被重寫。

c) final可以修飾變數,這樣的變數的值不能被修改,是常量。

32. 簡述super關鍵字作用。

a) 使用super調用父類的構造方法。

b) 使用super操作被隱藏的成員變數和方法。

33. 簡述什麼是對象上轉型。

a) 假設,A 類是B 類的父類,當我們用子類建立一個對象,並把這個對象的引用放

到父類的對象中時,我們稱這個父類對象是子類對象的上轉型對象。

34. 上轉型對象可以操作什麼。不可以操作什麼。

a) 上轉對象不能操作子類新增的成員變數,失掉了這部分屬性,不能使用子類新增的

方法,失掉了一些功能 。

b) 上轉型對象可以操作子類繼承或重寫的成員變數,也可以使用子類繼承的或重寫的

方法。

35. 什麼是抽象類別。什麼是抽象方法。有什麼特點。

a) 用關鍵字abstract修飾類稱為抽象類別,abstract類不能用new運算建立對象,必須

產生其子類,由子類建立對象。

b) 用關鍵字abstract修飾方法稱為抽象方法,abstract方法,只允許聲明,而不允許

實現。

36. 一個類聲明實現一個介面,那麼這個類需要做什麼工作。

a) 實現介面裡所有的方法,並且這些方法的存取權限必須是public。

37. 簡述什麼是數組。

a) 數組是相同類型的資料按順序組成的一種複合資料型別。通過數組名加數組下標,

來使用數組中的資料。下標從 0 開始排序。

38. 建立數組是否需要指定數組長度,如何求數組長度。

a) 必須指定數組長度,數組調用 .length來擷取數組長度。

39. char數組和byte數組如何轉化成字串。如何求字串長度。

a) 利用String類本身的構造方法,String (char a[]),String (byte a[]),””.length()。

以下方法均為字串中方法

40. equals equalsIgnoreCase startsWith endsWith

a) 字串比較 。

b) 忽略大小寫比較。

c) 判斷是否以指定字串開頭、結尾。

41. regionMatches

a) 判斷一個字串的子串是否和另一個字串的子串匹配。

42. compareTo compareToIgnoreCase indexOf

a) 按字典順序比較字串。

b) 忽略大小寫按字典順序比較字串。

c) 字串檢索。

43. substring replace trim()

a) 字串截取

b) 字串替換

c) 去掉字串前後空格。

44. 字串如何轉化為int型,double型。

a) Integer.parseInt(“1”);

b) Double.parseDouble(“25。45”);

45. 簡述StringTokenizer作用。

a) 按照指定的分隔字元,將字串解析成若干語言符號。

46. 如何判斷一個字元是不是數字,是不是大寫。

a) Character.isDigit(‘a’)

b) Character.isUpperCase(‘U’)

47. 已知一個java.util.Date對象,如何格式化成如下格式 YYYY-MM-dd hh:mm:ss

a) SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

formate.format(new Date()));

48. 如何產生一個0-100的隨即整數。

a) (int)(Math.random()*100)

49. 簡述java異常處理的機制。

a) 當所調用的方法出現異常時,調用者可以捕獲異常使之得到處理;也可以迴避異常。

50. 簡述如下關鍵字用途try、catch、throw、throws、finally

a) try:保護代碼,如果try中某行代碼出現異常,則try中代碼不再繼續執行。 b) catch:捕獲異常,當try中出現異常,則catch負責捕獲異常,並處理。

c) throw:拋出異常。

d) throws:聲明異常。

e) finally:無論try中是否出現異常,finally一定執行。

51. LinkedList和ArrayList區別。

a) LinkedList底層通過鏈式儲存結構實現。

b) ArrayList底層通過數組實現。

52. 什麼是I/O流,有什麼作用。

a) 指資料輸入輸出的流, I/O 流提供一條通道程式,可以使用這條通道把源中的字

節序列送給目的地。

53. 如何查看一個檔案的大小,絕對路徑,是否可讀。

a) File file = new File(“e://a.txt”);

b) file.length();

c) file.getAbsolutePath();

d) file.canRead();

54. 已知如下代碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.