2017年9月計算機二級考試JAVA復備考題

計算機二級考試每年都會舉行兩次。你知道計算機二級考試JAVA科目都考哪些知識嗎?爲了方便考生備考計算機二級考試JAVA 科目。下面是小編爲大家帶來的計算機二級考試JAVA復備考題,歡迎閱讀。

2017年9月計算機二級考試JAVA復備考題

  備考題一:

1、Swing與AWT相比新增的佈局管理器是______。

A、CardLayout

B、GridLayout

C、GridBagLayout

D、BoxLayout

本題考查的是佈局管理器。

Swing繼續沿用AWT中的佈局管理器,包括FlowLayout、BorderLayout、CardLayout、GridLayout、GridBagLayout,另外Swing新增加了一個BoxLayout佈局管理器。

故本題答案爲D。

2、下列對Java特性的敘述中,錯誤的是______。

A、在編寫Java子類時可以自由地增加新方法和屬性

B、Java的Applet要求編程首先創建JFrame窗口

C、Java語言用解釋器執行字節碼

D、Java中的類一般都有自己的屬性和方法

本題考查的是Applet的概念。

Applet是能夠嵌入到HTML頁面中,並能夠在瀏覽器中運行的Java類,本身並不一定需要首先創建窗體,但可以使用JApple類來使用Swing構件。

Swing包中的JFrame類與創建窗口有關,是提供給java應用程序用來放置圖形用戶界面的一個容器。

JApplet類與JFrame一樣是頂層的Swing容器。包含Swing構件的Applet必須是JApplet的子類。

故本題答案爲B。

3、閱讀下面求質數的程序

import .*;

public class MorePrimesTest{

public static void main(String[] args){

long[] primes=new long[20];

primes[0]=2L;

primes[1]=3L;

long number=5L;

outer:

for(int count=2;count  long limit=(long)(((double)number));

for(int i=1;i  if(number ______ primes[i]==0L){

continue outer;

}

}

primes[count++]=number;

}

for(int j=0;j  long n=primes[j];

tln(n);

}

}

}

在程序下劃線處填入的正確選項是______。

A、&

B、*

C、/

D、%

本題考查的是JAVA程序結構。

所謂質數或稱素數,就是一個正整數,除了本身和1以外並沒有任何其他因子。任何一個整數,可以寫成一串質數相乘的積。

程序中首先定義了包含有20個元素的長整型數組,爲數組的第一,第二個元素賦值,並且還定義了一個長整型變量"long number=5L;",然後進入循環,該循環的作用是判斷當前變量number的值是否爲質數,其中(double x)方法的作用是求x的平方根,而()方法的作用是求最小的整數但不小於本身(例如:(3.14)則返回4),在本次循環中,需要判斷變量number與primes[i]的取餘操作,如果變量number與小於自己的平方根取整且小於count的數取餘數爲0,則跳出循環,將number的值寫入數組中,當20個元素填滿後,程序依次輸出數組元素。

故本題答案爲D。

4、在Java中,"目錄"被看作是______。

A、文件

B、流

C、數據

D、接口

本題考查的是目錄的概念。

目錄在Java中作爲一種特殊文件,即文件名的列表,通過類File所提供的方法,可得到文件或目錄的描述信息(包括名字、路徑、長度、可讀、可寫等),也可以生成新文件、目錄、修改文件和目錄,查詢文件屬性,重命名文件或者刪除文件。

故本題答案爲A。

5、下列帶下劃線的標識符符合Java命名約定的是______。

A、package

B、public class xyz

C、int I

D、void setCustomerName()

本題考查的是Java命名約定。

包的名字應該都是由小寫單詞組成。它們全都是小寫字母,即便中間的單詞亦是如此,所以A選項錯誤。

類名的第一個字母一定要大寫,所以B選項錯誤;

變量的第一個字母應該爲小寫,所以C選項錯誤;

與屬性相對應的get、set方法爲:set(get)+屬性名,屬性名第一個字母爲大寫,所以D選項正確。

故本題答案爲D。

6、在Java語言中,被稱爲內存分配的運算符是______。

A、new

B、instance of

C、[ ]

D、( )

本題考查的是JAVA關鍵字。

Java語言中,程序爲對象動態分配內存。Java中內存分配的運算符是new。

故本題答案爲A。

7、RandomAccessFile是包中的一個兼有輸入輸出功能的類。由於它是隨機訪問,所以文件讀寫一個記錄的位置是______。

A、起始

B、終止

C、任意

D、固定

本題考查的是隨機文件流。

文件操作中經常需要的是隨機訪問,Java中的RandomAccessFile類提供了隨機訪問文件的功能,它繼承了Object類,用DataInput和DataOutput接口來實現。接口中定義了從流中讀/寫基本類型的數據方法。因此也可以隨機讀入字節數據文件的記錄。

故本題答案爲C。

8、下列語句中正確的是______。

A、tln(1+’1’);

B、int i=2+"2";

C、String s="on"+’one’;

D、byte b=257;

本題考查的是語句。

選項A是一個輸出語句,輸出結果是:字符1對應的ASCII碼的值(值爲49)加1,即:50。

選項B語句中包含一個算術表達式,在算術表達式中,操作數只能是整型或浮點型數據,而表達式中的"2"爲字符串類型,所以該選項錯誤;

JAVA允許將字符串用+號連接起來,但是選項C中one是用單引號括起來的,不能算字符串,所以C選項錯誤;

選項D中,變量b的數據類型爲byte型,只有8位,能表示數據的範圍爲-128~+127,而257已超過byte型所能表示的數據範圍,故D選項錯誤。

故本題答案爲A。

9、閱讀下面Applet程序

import g.*;

import .*;

public class SwingApplet extends JApplet{

JLabel l=new JLabel("This is a Swing Applet.");

public void init(){

______

}

}

在程序下劃線處填入正確選項是______。

A、Container contentPane=getContentPane(); (l);

B、JPanel contentPane=new JPanel(); (l);

C、(l);

D、add(l);

本題考查的是基於Swing的Applet用戶界面。

JApplet是頂層的Swing容器,其內部用一個隱含的根面板(JRootPanel)作爲惟一的直接後代,而根面板中的內容面板(Content Pane)纔是JApplet除菜單條外所有構件的雙親。由於內容面板的存在,通常對JApplet添加構件有兩種方式:

1、用getContentPane()方法獲得JApplet的內容面板,再向內容面板中添加構件:

Container contentPane=getContentPane(); (SomeComponent);

2、建立一個JPanel之類的中間容器,把構件添加到容器中,再用setContentPane()方法把該容器置爲JApplet的內容面板:

JPanel contentPane=new JPanel(); (SomeComponent); setContentPane(contentPanel);

故本題答案爲A。

10、在Java中,對象流以______方式傳送和存儲。標準答案爲:串行

本題考查的是對象的串行化。

Java中定義了兩種類型的字節流ObjectInputStream和ObjectOutputStream支持對象的讀和寫,一般將這兩種稱爲對象流。Java對象的讀、寫的過程被稱爲串行化,對象流以串行方式傳送和存儲。

故本題答案爲串行。

11、Swing中的組件往往採用MVC結構,MVC指的是Model、View和______。標準答案爲:Controller 或 Control

本題考查的是MVC(Model-View-Controller)體系結構。

Swing勝過AWT的主要優勢在於MVC體系結構的普遍使用。MVC體系結構是"Model-View-Controller"的縮寫,中文翻譯爲"模式-視圖-控件"。MVC應用程序總是由這三個部分組成。Event(事件)導致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數據或者屬性,所有依賴的`View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數據來刷新自己。

故本題答案爲Controller。

12、下列方法中與Applet顯示無關的是______。

A、update()

B、draw()

C、repaint()

D、paint()

本題考查的是Applet顯示。

Applet顯示相關的3個方法:

1、paint()方法:Applet的paint()方法具體執行Applet的繪製,該方法定義如下:

public void paint(Graphics g)

paint()方法有一個參數g是Graphics類的實例,該實例對象由瀏覽器生成,它包含了Applet的圖形上下文信息,通過它向Applet中顯示信息,該對象相當於Applet的畫筆。在調用paint()方法時,由瀏覽器將該對象傳遞給paint()方法。

2、update()方法:

public void update(Graphics g)

用於更新Applet的顯示。該方法將首先清除背景,再調用paint()方法完成Applet的具體繪製。

3、repaint()方法:

public void repaint()

repaint()方法主要用於Applet的重新顯示,它調用update()方法實現對Applet的更新。

故本題答案爲B。

  備考題二:

1、下列對Java語言的敘述中,錯誤的是______。

A、Java虛擬機解釋執行字節碼

B、JDK的庫文件目錄是bin

C、Java的類是對具有相同行爲對象的一種抽象

D、Java中的垃圾回收機制是一個系統級的線程

本題考查的是JDK目錄結構。

在JDK目錄結構中,lib目錄下存放的都是庫文件,而bin目錄下有編譯器、解釋器和許多工具(如服務器工具、IDL、package工具和jdb等)。

故本題答案爲B。

2、下列不屬於Swing構件的是______。

A、JMenu

B、JApplet

C、JOptionPane

D、Panel

本題考查的是Swing構件和容器。

Swing中的大多數構件都是AWT構件名前面加了一個"J"。

Swing構件分類(從功能上):

1、頂層容器,JFrame、JApplet、JDialog和JWindow共4個。

2、中間容器,JPanel、JScrollPane、JSplitPane、JToolBar。

3、特殊容器,在GUI上起特殊作用的中間層,如JInternalFrame、JLayeredPane、JRootPane。

4、基本控件,實現人機交互的構件,如Jbutton、JComboBox、JList、JMenu、JSlider、JtextField。

5、不可編輯信息的顯示,向用戶顯示不可編輯信息的構件,例如JLabel、JProgressBar、ToolTip。

6、可編輯信息的顯示,向用戶顯示能被編輯的格式化信息的構件,如JColorChooser、JFileChooser、JFileChooser、JTable、JTextArea。

故本題答案爲D。

3、下列概念中不包括任何實現,與存儲空間沒有任何關係的是______。

A、類

B、接口

C、抽象類

D、對象

本題考查的是接口。

接口是一種只含有抽象方法或常量的一種特殊的抽象類,因爲接口不包括任何實現,所以與存儲空間沒有任何關係。

故本題答案爲B。

4、閱讀下列代碼;

public class Test{

String s="One World One Dream";

public static void main(String args[]){

tln(s);

}

}

其運行結果是______。

A、args

B、One World One Dream

C、s

D、編譯時出錯//除非創建Text類的對象

本題考查的是變量的聲明。

main方法是程序執行的入口,在本程序中main方法中的語句"tln(s);"無法調用在main方法外聲明的變量,所以編譯時出錯。

故本題答案爲D。

5、閱讀下列代碼段

ByteArrayOutputStream bout=new ByteArrayOutputStream();

ObjectOutputStream out=new ObjectOutputStream(bout);

eObject(this);

e();

以上代碼段的作用是______。

A、將對象寫入內存

B、將對象寫入硬盤

C、將對象寫入光盤

D、將對象寫入文件

本題考查的是Java中包含的輸入/輸出流的類。

ByteArrayOutputStream,字節數組輸出流。這個類將一個字節數組作爲輸出流。這個用於存儲輸出數據的內部字節數組長度可以按照需要增長。

ObjectOutputStream既繼承了OutputStream抽象類,又實現了ObjectOutput接口,這是Java用接口技術代替雙重繼承例子,其構造方法參數是串行化了的對象。

在中,ByteArrayOutputStream是OutputStream的子類,可以直接訪問內存。用ByteArrayOutputStream可以向字節數組(緩衝區)寫入數據。

故本題答案爲A。

6、閱讀下列代碼段

abstract class Person{

public Person(String n){

name=n;

}

public ______ String getDescription();

public String getName(){

return name;

}

private String name;

}

在下劃線處應填入的修飾符是______。

A、static

B、abstract

C、protected

D、final

本題考查的是定義抽象類。

抽象類是專門設計來讓子類繼承的類。抽象類通常都包括一個或多個抽象方法(只有方法說明,沒有方法體),抽象類的子類必須完成其父類定義的每一個抽象方法,除非該子類也是抽象類。

抽象類是以abstract關鍵字開頭,抽象類定義具體形式:

abstract class 類名稱

{

成員變量;

方法(); //定義一般的方法

abstract 方法(); //定義抽象的方法

}

故本題答案爲B。

7、當瀏覽器重新返回到包含Applet的頁面時調用的方法是______。

A、start()

B、init()

C、stop()

D、destroy()

本題考查的是Applet的生命週期。

當瀏覽器重新返回Applet所在頁面時,Applet類的start()方法將被調用。

故本題答案爲A。

8、Swing中的內部框架類是______。標準答案爲:JinternalFrame

本題考的是Swing構件和容器。

內部框架JInternalFrame就如同一個窗口在另一個窗口內部,屬於特殊容器中的一種,在GUI上起特殊作用的中間層。

故本題答案爲JInternalFrame。

9、任何運行在Web頁面中的小應用程序都必須是Java中______類的子類。

標準答案爲:Applet 或 et

本題考的是小應用程序概念。

Applet(小應用程序)是Java與Web相結合而引入的一種重要的Java應用形式,任何嵌入在Web頁面中或appletviewer中的Applet必須是Java中Applet類的子類。

故本題答案爲Applet。

10、將E-R圖轉換爲關係模式時,實體和聯繫都可以表示爲______。

A、屬性

B、鍵

C、關係

D、域

將E-R圖轉換爲關係模式時,實體和聯繫都可以表示成關係,E-R圖中屬性也可以轉換成關係的屬性。實體集也可以轉換成關係。

故本題答案爲C。

11、數據庫應用系統中的核心問題是______。

A、數據庫設計

B、數據庫系統設計

C、數據庫維護

D、數據庫管理員培訓

數據庫應用系統是數據庫系統再加上應用軟件及應用界面這三者所組成,具體包括:數據庫、數據庫管理系統、數據庫管理員、硬件平臺、軟件平臺、應用軟件、應用界面。在數據庫應用系統中的一個核心問題就是設計一個能滿足用戶要求,性能良好的數據庫,這就是數據庫設計。所以選項A是正確的。

故本題答案爲A。

12、支持子程序調用的數據結構是______。

A、棧

B、樹

C、隊列

D、二叉樹

子程序調用是一種層次關係,子程序調用功能模塊,調用功能模塊的個數也不確定,可以是一個,也可以是多個。選項A、C中元素之間是一種前後件關係,前後元素之間沒有層次之分,每個結點有一個前件也只有一個後件。二叉樹是一種很有用的非線性結構,二叉樹不同於樹形結構。二叉樹具有以下兩個特點:①非空二叉樹只有一個根結點;②每一個結點最多有兩棵子樹,且分別稱爲該結點的左子樹與右子樹。選項D規定每個結點只能有兩個後件。在子程序調用中,調用的功能模塊可以是多個,可以調用超過兩個功能模塊。所以選項A、C、D均不正確。

故本題答案爲B。