2017年計算機二級考試Java練習題及答案
2017年上半年計算機二級考試時間將會在3月25-28日開始進行,為了幫助大家能順利通過計算機二級考試,下面百分網(wǎng)小編為大家?guī)?017年計算機二級考試Java練習題及答案,供大家參考學習,預祝考生備考成功!:
練習題一
1[單選題] 在軟件開發(fā)中,需求分析階段可以使用的工具是( )。
A.N-S圖 B.DFD圖C.PAD圖 D.程序流程圖
參考答案:B
參考解析:在軟件開發(fā)中,需求分析階段常使用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判斷樹和判斷表。
2[單選題] Java中用于提供Java語言、Java虛擬機的核心的類和接口的包是( )。
A.java.io包B.java.applet包C.java.lang包D.java.net包
參考答案:C
參考解析:本題考查考生對Java語言中的類和接口的理解。java.lang包提供了構成Java語言、Java虛擬機核心的類和接口。例如,類object、類String和類Thread等。對任何一個Java程序來說,這些類幾乎都是必不可少的。java.lang還包含了許多由Java虛擬機發(fā)出的異常,這些異常也是”類”的-種。另外,java.lang包還包含-些用于訪問系統(tǒng)資源的類,如ClassLoader等。java.lang包具有極其重要的作用,在程序開頭可以不必明文編寫裝載它的代碼。
3[單選題] 數(shù)據(jù)庫技術的根本目標是要解決數(shù)據(jù)的( )。
A.存儲問題B.共享問題C.安全問題D.保護問題
參考答案:B
參考解析:在數(shù)據(jù)庫系統(tǒng)中,需要對數(shù)據(jù)進行集合、統(tǒng)-的管理,以達到被多個應用程序共享的目標。
4[單選題]下列關于棧敘述正確的是( )。
A.棧頂元素能最先被刪除
B.棧頂元素最后才能被刪除
C.棧底元素永遠不能被刪除
D.以上三種說法都不對
參考答案:A
參考解析:棧是限定在一端進行插入、刪除的先入后出的線性表數(shù)據(jù)結構,棧頂元素最后插入到棧中,但是最先被刪除;而棧底元素最先插入,最后被刪除。
5[單選題] 有下列二叉樹,對此二叉樹前序遍歷的結果為( )。
A.XZCYABB.XYZABCC.XYABCZD.XYAZBC
參考答案:D
參考解析:對二叉樹的前序遍歷是指:先訪問根結點,然后訪問左子樹,最后訪問右子樹,并且,在訪問左、右子樹時,先訪問根結點,再依次訪問其左、右子樹。
6[單選題] 下面程序段的輸出結果是( )。
A.9B.18C.20D.22
參考答案:D
參考解析:本題考查繼承和構造函數(shù)的用法。首先要明確對一個類的繼承是指在父類的基礎上構建了一個子類,子類繼承了父類的方法和狀態(tài)。題目所給程序段創(chuàng)建的是Extension類的實例,在運行時,從main( )函數(shù)進入程序,所有調(diào)用add( )方法的過程將始終和Extension類的add( )方法動態(tài)綁定。初始值:i=0;創(chuàng)建實例newExtension( );先調(diào)用父類的默認構造函數(shù)Base( ),并在父類的默認構造函數(shù)中執(zhí)行add(1),i=0+1×2,所以i=2,再調(diào)用子類的默認構造函數(shù)Extension( ),子類的.默認構造函數(shù)中執(zhí)行add(2),i=2+2×2,所以i=6;執(zhí)行add(8);i=6+8×2,因此,最終i=22,正確答案為選項D。
7[單選題] 將E—R圖轉換為關系模式時,實體和聯(lián)系都可以表示為( )。
A.屬性B.鍵C.關系D.域
參考答案:C
參考解析:將E—R圖轉換為關系模式時,實體和聯(lián)系都可以表示為關系。
8[單選題]下列關于Java源程序結構的論述中,正確的是( )。
A.一個文件包含的import語句最多l(xiāng)個
B.一個文件包含的public類最多1個
C.一個文件包含的接El定義最多l(xiāng)個
D.一個文件包含的類定義最多1個
參考答案:B
參考解析:一個文件的public類最多可以有一個,但是可以包含多個import,包含的接口定義也可以有多個,包含的class類可以有多個,當該文件命名時,可以以public類名來命名,反之編譯之后將有多個.class文件生成。
9[填空題]耦合和內(nèi)聚是評價模塊獨立性的兩個主要標準,其中 反映了模塊內(nèi)各成分之間的聯(lián)系。
參考解析:BDSM
10[單選題] 下列組件不能添加進Frame主窗口的是( )。
A.PanelB.CheekBoxC.DialogD.Choice
參考答案:C
參考解析:本題考查Java組件中容器的基本知識。選項A錯誤,Panel組件是容器,可以添加到Frame窗口;選項B錯誤,CheckBox組件是復選框組件,可以添加到Frame窗口;選項C正確,Dialog繼承自Window,Windows類型(或子類)的對象不能包含在其他容器中;選項D錯誤,Choice組件是選擇框組件,可以添加到Frame窗口。
11[單選題]下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是
A.便于用戶、開發(fā)人員進行理解和交流
B.反映出用戶問題的結構,可以作為軟件開發(fā)工作的基礎和依據(jù)
C.作為確認測試和驗收的依據(jù)
D.便于開發(fā)人員進行需求分析
參考答案:D
12[單選題] 當使用SomeThread t=new SomeThread()創(chuàng)建一個線程時,下列敘述中正確的是( )。
A.SomeThread類是包含run()方法的任意Java類
B.SomeThread類一定要實現(xiàn)Runnable接口
C.SomeThread類是Thread類的子類
D.SomeThread類是Thread類的子類并且要實現(xiàn)Run-nable接口
參考答案:C
參考解析:由SomeThread t=new SomeThread()可知此題是通過繼承Thread類來創(chuàng)建線程的。
13[單選題]數(shù)據(jù)庫管理系統(tǒng)DBMS中用來定義模式、內(nèi)模式和外模式的語言為
A.C B.Basic C.DDL D.DML
參考答案:C
14[單選題]下列哪個選項是合法的標識符?
A.123 B._name C.class D.1first
參考答案:C
15[單選題]閱讀下列代碼
public class Test2005{
public static void main(String args[]){
System.out.println(~(0xa5) &0xaa);
}
}
其運行結果是
A.0xa5 B.10 C.0x50 D.0xaa
參考答案:B
16[單選題] 下列關于Java對import語句規(guī)定的敘述中,錯誤的是( )。
A.在Java程序中import語句可以有多個
B.在Java程序中import語句可以沒有
C.在Java程序中import語句必須有一個
D.在Java程序中import語句必須引入在所有類定義之前
參考答案:C
參考解析:Java程序中使用import關鍵字導入一個包中的類。在一個Java源程序中,可以有0個或多個im—port語句,但是必須在所有類定義之前引入標準類。因此,本題中選項C的說法是錯誤的。
17[單選題] 可以使當前同級線程重新獲得運行機會的方法是( )。
A.Sleep() B.join()C.yield()D.interrupt()
參考答案:C
參考解析:本題考查線程的基本控制。Thread類提供的基本線程控制方法包括:sleep()——使比其低的優(yōu)先級線程運行,可以讓一個線程暫停運行一段固定的時間;yield()——使具有與當前線程相同優(yōu)先級的線程有運行的機會;join()——使當前線‘程暫停執(zhí)行,等待調(diào)用該方法的線程結束后,再恢復執(zhí)行;interrupt()——中斷線程的阻塞狀態(tài),并且線程接收到InterruptException異常。根據(jù)上述介紹可知,只有yield()方法可以使當前同級線程重新獲得運行機會。因此,本題的正確答案是C。
18[單選題] 當使用SomeThread t=new SomeThread()創(chuàng)建一個線程時,下列敘述中正確的是( )。
A.SomeThread類是包含run()方法的任意Java類
B.SomeThread類一定要實現(xiàn)Runnable接口
C.SomeThread類是Thread類的子類
D.SomeThread類是Thread類的子類并且要實現(xiàn)Runnable接口
參考答案:C
參考解析:由SomeThread t=new SomeThread()可知此題是通過繼承Thread類來創(chuàng)建線程的。
更多計算機二級相關試題分享:
1.2017上半年計算機二級Java習題及答案
2.計算機二級Java練習題及答案2017
3.2017年3月計算機二級《JAVA》鞏固練習題
4.2017年計算機二級Java備考題及答案
5.Java計算機二級練習題及答案2017
6.2017計算機二級《JAVA》考點訓練題及答案
7.2017年計算機二級Java備考練習題
8.2017年3月計算機二級Java基礎習題
9.2017計算機二級Java基礎習題
10.2017計算機二級Java強化題及答案
訓練題二
1[簡答題]本題中,在下畫線上填寫代碼,指定變量b為字節(jié)型,變量f為單精度實型,變量l為64位整型。
public class javal{
public static void main(String[-]args){
b=49;
f=8.9f;
l=0xfedl;
System.out.println("b="+b);
System.out.println("f="+f):
System.OUt.println("l="+1);
}
}
參考解析:
第1處:byte
第2處:float
第3處:long
【解析】本題考查的是數(shù)據(jù)類型。byte為字節(jié)型;float為單精度實型;long為長整型。
2[單選題] 請閱讀下面程序
程序運行結果中在”length=”后輸出的值是( )。
A.10B.4C.20D.30
參考答案:B
參考解析:本題對StringBuffer(String str)構造方法,用str給出字符串的初始值,并分配16個字符的緩存。因此,字符串sb的初始值是”test”,并且包含l6個字符的緩存。length( )方法用來獲得字符串長度,不包含緩存。故程序運行結果中在”length-”后輸出的值應該是字符串sb的長度,即4。
3[單選題] 為使下列代碼正常運行,應該在下畫線處填入的選項是( )。
ObjectInputStream In=
new (new FilelnputStream("employee.
doc"));
Employee[]newstaff=(Employee[])in.readObject
();
In.close();
A.Reader B.InputStreamC.ObjectlnputD.ObjectlnputStream
參考答案:D
參考解析:ObjectlnputStream類和ObjectOutputStream類分列是InputStream類和OutputStream類的子類。ObjectlnputStream類和ObjectOutputStream類創(chuàng)建的對象被稱為對象輸入流和對象輸出流。對象輸入流使用readObject()方法讀取一個對象到程序中。
4[單選題] 為使下列代碼正常運行,應該在下畫線處填入的選項是( )。
abstract class person{
public Person(String n){
name=n:
}
Public String getDescription();
public String getName(){
return name;
}
private string name;
}
A.static B.privateC.abstractD.final
參考答案:C
參考解析:抽象類中的抽象方法可以只聲明,定義延遲到其子類。
5[單選題] Java對文件類提供了許多操作方法,能獲得文件對象父路徑名的方法是( )。
A.getAbsolutePath( )
B.getParentFile( )
C.getAbsoluteFile( )
D.getName( )
參考答案:B
參考解析:本題考查File類的基本知識。File類是通過文件名列表來描述一個文件對象的屬性,通過File類提供的方法,可以獲得文件的名稱、長度、所有路徑等信息,還可以改變文件的名稱、刪除文件等。
6[單選題] 下列關于域名和IP地址的敘述中,不正確的是( )。
A.在Internet中訪問一臺主機必須使用它的主機名
B.200.201.202.203是一個C類I P地址
C.I P地址采用的是分層結構
D.主機名與I P地址是一一對應的
參考答案:A
參考解析:每臺直接連接到Internet上的計算機、路由器都必須有唯一的IP地址。IP地址是Internet賴以工作的基礎。Internet中的計算機與路由器的`IP地址采用分層結構,它是由網(wǎng)絡地址與主機地址兩部分組成。對于C類地址,其網(wǎng)絡地址空間長度為21位,主機地址空間長度為8位,C類I P地址范圍從:l92.0.0.0~223.255.255.255。主機名與它的IP地址一一對應,因此在Internet上訪問一臺主機既可以使用它的主機名,也可以使用它的I P地址。
7[單選題] 下列關于鏈式存儲結構的敘述中,不正確的是( )。
A.結點除自身信息外還包括指針域,因此存儲密度小于順序存儲結構
B.邏輯上相鄰的結點物理上不必相鄰
C.可以通過計算確定第i個結點的存儲地址
D.插人、刪除運算操作方便,不必移動結點
參考答案:C
參考解析:鏈式存儲結構的主要特點有:①結點中除自身信息外,還有表示鏈接信息的指針域,因此存儲密度小、存儲空間利用率低;②邏輯上相鄰的結點物理上不必相鄰;③插入、刪除操作靈活方便。線性存儲結構可以通過計算確定第i個結點的存儲地址,但鏈式存儲結構不能。
8[填空題]FileInputStream是字節(jié)流;BufferedWriter是字符流;ObjectOutputStream是 。
參考解析:對象流或?qū)ο筝敵隽?/p>
9[單選題] 下列敘述中,錯誤的是( )。
A.Applet的默認布局管理器是FlowLayout
B.JApplet中增加構件是加到JApplet的內(nèi)容面板上,不是直接加到JApplet中
C.JApplet的內(nèi)容面板的默認布局管理器是Border-Layout
D.JApplet的內(nèi)容面板的默認布局管理器是FlowLayout
參考答案:D
參考解析:FlowLayout布局管理器是Panel類和Applet類默認的布局管理器。向JApplet中增加構件,是把構件添加到Japplet的內(nèi)容面板中,而不是直接添加到JAp—plet中。JApplet的內(nèi)容面板的默認布局管理器是Border—Layout,而Applet默認的布局管理器是FlowLayout。
10[單選題] 軟件設計中模塊劃分應遵循的準則是( )。
A.低內(nèi)聚低耦合
B.高內(nèi)聚低耦合
C.低內(nèi)聚高耦合
D.高內(nèi)聚高耦合
參考答案:B
參考解析:耦合性和內(nèi)聚性是模塊獨立性的兩個定性標準,軟件設計應該遵循高內(nèi)聚低耦合的準則。
11[單選題] Java對文件類提供了許多操作方法,能獲得文件對象父路徑名的方法是( )。
A.getAbsolutePath( )
B.getParentFile( )
C.getAbsoluteFile( )
D.getName( )
參考答案:B
參考解析:本題考查File類的基本知識。File類是通過文件名列表來描述一個文件對象的屬性,通過File類提供的方法,可以獲得文件的名稱、長度、所有路徑等信息,還可以改變文件的名稱、刪除文件等。
12[單選題] 對于下面語句的說法,不正確的是( )。Thread thrObj=new Thread():
A.系統(tǒng)沒有為該線程對象分配資源
B.只能啟動或者終止
C.創(chuàng)建了一個空的線程對象
D.可以調(diào)用其他方法
參考答案:D
參考解析:本題考查線程的創(chuàng)建。通過new命令創(chuàng)建一個線程對象后,該線程對象就處于創(chuàng)建狀態(tài),上面的語句只是創(chuàng)建了一個空的線程對象,選項C說法正確。此時,系統(tǒng)并沒有為該線程對象分配資源,選項A說法正確。處于這種狀態(tài)的線程,只能啟動或者終止,選項B說法正確。該線程此時并不能調(diào)用其他方法,如果調(diào)用其他方法就會失敗并引起非法狀態(tài)處理,選項D說法錯誤。
13[單選題] 數(shù)據(jù)庫應用系統(tǒng)中的核心問題是( )。
A.數(shù)據(jù)庫設計
B.數(shù)據(jù)庫系統(tǒng)設計
C.數(shù)據(jù)庫維護
D.數(shù)據(jù)庫管理員培訓
參考答案:A
參考解析:數(shù)據(jù)庫設計的目的是設計一個能滿足用戶要求,性能良好的數(shù)據(jù)庫。所以數(shù)據(jù)庫設計的核心是數(shù)據(jù)庫應用。
14[單選題]下列關于Frame類的說法不正確的是
A.Frame是Window類的直接子類
B.Frame對象顯示的效果是一個窗口
C.Frame被默認初始化為可見
D.Frame的默認布局管理器為BorderLayout
參考答案:D
15[單選題] 對于循環(huán)隊列,下列敘述中正確的是( )。
A.隊頭指針是同定不變的
B.隊頭指針-定大于隊尾指針
C.隊頭指針-定小于隊尾指針
D.隊頭指針可以大于隊尾指針,也可以小于隊尾指針
參考答案:D
參考解析:循環(huán)隊列是把隊列的頭和尾在邏輯上連接起來,構成-個環(huán)。循環(huán)隊列中首尾相連,分不清頭和尾,此時需要兩個指示器分別指向頭部和尾部。插入就在尾部指示器的指示位置處插入,刪除就在頭部指示器的指示位置刪除。
16[單選題] 數(shù)據(jù)流程圖(DFD圖)是( )。
A.軟件概要設計的工具
B.軟件詳細設計的工具
C.結構化方法的需求分析工具
D.面向?qū)ο蠓椒ǖ男枨蠓治龉ぞ?/p>
參考答案:D
參考解析:數(shù)據(jù)流程圖是一種結構化分析描述模型,用來對系統(tǒng)的功能需求進行建模。
17[簡答題]本題的功能是用按鈕來控制文字的顏色。窗口中有三個按鈕“Yellow”、“Blue”和“Red”,它們分別對應文字標簽中文本的顏色為黃色、藍色和紅色,單擊任意一個按鈕,文字標簽中的文本就變成按鈕對應的顏色。
import java.awt.*;
import java.awt.event.*;
import javflx.swing.*;
class ButtonPanel extends JPanel implements ActionL-
istener{
public ButtonPanel(){
yellowButton=new J Button("Yellow");
blueButton=new JButton("Blue");
redButton=new JButton("Red");
j1=new JLabel("I am from China!");
add(yellowButton);
add(blueButton);
add(redButton);
add(j1);
yellowButtofl.addActionListener(this);
blueButton.addActionListener(this);
redButton.addActionListener(this);
}
public void actionPerformed(ActionEvent evt){
0bject source=evt.getSource();
Color color=getForeground();
if(source= =yellowButton)color=Color.
yellow;
else if(source= =blueButton)color=Color.
blue;
else if(source= =redButton)color=
Color.red;
;
;
}
private JButton yellowButton;
private JButton blueButton;
private JButton redButton;
private JLabel jl;
}
class ButtonFrame extends JFrame{
public ButtonFrame(){
setTitle("exam l6");
setSize(300,200);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(O);
}
});
Container contentPane=getContentPane();
contentPane.add(new ButtonPanel());
}
}
public class java2{
public static void main(String[]args){
JFrame frame=new ButtonFrame();
frame.show();
}
}
參考解析:
第1處:jl.setForeground(color)
第2處:jl.repaint()
【解析】在構件類的方法中,setForeground()為設置構件的前景色,repaint()為重新繪制構件。
18[簡答題]本題的功能是監(jiān)聽鍵盤鍵的敲擊,并顯示在窗口中。
import javax,.swing.*;
importjava.awt.*; ,
import java.awt.event.*;
public class java3 extends JFrame extends KeyListener
{
private String linel=""line2=""
private String line3=""
private JTextArea textArea;
public java3()
{
super("java3");
textArea=new JTextArea(10,15);
textArea.setText("Press any key on the key-
board…");
textArea.setEnabled(false);
addKeyListener(this);
getContentPane().add(textArea);
setSize(350,100);
show();
}
public void keyPressed(KeyEvent e)
{
linel="Key pressed:"+e.getKeyText(e.
getKeyCode());
setLines2and3(e);
}
public void keyReleased(KeyEvent e)
{
linel="Key released:"+e.getKeyText(e.
getKeyCode());
setLines2and3(e):
}
public void keyTyped(KeyEvent e)
{
Linel="Key typed:"+e.getKey);
setLines2and3(e);
}
private void setLines2and3(KeyEvent e)
{
line2="This key is"+(e.isActionKey()?""
。"not")+"an action key";
String temp=e.getKeyModifiersText(e.get-
Modifiers());
hne3="Modifier keys pressed:"+(temp.e-
quals("")?"none":temp);
textArea.setText(linel+" "+line2+" "
+line3+" ");
}
public static void main(String args[])
{
java3 app=new java3();
addWindowListener(new Windowadapted()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
}
參考解析:
第1處:extends JFrame implements KeyListener
第2處:linel="Key typed:"+e.getKeyChar()
第3處:app.addWindowListener(new WindowAdapter())
【解析】第1處實現(xiàn)接口應用implements;第2處Java是大小寫敏感的,獲得鍵盤值應使用getKeyChar()方法;第 3處窗體級監(jiān)測器應注冊給接收類。
【計算機二級考試Java練習題及答案】相關文章:
計算機二級Java考試練習題及答案11-20
計算機二級考試Java試題及答案05-21
計算機二級考試《Java》試題及答案12-18
計算機二級Java練習題及答案201706-03