第一階段題庫
基礎知識部分:
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有幾種基本數據類型?
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. 已知如下代碼
File f = new File("myfile.dat");
FileInputStream istream = new FileInputStream(f); 如何從流中讀取數據。
a) byte[] buff = new byte[100];
b) istream.read(buff);
55. 實現多線程的兩種方法?
a) 從Java.lang.Thread類派生一個新的線程類,重寫它的run()方法。
b) 實現Runnable接口,重寫Runable接口中的run()方法。
56. 簡述一個線程的生命周期?
a) 新建---運行---中斷---死亡
57. 如何讓一個準備就緒的線程運行?
a) 調用線程的start方法讓一個處于準備就緒的狀態的線程運行。
58. 如何讓一個線程休眠1000毫秒?
a) 調用線程的sleep方法,參數為1000。
59. 如何使線程同步?
a) 使用同步方法
synchronized void methodA() { }
b) 使用同步塊
synchronized(object) {
//要同步的語句
}
60. 什么是GC?為什么有GC?
a) GC是垃圾收集器。Java 程序員不用擔心內存管理,因為垃圾收集器會自動進行管
理。
61. 構造方法能否被重寫?為什么?
a) 不能,因為構造方法不能被繼承,所以不能重寫。
62. 是否可以繼承String類,為什么?
a) 因為String類是final類,final修飾的類不能被繼承。
63. java關鍵字區分大小寫嗎?
a) java關鍵字一律小寫。所以無所謂區分大小寫,大寫的不是關鍵字。
64. java采用什么字符集?該字符集有多少字符
a) Java 使用 unicode 字符集,所以常量共有 65535 個
65. 列舉算術運算符?
a) +,-,*,/,%
66. 算術混合運算結果精度如何確定?
a) Java按照運算符兩邊的操作元的最高精度保留結果的精度。
67. &是位運算符,與運算的規則是什么?
a) 全1則1,否則為0
68. | 是位運算符,或運算的規則是什么?
a) 全0則0,否則是1
69. ^是位運算符,異或運算的規則是什么?
a) 相同0,不同1
70. ~是位運算符,非運算的規則是什么?
a) 遇1則0,遇0則1
71. if語句后邊有個括號,該括號里表達式為什么類型?
a) boolean類型
72. switch語句后括號里的表達式是什么類型?case后類型如何確定?
a) char,int,byte,short,枚舉類型。
b) case后面是一個常量,該常量類型由switch后括號內表達式來確定。
73. switch語句后,default關鍵字起什么作用?break起什么作用?
a) default:當用戶指定的表達式與任何case都不匹配的時候,執行default后的語句。 b) break:退出當前case。
74. for循環后括號里三個表達式分別起什么作用?
a) 1:循環初始化的時候執行,只執行一次。
b) 2:循環成立的條件。
c) 3:循環每次執行都會調用該表達式,一般做變量自增。
75. while 和do。。while區別?
a) while先判斷條件,再執行。
b) do……while先執行,再判斷條件
c) do……while至少執行一次。
76. 什么是編譯執行的語言?什么是解釋執行的語言?
a) 編譯方式:Compilation:針對當前的機器處理器芯片,將源程序全部翻譯成機器指令,
稱做目標程序,再將目標程序交給計算機執行.
b) 解釋方式:Interpretation:這種方式不產生整個的目標程序,而是根據當前的機器處
理器芯片,邊翻譯邊執行,翻譯一句執行一句.
77. 簡述一個java程序執行的過程?
a) 首先編寫java源文件(擴展名為.java的文本文檔)。
b) 用javac命令把源文件編譯成字節碼文件(.class文件)
c) 用java命令執行字節碼文件。
78. 成員變量的作用范圍?局部變量的作用范圍?
a) 成員變量在整個類內都有效
b) 局部變量只在定義它的類內有效。
79. 構造方法有什么作用?
a) 在創建對象的時候,java虛擬機會調用類的構造方法來創建對象。一般對象的初始
化工作可以放在構造方法里。
80. java三大特性?
a) 封裝,繼承,多態。
數據庫部分
81. 簡述什么是關系型數據庫?
a) 所謂關系型數據庫,是指采用了關系模型來組織數據的數據庫。關系模型指的就是
二維表格模型,而一個關系型數據庫就是由二維表及其之間的聯系組成的一個數據組織。
b) 關系型數據庫是由許多數據表(Table)所組成,表又是由許多記錄(Row 或Record)
所組成,而紀錄又是由許多的字段(Column 或Filed)所組成。
82. 什么是主鍵?
a) 設置一個表中的某個字段為主鍵,這個字段能夠唯一的確定該表中某條記錄,這樣
的字段我們稱為主鍵。
83. 什么是外鍵?
a) 外部鍵約束用于強制參照完整性,提供單個字段或者多個字段的參照完整性。
84. 主外鍵關聯的作用?
a) 保證數據完整性。
b) 消除冗余數據。
85. SQL語句中文含義是?
a) Structured Query Language,結構化查詢語言。
86. 什么是數據庫?
a) 數據庫是長期存儲在計算機內的、有組織的、可共享的數據集合。
87. 什么數據庫管理系統?
a) DBMS就是實現把用戶意義下的抽象的邏輯數據轉換成計算機中的具體的物理數
據的處理軟件。
JDBC部分
88. JDBC含義?
a) JDBC(Java DataBase Connectivity) java數據庫連接,是java連接數據庫的AIP。
89. JDBC連接數據庫步驟?
a) 加載驅動
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
b) 建立連接
Connection conn = DriverManager.getConnection(dbURL,username,password);
c) 創建語句對象
Statement stmt = conn.createStatement()
90. 如何使用sql語句操作數據庫?
a) 得到語句對象之后,使用語句對象調用executeUpdate(sql)方法和executeQuery(sql)
方法分別執行更新語句和查詢語句。
91. executeUpdate(sql)方法的返回值表示什么含義?
a) 表示該更新方法影響了幾行記錄。
92. executeQuery(sql)方法的返回值如何使用?
a) 該方法的返回值為一個結果集,即ResultSet類型的對象。
b) ResultSet類型的對象有一個游標,指向當前操作的行。該游標默認指向第一行記錄
之前,如果我們想操作結果集,需要先將游標下移,我們調用ResultSet接口的next()方法將游標下移,如果結果集里有數據,則游標下移,指向第一行,如果結果集里沒有記錄,則下移失敗。當游標指向具體的某一行時,我們就可以從結果集里邊獲取值了。獲取的值為當前游標指向行的值。
93. 如何獲取游標所指的行的數據?
a) 當游標指向某一行時,我們可以使用ResultSet接口的getString(列名)方法來獲取某
一列的值,列名作為方法的參數。
94. 創建語句對象時,createStatement(參數1,參數2),兩個參數分別表示什么含義?
a) 第一個參數指定該語句對象生成的結果集是否可滾動以及是否敏感,
b) 第二個參數指定該語句對象生成的結果集是否可以更新數據庫。