計(jì)算機(jī)二級(jí)全真模擬試題及答案
一、選擇題
1.線(xiàn)性表L=(al,a2,a3,…ai,…an),下列說(shuō)法正確的是( )。
A.每個(gè)元素都有一個(gè)直接前件和直接后件
B.線(xiàn)性表中至少要有一個(gè)元素
C.表中諸元素的排列順序必須是由小到大或由大到小
D.除第一個(gè)元素和最后一個(gè)元素外,其余每個(gè)元素都有且只有一個(gè)直接前繼和直接后繼
2.下列關(guān)于完全二叉樹(shù)的敘述中,錯(cuò)誤的是( )。
A.除了最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值
B.可能缺少若干個(gè)左右葉子結(jié)點(diǎn)
C.完全二叉樹(shù)一般不是滿(mǎn)二叉樹(shù)
D.具有結(jié)點(diǎn)的完全二叉樹(shù)的深度為[log2n]+1
3.對(duì)長(zhǎng)度為n的線(xiàn)性表進(jìn)行順序查找,在最壞情況下需要比較的次數(shù)為( )。
A.125
B.n/2
C.n
D.n+1
4.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是( )。
A.自頂向下
B.逐步求精
C.模塊化
D.可復(fù)用
5.軟件需求分析階段的工作,可以分為4個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)以及( )。
A.階段性報(bào)告
B.需求評(píng)審
C.總結(jié)
D.都不正確
6.下列敘述中,不屬于測(cè)試的特征的是( )。
A.測(cè)試的挑剔性
B-完全測(cè)試的不可能性
C.測(cè)試的可靠性
D.測(cè)試的經(jīng)濟(jì)性
7.模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的度量標(biāo)準(zhǔn)是模塊的( )。
A.抽象和信息隱蔽
B.局部化和封裝化
C.內(nèi)聚性和耦合性
D.激活機(jī)制和控制方法
8.下列關(guān)于軟件測(cè)試的描述中正確的是( )。
A.軟件測(cè)試的目的是證明程序是否正確
B.軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確
C.軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
D.軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則
9.下列工具中為需求分析常用工具的是( )。
A.PAD
B.PFD
C.N-S
D.DFD
10.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖? )。
A.多態(tài)性
B.繼承
C.封裝性
D.模塊化A
11.下列與數(shù)據(jù)元素有關(guān)的敘述中,不正確的是( )。
A.數(shù)據(jù)元素是數(shù)據(jù)的基本單位,即數(shù)據(jù)集合中的個(gè)體
B.數(shù)據(jù)元素是有獨(dú)立含義的數(shù)據(jù)最小單位
C.數(shù)據(jù)元素又稱(chēng)為結(jié)點(diǎn)
D.數(shù)據(jù)元素又稱(chēng)為記錄
12.棧S最多能容納4個(gè)元素,現(xiàn)有6個(gè)元素按A、B、C、D、E、F的順序進(jìn)棧,下列( )序列不是可能的出棧序列。
A.C、B、E、D、A、F
B.C、D、B、F、E、A
C.A、D、E、C、B、F
D.A、F、E、D、C、B
13.在電子郵件程序向郵件服務(wù)器中發(fā)送郵件時(shí),使用的是簡(jiǎn)單郵件傳輸協(xié)議,下列( )是簡(jiǎn)單郵件傳輸協(xié)議。
A.POP3
B.IMAP
C.HTTP
D.SMTP
14.對(duì)一個(gè)由n個(gè)關(guān)鍵碼組成的序列,借助排序過(guò)程選出其中最大的關(guān)鍵碼,要求關(guān)鍵碼比較次數(shù)和移動(dòng)次數(shù)最少,則最佳排序方法是( )。
A.歸并排序
B.直接插入排序
C.直接選擇排序
D.快速排序
15.對(duì)線(xiàn)性表進(jìn)行二分法查找,其前提條件是( )。
A.線(xiàn)性表以順序方式存儲(chǔ),并已按關(guān)鍵碼值排好序
B.線(xiàn)性表以順序方式存儲(chǔ),并已按關(guān)鍵碼值的查找頻率排好序
C.線(xiàn)性表以有序方式存儲(chǔ),并已按關(guān)鍵碼值排好序
D.線(xiàn)性表以有序方式存儲(chǔ),并已按關(guān)鍵碼值的查找頻率排好序
16.Java的核心包中,提供編程應(yīng)用的基本類(lèi)的包是( )。
A.java.lang
B.java.util
C.java.applet
D.java.rmi
17.下列關(guān)于Java對(duì)import語(yǔ)句規(guī)定自敘述中,錯(cuò)誤的是( )。
A.在Java程序中import語(yǔ)句可以有多個(gè)
B.在Java程序中import語(yǔ)句可以沒(méi)有
C.在Java程序中import語(yǔ)句必須有一個(gè)
D.在Java程序中import語(yǔ)句必須引入在所有類(lèi)定義之前
18.在編譯Java程序時(shí),用于指定生成.class文件位置的選項(xiàng)是( )。
A.-9
B.-d
C.-verbose
D.-nowarn
19.下列方法中,不屬于WindowListener接口的是( )。
A.windowOpened()
B.windowClosed()
C.windowActivated()
D.mouseDragged()
20.運(yùn)行Java程序需要的工具軟件所在的目錄是( )。
A.JDK的bin目錄
B.JDK的demo目錄
C.JDK的lib目錄
D.JDK的ire目錄
21.下列關(guān)于Java語(yǔ)言特點(diǎn)的敘述中,錯(cuò)誤的是( )。
A.Java是面向過(guò)程的編程語(yǔ)言
B.Java支持分布式計(jì)算
C.Java是跨平臺(tái)的編程語(yǔ)言
D.Java支持多線(xiàn)程
22.可以使當(dāng)前同級(jí)線(xiàn)程重新獲得運(yùn)行機(jī)會(huì)的方法是( )。
A.Sleep()
B.join()
C.yield()
D.interrupt()
23.下列語(yǔ)句中,屬于多分支語(yǔ)句的是( )。
A.if語(yǔ)句
B.for語(yǔ)句
C.switch語(yǔ)句
D.do while語(yǔ)句
24.閱讀下列代碼
public class Test2005{
public static void main(String args[]){
String s="Test";
switch(s){
case"Java":System.out.print("Java");
break;
case"Language":System.out.print("Lan-
guage");
break;
case"Test":System.out.print("Test");
break;
}
}
}
其運(yùn)行結(jié)果是( )。
A.Java
B.Language
C.Test
D.編譯時(shí)出錯(cuò)
25.在程序讀入字符文件時(shí),能夠以該文件作為直接參數(shù)的類(lèi)是( )。
A.FileReader
B.BufferedReader
C.FilelnputStream
D.ObjectlnputStream
26.下列描述中,正確的是( )。
A.在Serializable接口中定義了抽象方法
B.在Serializable接口中定義了常量
C.在Serializable接口中沒(méi)有定義抽象方法,也沒(méi)有定義常量
D.在Serializable接口中定義了成員方法
27.請(qǐng)閱讀下面程序,說(shuō)明該程序創(chuàng)建線(xiàn)程使用的方法是( )。
public class ThreadTest
{
public static void main(String args[])
{
Thread tl=new Thread(new HolloWorld());
Thread t2=new Thread(new HolloWorld());
tl.start();
t2.Start();
}
}
class HolloWorld implements Runnable
{
int i;
public void run()
{
while(true)
{
System.out.println("HolloWorld"+i++);
if(i= =5)break;
}
}
}
A.繼承Thread類(lèi)
B.實(shí)現(xiàn)Runnable接口
C.tl.start()
D.t2.start()
28.java.io包的File類(lèi)是( )。
A.字符流類(lèi)
B.字節(jié)流類(lèi)
C.對(duì)象流類(lèi)
D.非流類(lèi)
29.為保護(hù)本地主機(jī),對(duì)Applet安全限制中正確的是( )。
A.Applet可加載本地庫(kù)或方法
B.Applet可讀、寫(xiě)本地計(jì)算機(jī)的文件系統(tǒng)
C.Applet可向Applet之外的任何主機(jī)建立網(wǎng)絡(luò)連接
D.Applet不能運(yùn)行任何本地可執(zhí)行程序
30.請(qǐng)閱讀下面程序
public class ExampleStringBuffer{
public static void main(String[]args){
StringBuffer sb=new StringBuffer("test");
System.OUt.println("buffer="+sb);
System.OUt.println("length="+sb.length
());}}
程序運(yùn)行結(jié)果中在"length="后輸出的值是( )。
A.10
B.4
C.20
D.30
31.每個(gè)Java小應(yīng)用程序必須定義為( )。
A.Applet類(lèi)或JApplet類(lèi)的子類(lèi)
B.JFrame類(lèi)的子類(lèi)
C.Frame的子類(lèi)
D.Window的子類(lèi)
32.若特快訂單是一種訂單,則特快訂單類(lèi)和訂單類(lèi)的關(guān)系是( )。
A.使用關(guān)系
B.包含關(guān)系
C.繼承關(guān)系
D.無(wú)關(guān)系
33.下列關(guān)于Applet的安全限制的敘述中,錯(cuò)誤的是( )。
A.通常情況下,禁止Applet讀、寫(xiě)本地文件系統(tǒng)
B.通常情況下,禁止Applet向Applet源主機(jī)之外的任何主機(jī)建立網(wǎng)絡(luò)連接
C.通常情況下,禁止Applet讀取系統(tǒng)信息
D.通常情況下,禁止Applet加載本地庫(kù)或方法
34.Swing的選項(xiàng)面板是( )。
A.JTabbedPane
B.JLayeredPane
C.JScrollPane
D.JSplitPane
35.提供showDocument()方法,使Applet能夠請(qǐng)求瀏覽器訪(fǎng)問(wèn)特定URL的類(lèi)是( )。
A.Applet
B.AppletContext
C.JApplet
D.URL
36.閱讀下面程序
1 public class Try extends Thread{
2 public static void main(String args[]){
3Try t=new Try();
4 t.start();
5}
6
7 public void run(intj){
8 inti=0;
9 while(i<5){
10 System.out.println("祝你成功!");
11 i++:
12}
13}
14}
該程序要求打印5行"祝你成功!",必須改正程序中的某行代碼,程序才能完成。選擇正確的修改是( )。
A.將第1行的extendsThread改為implementsRunnable
B.將第3行的newTry()改為newThread()
C.將第4行t.start()改為start(t)
D.將第7行的public void run(intj)改為public void run()
37.若數(shù)組a定義為int[][]a=new int[3][4],則a是( )。
A.一維數(shù)組
B.二維數(shù)組
C.三維數(shù)組
D.四維數(shù)組
38.下列標(biāo)識(shí)符(名字)命名原則中,正確的是( )。
A.類(lèi)名的首字母小寫(xiě)
B.變量和方法名的首字母大寫(xiě)
C.接口名的首字母小寫(xiě)
D.常量完全大寫(xiě)
39.Java語(yǔ)言使用的字符碼集是( )。
A.ASCII
B.BCD
C.DCB
D.Unicode
40.下列事件探聽(tīng)器中,無(wú)法對(duì)TextField對(duì)象進(jìn)行事件監(jiān)聽(tīng)和處理的是( )。
A.ActionListener
B.FocusListener
C.MouseMotionListener
D.ChangeListener
二、基本操作題
本題中定義了一個(gè)長(zhǎng)度為20的整數(shù)數(shù)組,然后將1~20分別賦給數(shù)組元素,計(jì)算該數(shù)組中所有下標(biāo)為奇數(shù)的元素的和。
public class javal{
public static void main(String args[]){
int sum;
;
int arrayList[]=new int[20];
for(int i=0;i<=19;i++)
arrayList[i]=i+1;
int pos=0;
while(pos<20){
if( )
sum=sum+arrayList[pos];
;
}
System.out.println("sum="+sum);
}
}
三、簡(jiǎn)單應(yīng)用題
本題的功能是通過(guò)按鈕來(lái)選擇窗口顯示的風(fēng)格。窗口
中有三個(gè)按鈕:“Metal”、“Motif”和“Windows”,單擊任何一
個(gè)按鈕,就能將窗口的風(fēng)格改變?yōu)榘粹o名稱(chēng)所對(duì)應(yīng)的風(fēng)格。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class PlafPanel extends JPanel implements ActionLis-
tener
{public ()
{metaIButton=new JButton("Metal");
motifButtOn=new J Button("Motif");
windowsButton=new JButton("Windows");
add(metalButton);
add(motifButton);
add(windowsButton);
metalButton.addActionListener(this);
motifButton.addActionListener(this);
windowsButton.addActionListener(this);
}
Dublic void actionPerformed(ActionEvent evt)
{Object source=evt.getSource();
String plaf="":
if(source= =metalButton)
plaf="javax.swing.plaf.metal.MetalLookAnd-
Feel";
else if(source= =motifButton)
plaf="com.sun.java.swing.plaf.motif.Moti-
fLookAndFeel";
else if(source= =windowsButton)
Dlaf="com.sun.java.swing.plaf.windows.Win-
dowsLookAndFeel";
try
{UIManager.setLookAndFeel( );
SwingUtilities.updateComponentTreeUI(this);
}
catch(Exception e){)
}
private JButton metalButton;
private JButton motifButton;
private JButton windowsButton;
}
class PlafFrame extends JFrame
{public PlafFrame()
{ setTitle("simple");
setSize(300,200);
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(O);
}
});
Container contentPane=getContentPane();
contentPane.add(new PlafPanel());
}
}
public class java2
{public static void main(String[]args)
f JFrame frame=new PlafFrame();
frame.show();
}
四、綜合應(yīng)用題
本程序的功能是獲取文本框中的文本。窗口中有兩個(gè)文本框“用戶(hù)名”和“密碼”,以及三個(gè)按鈕“登錄”、“其他用戶(hù)登錄,,和“關(guān)閉”,初始狀態(tài)“用戶(hù)名”文本框是只讀的,單擊“其他用戶(hù)登錄”按鈕后變成可寫(xiě)的,“密碼”文本框使用的不是密碼文本框,在用戶(hù)鍵入的時(shí)候設(shè)置顯示為*號(hào)。輸入用戶(hù)名和密碼后,單擊“登錄”按鈕后,如果輸入的密碼為空,則彈出提示消息框,否則后臺(tái)將顯示輸入的用戶(hù)名和密碼。比如顯示為“admin用戶(hù)的密碼:password”(admi為輸入的用戶(hù)名,password為輸入密碼)。
import java.awt.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
public class java3
{
public static void main(String args[])
{
final Frame frmFrame=new Frame();
Panel pnlPanel=new Panel();
Label lblUsername=new Label("用戶(hù)名");
Label lblPassword=new Label("密碼");
final TextField txtUsername=new TextField("
Student");
final TextField txtPassword=new TextFidd("",
8);
txtUsername.setEditable(false);
txtPassword.setChar(’*’);
Button btnButtonl=new Button("登錄");
ButtOn btnButton2=new Button("其他用戶(hù)登錄");
Button btnButton3=new Button("關(guān)閉");
btnButtonl.addActionListener(new ActionListen-er()
{
public void actionPerformed(ActionEvent e)
{
if((txtPassword.getText()).length()= =0)
{
JOptionPane.showMessageDialog(frmFrame,"密碼不能為空");
return;
}
txtPassword.setColumns(16);
System.out.println(txtUsername.getText()+"
用戶(hù)的密碼:"
+txtPassword.getPassword());
}
});
btnButton2.addActionListener(new ActionListen-
er()
{
public void actionPerformed(ActionEvent e)
{
txtUsername.setEnable(true);
}
});
btnButton3.addActionListener(new ActionListen-
er()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
pnlPanel.add(1blUsername);
pnlPanel.add(txtUsername);
pnlPanel.add(1blPassword);
pnlPanel.add(txtPassword);
pnlPanel.add(btnButtonl);
pnlPanel.add(btnButton2);
pnlPanel.add(btnButton3);
frmFrame.add(pnlPanel);
frmFrame.setTitle("advance");
frmFrame.pack();
frmFrame.show();
}
}
一、選擇題
1.D。解析:線(xiàn)性表可以為空表;第一個(gè)元素沒(méi)有直接前驅(qū),最后一個(gè)元素沒(méi)有直接后繼;線(xiàn)性表的定義中,元素的排列并沒(méi)有規(guī)定大小順序。
2.B。解析:滿(mǎn)二叉樹(shù)指除最后一層外,每一層上所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉樹(shù)。完全二叉樹(shù)指除最后一層外,每一層上的結(jié)點(diǎn)數(shù)均達(dá)到最大值,在最后一層上只缺少右邊的若干葉子結(jié)點(diǎn)的二叉樹(shù)。由定義可知,滿(mǎn)二叉樹(shù)肯定是完全二叉樹(shù),而完全二叉樹(shù)一般不是滿(mǎn)二叉樹(shù)。
3.C。解析:對(duì)線(xiàn)性表進(jìn)行順序查找時(shí),最壞情況下,要查找的元素是表的最后一個(gè)元素或查找失敗,這兩種情況都需要將這個(gè)元素與表中的所有元素進(jìn)行比較,因此比較次數(shù)為n。
4.D。解析:結(jié)構(gòu)化程序設(shè)計(jì)的主要原則概括為自頂向下,逐步求精,模塊化。
5.B。解析:需求分析是軟件定義時(shí)期的最后一個(gè)階段?梢愿爬樗膫(gè)方面:需求獲取;需求分析;編寫(xiě)需求規(guī)格說(shuō)明書(shū);需求評(píng)審。
6.C。解析:軟件測(cè)試的目標(biāo)是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯(cuò)誤,給出程序可靠性的鑒定。軟件測(cè)試有3個(gè)重要特征:測(cè)試的挑剔性、完全測(cè)試的不可能性及測(cè)試的經(jīng)濟(jì)性。
7.C。解析:模塊的獨(dú)立性是評(píng)價(jià)設(shè)計(jì)好壞的重要度量標(biāo)準(zhǔn)。衡量軟件的模塊獨(dú)立性使用耦合性和內(nèi)聚性?xún)蓚(gè)定性的度量標(biāo)準(zhǔn)。
8.C。解析:軟件測(cè)試是為了盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤,尤其是至今尚未發(fā)現(xiàn)的錯(cuò)誤。
9.D。解析:需求分析常用工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹(shù)和判定表。問(wèn)題分析圖(PAD)、程序流程圖(PFD)、金式圖(N-S)都是詳細(xì)設(shè)計(jì)的常用工具,不是需求分析的工具。
10.D。解析:模塊化是結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)。面向?qū)ο笤O(shè)計(jì)方法使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題。他的特點(diǎn)包括:分類(lèi)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性等。
11.B。解析:數(shù)據(jù)元素是數(shù)據(jù)的基本單位,即數(shù)據(jù)集合中的個(gè)體。有些情況下也把數(shù)據(jù)元素稱(chēng)為結(jié)點(diǎn)、記錄、表目等。一個(gè)數(shù)據(jù)元素可由一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)組成,數(shù)據(jù)項(xiàng)是有獨(dú)立含義的數(shù)據(jù)最小單位,其值能唯一確定一個(gè)數(shù)據(jù)元素的數(shù)據(jù)項(xiàng)。
12.D。解析:棧的特性為后進(jìn)先出,而棧S只能容納4個(gè)元素。當(dāng)F進(jìn)棧時(shí),說(shuō)明棧中有已有B、C、D、E四個(gè)元素,所以F無(wú)法進(jìn)棧。
13.D。解析:在電子郵件程序向郵件服務(wù)器中發(fā)送郵件時(shí),使用的是簡(jiǎn)單郵件傳輸協(xié)議(SMTP),而在電子郵件程序從郵件服務(wù)器中讀取郵件時(shí),可以使用郵局協(xié)議(POP3)。
14.C。解析:直接選擇排序第一遍掃描就可以把最大的關(guān)鍵碼找出來(lái)(不必等到排序結(jié)束),而其他幾種排序方法都必須等到排序完成才能找到最大關(guān)鍵碼。
15.A。解析:二分法查找是一種效率較高的線(xiàn)性表查找方法。要進(jìn)行二分法查找,則線(xiàn)性表結(jié)點(diǎn)必須是按關(guān)鍵碼值排好序的,且線(xiàn)性表以順序方式存儲(chǔ)。
16.A。解析:Java的核心包一共有l(wèi)2個(gè),其中:java.lan9包中封裝了所有編程應(yīng)用的基本類(lèi);java.util包提供實(shí)用程序類(lèi)和集合類(lèi),如系統(tǒng)特性定義和使用、日期函數(shù)類(lèi)、 集合等常用工具;java.applet包為Applet提供執(zhí)行需要的所有類(lèi),主要是訪(fǎng)問(wèn)Applet內(nèi)容的通信類(lèi);java.rmi包提供程序遠(yuǎn)程方法調(diào)用所需的類(lèi)。因此,本題的正確答案是A。
17.C。解析:Java程序中使用import關(guān)鍵字導(dǎo)入一個(gè)包中的類(lèi)。在一個(gè)Java源程序中,可以有0個(gè)或多個(gè)import語(yǔ)句,但是必須在所有類(lèi)定義之前引入標(biāo)準(zhǔn)類(lèi)。因此,本題中選項(xiàng)C的說(shuō)法是錯(cuò)誤的。
18.B。解析:javac.exe是Java編譯器,能將源程序代碼編譯成字節(jié)碼,以.class擴(kuò)展名存入Java工作目錄中。它的命令格式為:javac[選項(xiàng)]文件名。其中[選項(xiàng)]包括以下幾個(gè):-g。輸出文件中加行號(hào)以及局部變量信息,為調(diào)試程序時(shí)用。-o對(duì)類(lèi)文件進(jìn)行優(yōu)化編譯。-nowarn 關(guān)閉警告信息,只顯示錯(cuò)誤信息。-verbose 顯示源代碼文件和字節(jié)碼文件的相關(guān)信息。-d<目錄> 指定存放生成的類(lèi)(.class)文件的位置根據(jù)上述介紹可知,在編譯Java程序時(shí),可以通過(guò)選項(xiàng)-d來(lái)指定生成的.class文件的位置。因此,本題的正確答案是B。
19.D。解析:WindowListener接口包含的方法是:①Window Activated(WindowEvent);②WindowOlpened(WindowEvent);③WindowClosed(WindowEvent);④WindowClosing(WindowEvent);⑤WindowDeactivated(WindowEvent);⑥WindowDeiconified(WindowEvent)⑦windowlconified(WindowEvent)。所以D選項(xiàng)錯(cuò)誤。
20.A。解析:運(yùn)行Java的JDK一共包含五個(gè)目錄,分別是:bin目錄,該目錄包含Java編譯器、解釋器和許多工具(如服務(wù)器工具、IDL、package工具等);lib目錄,該目錄包含Java庫(kù)文件;jre目錄,該目錄是Java程序運(yùn)行環(huán)境的根目錄,它下面包含bin子目錄,包括平臺(tái)所用工具和庫(kù)的可執(zhí)行文件以及DLL文件;demo目錄,該目錄包含源代碼的程序示例;include目錄,該目錄包含Win32子目錄,都是本地方法的文件。
21.A。解析:Java是新一代編程語(yǔ)言,具有很多特點(diǎn):簡(jiǎn)單易學(xué);利用面向?qū)ο蠹夹g(shù);分布式計(jì)算;健壯性(魯棒性);安全性;跨平臺(tái)(即體系結(jié)構(gòu)中立);可移植性;解釋執(zhí)行;高性能;多線(xiàn)程;動(dòng)態(tài)性。因此,本題的正確答案是A。
22.C。解析:本題考查線(xiàn)程的基本控制。Thread類(lèi)提供的基本線(xiàn)程控制方法包括:sleep()——使比其低的優(yōu)先級(jí)線(xiàn)程運(yùn)行,可以讓一個(gè)線(xiàn)程暫停運(yùn)行一段固定的時(shí)間;yield()——使具有與當(dāng)前線(xiàn)程相同優(yōu)先級(jí)的線(xiàn)程有運(yùn)行的機(jī)會(huì);join()——使當(dāng)前線(xiàn)‘程暫停執(zhí)行,等待調(diào)用該方法的線(xiàn)程結(jié)束后,再恢復(fù)執(zhí)行;interrupt()——中斷線(xiàn)程的阻塞狀態(tài),并且線(xiàn)程接收到InterruptException異常。根據(jù)上述介紹可知,只有yield()方法可以使當(dāng)前同級(jí)線(xiàn)程重新獲得運(yùn)行機(jī)會(huì)。因此,本題的正確答案是C。
23.C。解析:do while語(yǔ)句和for語(yǔ)句是循環(huán)語(yǔ)句;it語(yǔ)句和switch語(yǔ)句是分支語(yǔ)句。而if語(yǔ)句稱(chēng)為條件語(yǔ)句, switch語(yǔ)句稱(chēng)為多分支語(yǔ)句。
24.D。解析:本題考查switch語(yǔ)句的用法。switch語(yǔ)句是多分支語(yǔ)句,即根據(jù)表達(dá)式的值來(lái)執(zhí)行多個(gè)操作中的一個(gè)。在switch語(yǔ)句中,”表達(dá)式”的返回值類(lèi)型必須是這幾種類(lèi)型
之一:int、byte、char、short。本題中,switch的表達(dá)式s是一個(gè)字符串Strin9類(lèi)型的值,它不是int、byte、char、short中的任意一個(gè)。因此表達(dá)式s的類(lèi)型不對(duì),編譯時(shí)出錯(cuò)。
25.A。解析:FileReader、BufferedReader是字符類(lèi)輸入流。FileInputStream是字節(jié)輸入流。對(duì)象串行化時(shí),需要使用ObjectlnputStream類(lèi)中提供的方法從對(duì)象流中讀取對(duì)象。所以,在程序讀入字符文件時(shí),要使用字符流FileReader或BufferedReader。但是FileReader的參數(shù)是讀入的文件,而B(niǎo)ufferedReader的參數(shù)是FileReader流的一個(gè)對(duì)象。因此,本題的正確答案是A。
26.C。解析:在java.i0包中,接口Serializable是實(shí)現(xiàn)對(duì)象串行化的工具。實(shí)際上,Serializable接口是一個(gè)空接口,它里面既沒(méi)有定義抽象方法,也沒(méi)有定義常量。Serializable接口的目的只是簡(jiǎn)單地標(biāo)識(shí)一個(gè)類(lèi)的對(duì)象是可以被串行化的。
27.B。解析:本題考查線(xiàn)程的創(chuàng)建。在Java中,創(chuàng)建線(xiàn)程有兩種方法:①通過(guò)實(shí)現(xiàn)Runnable接口創(chuàng)建線(xiàn)程。Runnable接口中只定義了一個(gè)run()方法作為線(xiàn)程體。②通過(guò)繼承Thread類(lèi)創(chuàng)建線(xiàn)程,Thread類(lèi)本身實(shí)現(xiàn)了Runnable接口。創(chuàng)建的新的線(xiàn)程不會(huì)自動(dòng)運(yùn)行,必須調(diào)用start()方法才能運(yùn)行。本題中HolloWorld類(lèi)實(shí)現(xiàn)了Runnable接口。
28.D。解析:Java.io包中的類(lèi)可以處理不同類(lèi)型的流,比如字節(jié)流、字符流、對(duì)象流、非流類(lèi)等。File類(lèi)就是一個(gè)重要的非流類(lèi),它是以一種系統(tǒng)無(wú)關(guān)的方式表示一個(gè)文件對(duì)象的屬性。
29.D。解析:Java平臺(tái)為了防范惡意程序的攻擊,保護(hù)本地主機(jī),對(duì)Applet作了如下安全限制:①Applet不能運(yùn)行任何本地可執(zhí)行程序。②禁止加載本地庫(kù)或方法。③禁止讀、寫(xiě)本地計(jì)算機(jī)的文件系統(tǒng)。④禁止向提供Applet之外的任何主機(jī)建立網(wǎng)絡(luò)連接。⑤不能讀取某些系統(tǒng)信息。⑥由一個(gè)Applet彈出的窗口外觀(guān)上與一個(gè)Application彈出的窗口不同,Applet彈出的窗口中會(huì)有警告提示信息,幫助用戶(hù)區(qū)分Applet窗口與可信的Application窗口。
30.B。解析:本題對(duì)StringBuffer(String str)構(gòu)造方法,用str給出字符串的初始值,并分配16個(gè)字符的緩存。因此,字符串sb的初始值是”test”,并且包含l6個(gè)字符的緩存。length()方法用來(lái)獲得字符串長(zhǎng)度,不包含緩存。故程序運(yùn)行結(jié)果中在”length=”后輸出的值應(yīng)該是字符串sb的長(zhǎng)度,即4。
31.A。解析:本題考查Applet的基本知識(shí)。Applel類(lèi)定義了小應(yīng)用程序(Applet)與其運(yùn)行環(huán)境之間的一個(gè)接口;JApplet是Applet類(lèi)的擴(kuò)展,它繼承了Applet的方法和執(zhí)行機(jī)制,同時(shí)也增加了對(duì)Swing構(gòu)件的支持。每個(gè)Jaw小應(yīng)用程序都必須是Applet類(lèi)或JApplet類(lèi)的子類(lèi)。因此,本題的正確答案是A。
32.C。解析:繼承是允許將一個(gè)類(lèi)定義為一個(gè)更通用類(lèi)的特例。特殊類(lèi)稱(chēng)為子類(lèi),通用類(lèi)稱(chēng)為父類(lèi)。除了訂單類(lèi)的屬性外,特快訂單類(lèi)可能還有其他一些特殊屬性。顯然,訂單類(lèi)是通用類(lèi),即父類(lèi);而特快訂單類(lèi)是定單類(lèi)的一個(gè)特例,是子類(lèi)。訂單類(lèi)和特快訂單類(lèi)是繼承關(guān)系。
33.C。解析:本題考查Applet的安全限制。許多瀏覽器為了保護(hù)本地主機(jī),一般情況下,對(duì)Applet作了如下安全限制:Applet不能運(yùn)行任何本地可執(zhí)行程序;禁止Applet讀、寫(xiě)本地計(jì)算機(jī)的文件系統(tǒng);禁止加載本地庫(kù)或方法。Applet只能使用自身的代碼或Applet瀏覽器提供的JavaAPl;禁止向提供Applet之外的任何主機(jī)建立網(wǎng)絡(luò)連接;不能讀取某些系統(tǒng)信息。除了Java版本號(hào)、操作系統(tǒng)名等一些簡(jiǎn)單信息外,Applet不能獲得與本地計(jì)算機(jī)有關(guān)的任何信息。根據(jù)上述介紹可知,Applet只能讀取有限的系統(tǒng)信息,但不是一點(diǎn)兒都不能讀取。因此,本題的正確答案是C。
34.A。解析:本題考查Swing的容器面板。在Swing的容器面板中:選項(xiàng)板(JTabbedPane)提供一組可供用戶(hù)選擇的帶有標(biāo)簽或圖標(biāo)的選項(xiàng),每個(gè)選項(xiàng)下面都可以顯示一個(gè)構(gòu)件;Swing提供兩種分層面板:JLayeredPane和JDesktopPane。JDesktopPane是JLayeredPane的子類(lèi),專(zhuān)門(mén)為容納內(nèi)部框架(JInternalFrame)而設(shè)計(jì);滾動(dòng)窗口(JScrollPane)是帶滾動(dòng)條的面板,主要是通過(guò)移動(dòng)JViewport(視口)來(lái)實(shí)現(xiàn)的;分隔板(JSplitPane)用于分隔兩個(gè)構(gòu)件,這兩個(gè)構(gòu)件可以按照水平方向分隔,也可以按照垂直方向分隔。根據(jù)上述介紹可知,Swing中的選項(xiàng)面板是JTabbedPane。因此,本題的正確答案是A。
35.B。解析:AppletContext類(lèi)是一個(gè)接口類(lèi),Applet通過(guò)AppletContext接口與環(huán)境進(jìn)行通信?梢岳眠@個(gè)類(lèi)從Applet環(huán)境獲取信息,而這個(gè)環(huán)境一般是指瀏覽器。Applet使用AppletContext類(lèi)的showDocument()方法可以通知瀏覽器在指定窗口中顯示另一個(gè)URL的內(nèi)容。因此,本題的正確答案是B。
36.D。解析:本題考查線(xiàn)程的創(chuàng)建。Java語(yǔ)言中提供兩種創(chuàng)建線(xiàn)程的方法,一種是通過(guò)實(shí)現(xiàn)Runnable接口來(lái)創(chuàng)建線(xiàn)程,另一種是通過(guò)繼承Thread類(lèi)創(chuàng)建線(xiàn)程。顯然,題目中的程序是使用第二種方法來(lái)創(chuàng)建線(xiàn)程。Thread類(lèi)中定義了run()方法,所以通過(guò)繼承Thread類(lèi)來(lái)創(chuàng)建線(xiàn)程時(shí)還要重寫(xiě)Thread類(lèi)中的run()方法。而run()方法的定義如下:
public void run(){}
題目中的代碼比較簡(jiǎn)單,就是創(chuàng)建了一個(gè)線(xiàn)程,這個(gè)線(xiàn)程完成的操作就是打印5行"祝你成功"。仔細(xì)閱讀程序,不難發(fā)現(xiàn)第7行有錯(cuò)。在run()方法的定義中是沒(méi)有參數(shù)的,而題目程序中的run方法卻帶有一個(gè)參數(shù)。因此,要把第7行的代碼改為"public void run()"。因此,本題的正確答案是D。
37.B。解析:二維數(shù)組有兩種定義方式:①type arrayName[][];②type[][]arrayName;從題目中的語(yǔ)句可以看出,本題定義了一個(gè)二維數(shù)組。
38.D。解析:Java命名的基本原則包括如下幾條:_、$不作為變量名、方法名的開(kāi)頭;變量名、方法名首單詞小寫(xiě),其余單詞只有首字母大寫(xiě);接口名、類(lèi)名首單詞第一個(gè)字母大寫(xiě);常量完全大寫(xiě)。根據(jù)上述命名規(guī)則,選項(xiàng)D的說(shuō)法是正確的。
39.D。解析:Java語(yǔ)言使用的是Unicode字符集。而ASCIl是國(guó)際上使用最廣泛的字符編碼;BCD是一種數(shù)字壓縮存儲(chǔ)編碼方法。
40.D。解析:本題考查AWT事件處理。事件就是發(fā)生在用戶(hù)界面上的用戶(hù)交互行為所產(chǎn)生的一種效果。每類(lèi)事件都有對(duì)應(yīng)的事件探聽(tīng)器,探聽(tīng)器就是接口。在單行文本輸入?yún)^(qū)(TextField)構(gòu)件上可能發(fā)生的事件包括:FocusEvent焦點(diǎn)事件——焦點(diǎn)的獲得和丟失,這類(lèi)事件所對(duì)應(yīng)的事件探聽(tīng)器是FocusListener;ActionEvent動(dòng)作事件——按鈕按下、TextField中按鍵,這類(lèi)事件所對(duì)應(yīng)的事件探聽(tīng)器是ActionListener;MouseEvent鼠標(biāo)事件——鼠標(biāo)單擊、釋放、拖動(dòng)、移動(dòng),這類(lèi)事件所對(duì)應(yīng)的事件探聽(tīng)器是MousetMotionListener。雖然還包括其他一些探聽(tīng)器,但是在所有事件及其所對(duì)應(yīng)的事件探聽(tīng)器中,并不包括ChangeListener這樣一個(gè)事件探聽(tīng)器。因此,本題的正確答案是D。
二、基本操作題
第1處:sum=0
第2處:pos%2= =1或pos%2 1= =0
第3處:pos++或pos+=1或pos=pos+1
解析:第1處給整型變量sum賦初值;第2處為判斷數(shù)組中元素下標(biāo)為奇數(shù)的條件;第3處是元素下標(biāo)加1繼續(xù)遍歷。
三、簡(jiǎn)單應(yīng)用題
第1處:PlafPanel
第2處:plaf
解析:第一處由題意可知,類(lèi)PlafPanel缺少構(gòu)造函數(shù),所以填PlafPanel。第二處是通過(guò)String類(lèi)型的對(duì)象plaf,和UIManager.setLookAndFeel()方法實(shí)現(xiàn)顯示風(fēng)格的切換。
四、綜合應(yīng)用題
第1處:txtPassWord.setEchoCharf(’*’)
第2處:txtPassword.getText()
第3處:txtUsername.setEditable(true)
解析:第一處是通過(guò)TextField類(lèi)的setEchoChar函數(shù)設(shè)置用戶(hù)輸入時(shí),文本框顯示的文本。第二處是通過(guò)TextField類(lèi)的getText函數(shù)獲取用戶(hù)的輸入,即得到密碼值。第三處是使用戶(hù)名文本框變?yōu)榭捎茫褂脩?hù)可以輸入。
【計(jì)算機(jī)二級(jí)全真模擬試題及答案】相關(guān)文章:
2015計(jì)算機(jī)二級(jí)《JAVA》全真模擬試題及答案03-31
計(jì)算機(jī)二級(jí)JAVA全真模擬試題08-13
計(jì)算機(jī)二級(jí)《MSOffice》全真模擬試題06-01
9月計(jì)算機(jī)二級(jí)MSOffice全真模擬試題及答案06-11
計(jì)算機(jī)二級(jí)MSOffice考試全真模擬試題07-01
口腔助理醫(yī)師全真模擬試題及答案07-24