先給一個老師說會考的知識點
JDK安裝目錄下的檔案
1.bin
該路徑下存放了JDK的各種工具命令,常用的javac、java等命令就放在該路徑下,
2.include
C 語言頭檔案,支持用Java本地介面和Java虛擬機介面 來實作本機代碼編程
3.jre
JDK自含JRE的根目錄,這是系統屬性java.home所指向的目錄
bin: 包含執行檔案和dll等庫檔案,可執行檔案和jdk/bin是一樣,本目錄不需要被PATH所包含
4.lib
該路徑下存放的是JDK工具命令的實際執行程式,(即bin中絕大部分命令運行的是lib中程式)
Java中各個資料型別都占多少個位元組呢

接下來是精選選擇題
- JAVA所定義的版本中不包括:( 4. )
- JAVA2 EE
- JAVA2 Card
- JAVA2 ME
- JAVA2 HE
- JAVA2 SE
2-17
下列哪些陳述句關于Java記憶體回收的說明是正確的? ( )
A.程式員必須創建一個執行緒來釋放記憶體
B.記憶體回收程式負責釋放無用記憶體
C.記憶體回收程式允許程式員直接釋放記憶體
D.記憶體回收程式可以在指定的時間釋放記憶體物件
在Java里,記憶體的釋放由垃圾回收程式進行管理,程式員不能直接進行釋放,
程式員可以呼叫System.gc()運行垃圾回收器,但是不能指定時間,
下述哪條關于構造方法的說法,不符合Java語法的規定( ),
A.每個類至少有一個構造方法
B.構造方法必須與類同名
C.構造方法無回傳值,其回傳值型別必須寫為void
D.構造方法可以是private的
Java類 必須包含一個或一個以上的構造方法,沒寫構造方法Java也會自己初始化一個無參構造方法
構造方法也可以是私有的private,私有構造器,就是用private關鍵字宣告的構造器,與一般公有構造器最大的區別在于,其訪問權限是private,于是它只能被包含它的類自身所訪問,而無法在類的外部呼叫,故而可以阻止物件的生成,所以,如果一個類只有一個私有構造器,而沒有任何公有構造器,是無法生成任何物件的,詳情請見https://blog.csdn.net/StaticFinal520/article/details/56014312?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control
2-2
例外包含下列那些內容?
A.程式中的語法錯誤
B.程式的編譯錯誤
C.程式執行程序中遇到的事先沒有預料到的情況
D.程式事先定義好的可能出現的意外情況
下列關于System類的敘述中,錯誤的是( ),
A.System類是一個final類
B.System類不能實體化
C.System類中沒有定義屬性
D.System類主要提供了系統環境引數的訪問
System類代表系統,系統級的很多屬性和控制方法都放置在該類的內部,該類位于java.lang包,
由于該類的構造方法是private的,所以無法創建該類的物件,也就是無法實體化該類,其內部的成員方法和成員變數都是static(靜態)的,所以也可以很方便的呼叫他,
system中包含了in、out和err三個成員變數,分別代表標準輸入流(鍵盤輸入)、標準輸出流(顯示幕)和標準錯誤輸出流(顯示幕)
執行完以下代碼int [ ] x = new int[10];后,以下哪項說明是正確的( ),
A.x[9]為0
B.x[9]未定義
C.x[10]為0
D.x[0]為空
1、int型別定義的陣列,初始化默認是0
2、String型別定義的陣列,默認值是null
3、char型別定義的陣列,使用UTF8字符集 給出的結果是 
4、double型別定義的陣列,默認值是0.0
5、float型別定義的陣列,默認值是0.0
6、boolean型別定義的陣列,默認值是false
在Java中用什么關鍵字修飾的方法可以直接通過類名來呼叫?( ),
A.static
B.final
C.private
D.void
參考百度經驗里的方法回答這個問題https://jingyan.baidu.com/article/9f7e7ec0e61d9d6f2915546e.html
-
靜態方法的呼叫方式,類名稱+方法名;
撰寫TestStatic類,其有一個靜態方法和一個實體方法,

-
然后撰寫測驗類,使用類名稱+方法名,去呼叫這兩個方法,發現呼叫test2時,編譯器報錯,其不是一個類方法,
然后創建
-
TestStatic的一個實體ts,然后使用ts可以呼叫test2,

Java中(),
A.一個子類可以有多個父類,一個父類也可以有多個子類
B.一個子類可以有多個父類,但一個父類只可以有一個子類
C一個子類可以有一個父類,但一個父類可以有多個子類
D.上述說法都不對
這個題可以說相當經典了,java舍棄了C++中復雜的子類繼承多個父類的功能,一個子類只能繼承一個父類,一個父類能被多個子類繼承,
6.要從檔案" file.dat"檔案中讀出第10個位元組到變數C中,下列哪個方法適合? A
A、 FileInputStream in=new FileInputStream("file.dat"); in.skip(9); int c=in.read();
B、 FileInputStream in=new FileInputStream("file.dat"); in.skip(10); int c=in.read();
C、 FileInputStream in=new FileInputStream("file.dat"); int c=in.read();
D、 RandomAccessFile in=new RandomAccessFile("file.dat"); in.skip(9); int c=in.readByte();
11.下列代碼哪幾行會出錯: C
1) public void modify() {
2) int I, j, k;
3) I = 100;
4) while ( I > 0 ) {
5) j = I * 2;
6) System.out.println (" The value of j is " + j );
7) k = k + 1;
8) I--;
9) }
10} }
A、 line 4
B、 line 6
C、 line 7
D、 line 8
未初始化
12.MAX_LENGTH是int型public成員變數, 變數值保持為常量100,用簡短陳述句定義這個變數, D
A、 public int MAX_LENGTH=100;
B、 final int MAX_LENGTH=100;
C、 final public int MAX_LENGTH=100;
D、 public final int MAX_LENGTH=100.
final關鍵字的用法
變數:final成員變數表示常量,只能被賦值一次,賦值后值不再改變,
方法:只有在想明確禁止 該方法在子類中被覆寫的情況下才將方法設定為final的
類:當用final修飾一個類時,表明這個類不能被繼承,也就是說,如果一個類你永遠不會讓他被繼承,就可以用final進行修飾
20.對于下列代碼:
public class Parent {
public int addValue( int a, int b) {
int s;
s = a+b;
return s;
}
}
class Child extends Parent {
}
下述哪些方法可以加入類Child? C
A、 int addValue( int a, int b ){// do something...}
B、 public void addValue (int a, int b ){// do something...}
C、 public int addValue( int a ){// do something...}
D、 public int addValue( int a, int b )throws MyException {//do something...}
23.給定下面的代碼片段: C
1) String str = null;
2) if ((str != null) && (str.length() > 10)) {
3) System.out.println("more than 10");
4) }
5) else if ((str != null) & (str.length() < 5)) {
6) System.out.println("less than 5");
7) }
8) else { System.out.println("end"); }
哪些行會導致錯誤?
A、 line 1
B、 line 2
C、 line 5
D、 line 8
注意邏輯與是“&&”,按位與是“&”
30.下列關于Java執行緒的說法那些是正確的() D
A、 每一個Java執行緒可以看成由代碼、一個真實的CPU以及資料三部份組成,
B、 創建執行緒的兩種方法中,從Thread類中繼承的創建方式可以防止出現多父類問題,
C、 Thread類屬于java.util程式包,
D、 以上說法無一正確,
33.指出下列程式的運行結果 B
int i = 9;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two");
}
A、 default
B、 default, zero
C、 error default clause not defined
D、 no output displayed那個
default沒寫break
35. 下面哪個單詞是Java語言的關鍵字( B )
A、Float B、this C、string D、unsigned
float要小寫,String要大寫
36. 下面哪個是Java語言中正確的識別符號( C )
A、3com B、import C、that D、this
識別符號是給變數、方法和類來取名字的,第一個不能是數字,且不能是關鍵字
40. 下面哪個是對字串String的正確定義 ( A )
A、String s1=null; B、String s2=’null’ ;
C、String s3=(String) ‘abc’ ; D、String s4=(String) ‘\uface’;
41. 下面哪條陳述句不能定義一個float型的變數( B )
A、float f1= -343 ; B、float f2=3.14 ;
C、float f3=0x12345 ; D、float f4=2.8F ;
float后面如果是小數要跟一個小寫的f
42. 下面哪條陳述句定義了5個元素的陣列( A )
A、int [] a={22,23,24,25,12};
B、int a []=new int(5);
C、int [5] array;
D、int [] arr;
46. 給出一段程式,試判斷哪個是正確的結果( B )
public class rtEx‘’cept{
public static void throwit(){
System.out.print(“throwit”);
throw new RuntimeException(); }
public static void main(String [] aa){
try{
System.out.print(“hello “);
throwit(); }
catch(Exception re){
System.out.print(“caught ”); }
finally{
System.out.print(“finally ”); }
System.out.print(“after ”);
}
}
A、hello throwit caught
B、hello throwit caught finally after
C、hello throwit RuntimeException after
D、hello throwit caught finally after RuntimeException
57.下面哪個修飾符修飾的變數是所有同一個類生成的物件共享的( C )
A、public B、private C、static D、final
59.下面關于java中類的說法哪個是不正確的( C )
A、類體中只能有變數定義和成員方法的定義,不能有其他陳述句,
B、建構式是類中的特殊方法,
C、類一定要宣告為public的,才可以執行,
D、一個java檔案中可以有多個class定義,
可以有多個Class,但只能有個是用public 修飾的Class,且和檔案名一致,其他的class一般不加訪問權限修飾(即class XXX{}形式)
60. 下面程式運行后的輸出結果為( c )
class A
{static int y=6;
void showy( ){System.out.println(“y=”+y); } }
class testA
{
public static void main(String aaa [])
{ A a1=new A( );
A.y+=1; a1.y++;
a1.showy( );
}
}
輸出結果選擇:
A、y=6; B、y=7; C、y=8; D、程式運行出錯
static是全域的變數,都能用,都能改
62. 下面關于建構式的說法不正確的是( B )
A、建構式也屬于類的方法,用于創建物件的時候給成員變數賦值,
B、建構式不可以多載,
C、建構式沒有回傳值,
D、建構式一定要和類名相同,
建構式當然可以多載
66.監聽事件和處理事件 B
A、都由Listener完成 B、都由相應事件Listener處登記過的構件完成
C、由Listener和構件分別完成 D、由Listener和視窗分別完成
68.給出如下代碼:
class Test{
private int m;
public static void fun() {
// some code...
}
}
如何使成員變數m 被函式fun()直接訪問? C
A、將private int m 改為protected int m
B、將private int m 改為 public int m
C、將private int m 改為 static int m
D、將private int m 改為 int m
靜態成員函式只能夠呼叫靜態成員變數,不能訪問普通變數,
發明靜態函式的目的:操作靜態變數,執行一些和特定物件無關的內容
69.下面的代碼段中,執行之后i 和j 的值是什么? C
int i = 1;
int j;
j = i++;
A、 1, 1 B、1, 2 C、2, 1 D、2, 2
70.欲構造ArrayList類的一個實體,此類繼承了List介面,下列哪個方法是正確的 ? B
A、 ArrayList myList=new Object();
B、 List myList=new ArrayList();
C、 ArrayList myList=new List();
D、 List myList=new List();
73.指出下列程式運行的結果 D
public class Example{
String str=new String("good");
char[]ch={'a','b','c'};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+" and ");
Sytem.out.print(ex.ch);
}
public void change(String str,char ch[]){
str="test ok";
ch[0]='g';
}
}
A、 good and abc
B、 good and gbc
C、test ok and abc
D、 test ok and gbc
74.運行下列程式, 會產生什么結果 A
public class X extends Thread implements Runable{
public void run(){
System.out.println("this is run()");
}
public static void main(String args[])
{
Thread t=new Thread(new X());
t.start();
}
}
A、 第一行會產生編譯錯誤
B、 第六行會產生編譯錯誤
C、 第六行會產生運行錯誤
D、 程式會運行和啟動
是Runnable不是Runable
84、如果類中的成員變數可以被同一包訪問,則使用如下哪個約束符? D
A、 private B、public C、protected D、no modifier
86.MAX_LENGTH是int型public成員變數, 變數值保持為常量100,用簡短陳述句定義這個變數, D
A、 public int MAX_LENGTH=100;
B、 final int MAX_LENGTH=100;
C、 final public int MAX_LENGTH=100;
D、 public final int MAX_LENGTH=100.
120.對于catch子句的排列,下列哪種是正確的(A )
A.父類在先,子類在后
B.子類在先,父類在后
C.有繼承關系的例外不能在同一個try程式段內
D.先有子類,其他如何排列都無關
124.在例外處理中,如釋放資源、關閉檔案、關閉資料庫等由( C)來完成,
A.try子句 B.catch子句
C.finally子句 D.throw子句
133.Java虛擬機的執行程序有多個特點,下列哪個特點不屬于JVM執行特點(D )
A.多執行緒 B.動態連接
C.例外處理 D.異步處理
144.Java中哪個類提供了隨機訪問檔案的功能(A )
A.RandomAccessFile類 B.RandomFile類
C.File類 D.AccessFile類
145.當方法遇到例外又不知如何處理時,下列哪種說法是正確的( C)
A.捕獲例外 B.拋出例外
C.宣告例外 D.嵌套例外
146.Java程式的執行程序中用到一套JDK工具,其中java.exe是指( B)
A.Java檔案生成器 B.Java解釋器
C.Java編譯器 D.Java類分解器
149.Java語言中,下列識別符號錯誤的是(C )
A.diss B.—name
C.&count D.—j
152.下面說法不正確的是(B )
A.Java中執行緒是搶占式的 B.Java中執行緒是分時的
C.Java中的執行緒可以共享資料 D.Java中的執行緒可以共享代碼
153.下面屬于Java執行緒同步方法的方法有( C)
A.joiny() B.run()
C.wait() D.destroy()
155.下列說法不正確的是(C )
A.IOException必須被捕獲或拋出
B.java語言會自動初始化變數的值
C.java語言不允許同時繼承一個類并實作一個介面
D.java語言會自動回收記憶體中的垃圾
157.Java語言中,下列識別符號錯誤的是(BD )
A.—sys1 B.&—m
C.I D.40name
161.在下列事件處理機制中哪個不是機制中的角色(C )
A.事件 B.事件源
C.事件介面 D.事件處理者

164.物件使用時,下面描述錯誤的是( B)
A.通過“.”運算子呼叫成員變數和方法
B.通過成員變數的訪問權限設定限制自身對這些變數方法的呼叫
C.將一個物件申明為類的成員時,必須在使用前為其分配記憶體
D.在方法中使用物件作為引數時,采用參考呼叫
限制自身不對,會限制子類,包內類,包外類的呼叫
170.JAVA程式經常用到“遞回”,“遞回”的基本思想是(C )
A.“讓別人反復呼叫自己” B.“自己反復呼叫別人”
C.“自己反復呼叫自己” D.以上說法都不對
- 運算子優先級別排序正確的是(A )
- 由高向低分別是:()、!、算術運算子、關系運算子、邏輯運算子、賦值運算子;
- 由高向低分別是:()、關系運算子、算術運算子、賦值運算子、!、邏輯運算子;
- 由高向低分別是:()、算術運算子、邏輯運算子、關系運算子、!、賦值運算子;
- 由高向低分別是:()、!、關系運算子、賦值運算子、算術運算子、邏輯運算子;
在java中下列關于自動型別轉換說法正確的是( A )
- 基本資料型別和String相加結果一定是字串型
- char型別和int型別相加結果一定是字符
- double型別可以自動轉換為int
- char + int + double +"" 結果一定是double;

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/247197.html
標籤:java
