問題一覧
1
什麼是java?
編程語言, 計算平台
2
java是一個運算平台,什麼是運算平台?
電腦中運行應用程序的環境, 硬件環境, 軟件環境
3
java是一個____的編程語言,面向對象(Object Oriented)是一個______
面向對象(Object Oriented), 軟件開發思想
4
面向對象(Object Oriented)會將____和____組織為一個整體來看待
相關的數據, 方法
5
面向過程(Procedure Oriented)是一種以____作為中心的編程思想,一般是____完成一系列的動作
過程, 時序性
6
面向對象可以對現實世界進行_____,所以____嚴格按照順序來執行每個動作。
抽象,不用
7
Java有一個特點,它摒棄了C++中難而理解的____,____,____等概念。
多繼承,指針,內存管理
8
Java的特征包括____
不用手動管理對象的生命週期
9
Java具有____和____的2個特征,所以現在企業級開發,快速敏捷開發,尤其是各種框架的出現,使Java成為越來越收歡迎的語言
功能強大, 簡單易用
10
java是一門____,所以是一款在編譯期間就能夠知道數據類型的語言
靜態語言
11
java寫的程序在運行前就能夠______
檢查數據類型的正確性
12
Java編寫的程序,_____
數據類型確定後就不能再更改
13
動態語言,例如Python,Ruby,JavaScript等等,_______
沒有任何特定的情況需要指定變量的類型和在程序運行時需要確定變量的類型
14
從設計的角度上來說,所有的編程語言都是設計用來_____
把人類可讀的代碼轉換為機器指令
15
動態語言是為了____,靜態語言是為了____
能夠讓程序員提高編碼效率,能夠讓硬件更高效地執行
16
動態語言設計的特性可以_____,靜態語言設計的特性可以_____
使用更少的代碼來實現功能。編寫準確的代碼,讓代碼盡快執行
17
電腦的應用程序與硬件之間會屏蔽很多細節,它們依靠____完成調度和協調?
操作系統
18
這個是有關軟件和硬件之間協調的細節,請先由上至下,然後左至右完成屏蔽的內容
web瀏覽器, 電子郵件閱讀器, 音樂播放器, 用戶接口程序, 操作系統, 用戶態, 內核態
19
這個是java應用程序與硬件之間的關係細節,請由上至下地填上屏蔽的內容
Java App, API, JVM, 系統, 操作系統
20
Java具有_____和_____,核心是因為____
平台獨立性, 可移植性, JVM
21
Java的程序可以在Windows平台下編寫代碼,然後拿到Linux平台下運行,這是因為_____
已編譯的Java程序可以在任何帶有JVM的平台上運行
22
如何把在Windows寫的程序拿到Linux或者其他平台下運行?
用IDE和javac把Java代碼編譯為.class文件, 把.class文件打成.jar文件, 不同的操作系統有不同的JVM實現
23
Java是一門____,它對用戶_____
高級語言, 屏蔽很多底層實現細節
24
從操作系統的角度來說,會有什麼實現多線程的方式呢?
在用戶空間中實現, 在內核空間中實現, 在用戶空間和在內核空間中實現
25
Java應該是在用戶空間實現多線程,因為____
內核感知不到java存在多線程機制
26
java編寫的代碼,在什麼時候會變成字節碼(bytecode)呢?
經過javac編譯器編譯後
27
java的代碼經過什麼程序會轉換為機器代碼呢?
java代碼變成字節碼(bytecode)後,經過JVM內嵌的解釋器將字節碼轉換為機器代碼
28
java代碼編譯成字節碼,再轉換為機器代碼,這個程序叫什麼名字?轉換過程的效率是?
解釋執行, 較低
29
部分JVM的實現提供了____編譯器,又名____,它能夠在運行時將____編譯成____,這個方式運行效率比較____,整個步驟叫____
JIT(Just-in-time),動態編譯器,熱點,機器代碼,高,編譯執行
30
Java比C更具壯健性,因為java有____,____,____
強類型機制,異常處理,垃圾的自動收集
31
Java支持Internet應用的開發,例如:java中有____,它提供了用於____編程的類庫,包括:____,____,____,____等等。
net api,網絡應用,URL,URLConnection,Socket,ServerSocket
32
Java的____機制是開發分佈式應用的重要手段
RMI(遠程方法激活)
33
JDK是什麼?
全名是Java development kit,是Java開發工具, 是一個編寫Java的Applet小程序和應用程序的程序開發環境, 包括了Java運行環境(Java Runtime environment),一些Java工具和Java的核心類庫(Java API)
34
JDK和JRE的分別是什麼?
JDK是個開發環境,JRE是個運行環境, JDK的功能比JRE更全面, JDK比JRE佔用的空間較大
35
JDK是否包含JRE?
是
36
運行普通的Java程序推薦使用JDK還是JRE呢?為什麼?
JRE,雖然功能較少,但是佔用空間較少
37
Java中的byte數據類型有多少個bits?默認值是多少?
8,0
38
java中short的數據類型佔用了多少個字節(byte), 共有多少個bits, 默認值是什麼?
2,16,0
39
java中的int數據類型佔用了多少個字節(byte),共有多少個bits,默認值是什麼?
4,32,0
40
java中的long數據類型佔用了多少個字節(byte),共有多少個bits,默認值是什麼?
8,64,0L
41
java中的float數據類型佔用了多少個字節(byte),共有多少個bits,默認值是什麼?
4,32,0.0f
42
java中的double數據類型佔用了多少個字節(byte),共有多少個bits,默認值是什麼?
8,64,0.0d
43
java中的float數據類型是
單精度浮點型
44
java中的char數據類型共佔用多少bits,最小值是?最大值是?
16,\u0000,\uffff
45
java中的char數據類型\u0000代表什麼?
0
46
java中的char數據類型\uffff代表什麼?
65535
47
java中的boolean數據類型共佔用了多少個bits,默認值是什麼?
1,false
48
Java中寫的Hello和hello字串是否相同嗎?
否,因為Java是大小寫敏感的編程語言
49
在Java寫類(class)的名稱時,應該怎樣寫呢?
每個單字之間沒有空格,每個字的第一個字母都需要大階
50
Java中的包(package)名稱應該怎樣寫呢?
每個單字之間沒有空格,所有字母保持小寫
51
Java中的方法(method)名稱應該怎樣寫呢?
每個單字之間沒有空格,除了第一個單字的字母,其他單字的字母都需要大寫
52
java中的運算符=表示什麼?
把=右邊的值複製給左邊
53
對於對象(Object),java中的運算符=代表什麼?
將一個對象的引用賦值給另一個對象
54
依次序選擇加,減,乘,除,取餘的運算符
+, -, *, /, %
55
算數的優先次序是大約是如何決定?請由優先度最高到最低地選擇
(), 乘除, 加減
56
參考以下代碼 int a = 5; b= ++a; c=a++; a++和++a有什麼分別?
++a是前置遞增運算符,它會先將變量的值+1,然後再返回變量的值, a++是後置遞增運算符,它會先返回變量的值,然後在表達式計算完結後,把變量的值+1,
57
比較運算符,例如是>, ==,運算的結果會是什麼資料類型?
boolean
58
java的比較運算符共有6個,請依次序把它們選擇出來 比較左方是否大於右方 比較左方是否小於右方 比較左方是否等於右方 比較左方是否大於或等於右方 比較左方是否小於或等於右方 比較左方是否不等於右方
>, <, ==, >=, <=, !=
59
邏輯運算符有3類:與,或,非。在java裡共有6種,請依次序選擇符號 短路與 邏輯與 短路或 邏輯或 邏輯非 邏輯異或
&&, &, ||, |, !, ^
60
短路邏輯運算符,例如:&&;和普通邏輯運算符,例如:&,有什麼分別?
短路邏輯運算符能夠根據第一個操作數的結果就能決定整個表達式的結果, 普通邏輯運算符需要計算全部操作數的結果才能決定整個表達式的結果
61
根據a和b的結果,由上至下解答結果是true還是false
true, false, false, false
62
根據a和b的結果,由上至下地判斷a&&b的結果
true, false, false, false
63
根據a和b的結果,由上至下地判斷a|b的結果
true, true, true, false
64
根據a和b的結果,由上至下地判斷a||b的結果
true, true, true, false
65
根據a和b的結果,由上至下地判斷!a的結果
false, false, true, true
66
根據a和b的結果,由上至下地判斷a^b的結果
false, true, true, false
67
按位運算符,例如:&, |,作用是什麼?
操作整數基本類型中變成2進制後的每個比特位, 對應2個參數中的對應的比特位執行boolean運算
68
按位運算符有4種:與,或,非,異或,請按次序選擇
&, |, ~, ^
69
按位與(and)(&)進行2個數字之間的比較,會產生什麼運算結果?
把比較雙方轉換成2進制,再按位比較;如果2個對位的操作數都是1,結果就是1,否則結果是0
70
按位或(OR)(|)進行2個數字之間的比較,會產生什麼運算結果?
把比較雙方轉換成2進制,再按位比較;其中1個對位的操作數是1,結果就是1,否則結果是0
71
使用按位非(NOT)(~)會產生什麼運算結果?
把操作數轉換成2進制,如果操作數都是1,結果就是0; 如果操作數都是0,結果就是1
72
按位異或(XOR)(^)進行2個數字之間的比較,會產生什麼運算結果?
把比較雙方轉換成2進制,再按位比較;如果操作數是相同,結果就是0; 如果操作數不相同,結果就是1
73
移位運算符(<<)(>>)的作用是什麼?
將操作數向某個方向(左或者右)移動指定的2進制位數
74
移動運算符(<<)是把操作數的2進制位數向什麼方向移動?寫法怎樣才是正確?
向左移動,8<<1 (移動的位數)
75
移動運算符(>>)是把操作數的2進制位數向什麼方向移動?寫法怎樣才是正確?
向右移動,8>>1 (移動的位數)
76
三元運算符(?)(:)有什麼作用?
if...else表達式的簡易寫法
77
三元運算符代表if....else...的操作符,具體是怎樣寫才能使表達式生效呢?
條件表達式?表達式1:表達式2。條件的判斷結果是boolean型,當條件的判斷是true,就會調用表達式1,當條件的判斷是false,就會調用表達式2。
78
以下哪個使用if的方式是正確呢?
int a = 10; if(a > 10){ return true; } return false;
79
if…else…有什麼意義?如何正確寫出if…else…語句?
如果滿足if ()內的boolean表達式,就執行if後的語句; 如果是false,則進行else後的語句 int a = 10; int b = 11; if(a >= b){ System.out.println(“a >= b”); }else{ System.out.println(“a < b”); }
80
if...else if是什麼意義?怎樣才是正確的if...else if語句?
多個判斷條件,如果滿足某種條件,則執行if或者if else表達式後的複合語句;如果都是false,則執行else後的複合語句。 int x = 40; if(x>60){ System.out.println(“x > 60”); } else if (x > 30){ System.out.println(“60>x>30”); } else{ System.out.println(“x<30); }
81
switch的用法跟什麼相似呢?
if...else if...
82
哪一個switch的語句是正確的?
switch(week){ case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; case 3: System.out.println("Wednesday"); break; default: System.out.println("No Else"); break; }
83
while和do...while有什麼分別?
do...while的語句至少執行一次,即使第一次的表達式是false;而while loop,如果第一次的條件是false,其中的語句不會執行。
84
哪個do...while的語句是正確呢?
int a = 10; do{ System.out.println(“b ==” + b); b- -; }while(b==1);
85
哪個for loop的循環控制語句是有效呢?
for(int i = 1, j = i + 10; i < 5; i++, j = j *2){}
86
for each的用途是什麼?如何才是正確的寫法?
方便對數組和集合進行遍歷的方法 int array[] = {7,8,9}; for(int arr: array) { System.out.println(arr); }
87
break語句的用途是什麼?如何才是有效地使用break?
在for loop, while loop, do...while和switch的循環語句中使用,用於強行退出當前循環
88
以下哪個代碼是有效使用break呢?
boolean flag = false; for (int i = 0; i < 10; i++) { if (i == 5) { flag = true; break; } System.out.println(i); } if (flag) { System.out.println("Loop terminated early"); }, for (int i = 0; i < 10; i++) { if (i == 5) { break; } System.out.println(i); }, int i = 0; while (i < 10) { if (i == 5) { break; } System.out.println(i); i++; }
89
continue的作用是什麼?
放在循環語句當中,忽略continue語句以下的代碼,並執行下一次的循環
90
如何有效使用continue語句呢?
for (int i = 0; i < 10; i++) { if (i == 5) { System.out.println("continue"); continue; } System.out.println(i); }, int i = 0; while (i < 10) { if (i == 5) { System.out.println("continue"); i++; continue; } System.out.println(i); i++; }
91
return語句的作用是什麼?
從一個方法返回,並把控制權交給調用它的語句
92
如何有效使用return語句?
public String getName() { return name; }, public String getName() { String fullName = "John Doe"; return fullName; }
93
Java是面向對象的高級編程語言,面向對象語言有什麼特征呢?
比較符合大眾的思考習慣, 可以將複雜的業務邏輯簡單化,增強代碼的複用性, 具有抽象,封裝,繼承,多態等的特性
94
面向對象有類(Class)的概念,什麼是類呢?
相當於一系列對象的抽象,好像是書的封面一樣, 大多數面向對象的語言都使用class定義類, 相當於定義對象和方法
95
如何有效地定義類(Class)
class ClassName{}
96
當聲明一個類之後,如何創建類的對象?
使用new keyword ClassName classname = new ClassName();
97
當我定義好一個類之後,例如:class Car{}。如果我再輸入這一行,再運行程式,會產生什麼結果呢? Car carKey;
java會返回異常,carKey只是對象的引用,雖然它可以獨立存在,但是java需要一個對象與它關聯,才能夠運行
98
類(Class)最基本的要素就是有什麼呢?
屬性(properties),方法(method)
99
類中的屬性又叫什麼名字?包括了什麼?
字段(attribute, field),包括了任意類型的對象,當中也可以是基本數據類型