一、選擇題(每小題1分,共40小題,共40分)
1.下列敘述中正確的是( )。
A.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的
B.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)
C.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要少于順序存儲(chǔ)結(jié)構(gòu)
D.上述三種說(shuō)法都不對(duì)
2.下列敘述中正確的是( )。
A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化
B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化
C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化
D.上述三種說(shuō)法都不對(duì)
3.軟件測(cè)試目的是( )。
A.評(píng)估軟件可靠性
B.發(fā)現(xiàn)并改正程序中的錯(cuò)誤
C.改正程序中的錯(cuò)誤
D.發(fā)現(xiàn)程序中的錯(cuò)誤
4.下面描述中,不屬于軟件危機(jī)表現(xiàn)的是( )。
A.軟件過(guò)程不規(guī)范
B.軟件開發(fā)生產(chǎn)率低
C.軟件質(zhì)量難以控制
D.軟件成本不斷提高
5.軟件生命周期是指( )。
A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程
B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測(cè)試完成的過(guò)程
C.軟件的開發(fā)過(guò)程
D.軟件的運(yùn)行維護(hù)過(guò)程
6.面向?qū)ο蠓椒ㄖ?,繼承是指( )。
A.一組對(duì)象所具有的相似性質(zhì)
B.一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)
C.各對(duì)象之間的共同性質(zhì) ,
D.類之間共享屬性和操作的機(jī)制
7.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)劃分原則是( )。
A.記錄長(zhǎng)度
B.文件的大小
C.聯(lián)系的復(fù)雜程度
D.數(shù)據(jù)之間的聯(lián)系方式
8.一個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間的聯(lián)系是( )。
A.一對(duì)一
B.一對(duì)多
C.多對(duì)多
D.多對(duì)一
9.數(shù)據(jù)庫(kù)設(shè)計(jì)中反映用戶對(duì)數(shù)據(jù)要求的模式是( )。
A.內(nèi)模式
B.概念模式
C.外模式
D.設(shè)計(jì)模式
11.下列關(guān)于順序存儲(chǔ)結(jié)構(gòu)的敘述中,錯(cuò)誤的是( )。
A.存儲(chǔ)密度大
B.某些非線性結(jié)構(gòu)也可以采用順序方法存儲(chǔ)
C.結(jié)點(diǎn)中只有自身信息域,沒有鏈接信息域
D.便于進(jìn)行插入、刪除等運(yùn)算操作
12.有下三角矩陣A[0…10,0…10],按行優(yōu)先順序存放其非零元素,每個(gè)非零元素占兩個(gè)字節(jié),存放的基地址為100,則元素A[5,53的存放地址為( )。
A.110
B.120
C.130
D.140
13.設(shè)數(shù)組data[0…m]作為循環(huán)隊(duì)列S q的存儲(chǔ)空間,front為隊(duì)頭指針,rear為隊(duì)尾指針,則執(zhí)行出隊(duì)操作的語(yǔ)句為( )。
A.S q↑.front:=S q十.front+1;
B.S q↑.front:=(S q十.front+1)%maxsize;
C.S q↑.rear:=(s q十.rear+1)%maxsize;
D.S q↑.front:=(s q十.front+1)%(maxsize+1);
14.如果入棧序列為CEDB,以下哪一個(gè)是從棧中刪除元素的序列?( )
A.BED
B.BDE
C.BEDC
D.BDEC
15.設(shè)待排序關(guān)鍵碼序列為(25,18,9,33,67,82,53,95,12,70),要按關(guān)鍵碼值遞增的順序進(jìn)行排序,采取以第一個(gè)關(guān)鍵碼為分界元素的快速排序法,第一趟排序完成后關(guān)鍵碼95被放到第( )個(gè)位置。
A.7 B.8
C.9 D.10
16.下列特點(diǎn)中不屬于Java的是( )。
A.多線程
B.多重繼承
C.跨平臺(tái)
D.動(dòng)態(tài)性
17.Java的反匯編命令是( )。
A.javap
B.javac
C.jdb
D.java
18.下列變量定義中,不合法的是( )。
A.int SX;
B.int_123;
C.int Summer 2010_gross_sale;
D.int#dim;
19.下列選項(xiàng)中為單精度數(shù)的是( )。
A.2 B.5.2
C.0.2f D.023
20.下列關(guān)于boolean類型的敘述中,正確的是( )。
A.可以將boolean類型的數(shù)值轉(zhuǎn)換為int類型的數(shù)值
B.可以將boolean類型的數(shù)值轉(zhuǎn)換為字符串
C.可以將boolean類型的數(shù)值轉(zhuǎn)換為char類型的數(shù)值
D.不能將boolean類型的數(shù)值轉(zhuǎn)換為其他基本數(shù)據(jù)類型
21.若定義int a=2,b一2,下列表達(dá)式中值不為4的是( )。
A.a*(++b)
B.a*(b++)
C.a+b
D.a*b
22.下列可以獲得構(gòu)件前景色的方法是( )。
A.getsize()
B.getForeground()
C.getBackground()
D.paint()
23.下列程序的運(yùn)行結(jié)果是( )。
public class test{
private String[]data={¨10","10.5");
public void fun(){
double s=0:
for(int i=0;i<3;j++){
try{
s=s+Integer.parseInt(data[i]);
catch(Exception e){
System.out.print("errorl:"+data[i]);
}
}
}
public static void main(string[]args){
try{
test d=new test():
d.fun():
}catch(Exception e){
System.OUt.println("error2")
}
}
}
A.errorl:10.5 B.error2
C.errorl:10.5 error2 D.以上都不對(duì)
24.下列程序片段中,能通過(guò)編譯的是( )。
A.public abstract class Animal{
public void speak();}
B.public abstract class Animal{
public vold speak()();}
C.public class Animal{
pubilc abstract void speak();}
D.public abstract class Animal{
pubilc abstract void speak()();}
25.下列不屬于接口WindowListener的方法是( )。
A.windowClosing()
B.windowClosed()
C.windowMinimized()
D.windowOpened()
26.下列選項(xiàng)中,不能輸出100個(gè)整數(shù)的是( )。
A.for(int i=0;i<100;i++)
System.out.println(i);
B.int i=0;
do{
System.out.println(i);
i++:
}while(i<100);
C.int i=0:
while(i<100){
System.out.println(i);
i++:
}
D.int i=0:
while(i<100){
i++:
if(i<100)continue:
System.out.println(i);
}
27.類變量必須帶有的修飾符是( )。
A.static
B.final
C.public
D.volatile
28.下列選項(xiàng)中屬于字符串常量的是( )。
A.·abc·
B."abe"
C.[abc]
D.(abc)
29.Java程序默認(rèn)引用的包是( )。
A.java.text包 B.java.awt包
C.java.lang包D.java.util包
30.為使下列代碼正常運(yùn)行,應(yīng)該在下畫線處填入的選項(xiàng)是( )。
ObjectInputStream In=
new (new FilelnputStream("employee.
doc"));
Employee[]newstaff=(Employee[])in.readObject
();
In.close();
A.Reader
B.InputStream
C.Objectlnput
D.ObjectlnputStream
31.下列代碼將對(duì)象寫入的設(shè)備是( )。
ByteArrayOutputStream bout=new ByteArrayOut-
putStream();
ObjectOutputStream out=new ObjectOutputStream
(bout);
out.writeObject(this);
out.close();
A.內(nèi)存
B.硬盤
C.屏幕
D.網(wǎng)絡(luò)
32.為使下列代碼正常運(yùn)行,應(yīng)該在下畫線處填入的選項(xiàng)是( )。
int[]numbers=new int[n];
for(int i=0;i numbers[i]=i+1:
A.size B.length
C.dimension D.measurement
33.為使下列代碼正常運(yùn)行,應(yīng)該在下畫線處填入的選項(xiàng)是( )。
abstract class person{
public Person(String n){
name = n:
}
public String getDescription();
public String getName(){
return name;
}
private string name;
}
A.static
B.private
C.abstract
D.final
34.下列能夠正確創(chuàng)建線程的方法是(. )。
Ⅰ.繼承java.lang.Thread類,并重寫run()方法
Ⅱ.繼承java.lang.Runnable類,并重寫start()方法
Ⅲ.實(shí)現(xiàn)java.1ang.Thread接口,并實(shí)現(xiàn)run()方法
IV.實(shí)現(xiàn)java.lang.Runable接口,并實(shí)現(xiàn)run()方法
A.Ⅰ,Ⅲ B.Ⅱ,IV
C.Ⅱ,Ⅲ D.I,IV
35.下列線程狀態(tài)轉(zhuǎn)換序列,在線程實(shí)際運(yùn)行中可能出現(xiàn)的序列是( )。
A.新建→運(yùn)行→阻塞→終止
B.……運(yùn)行→阻塞→可運(yùn)行→終止
C.……可運(yùn)行→運(yùn)行→阻塞→運(yùn)行……
D.新建→可運(yùn)行→運(yùn)行→阻塞→可運(yùn)行……
36.為了支持壓棧線程與彈棧線程之間的交互與同步,應(yīng)
在下畫線處填入的選項(xiàng)是( )。
public class StackTest{
private int idx=0;
private int[]data=new int[8]
public void push(int i){
synchronized(this){
;
data(idx)=i:
idx++:
}
}
}……
A.this.notify()
B.interrupt()
C.this.wait()
D.sleep()
37.對(duì)下列程序的敘述中,正確的是( )。
1)public class X extends Thread implements Runnable{
2)public void run(){
3)system.out.println("this is run()");
4)}
5)public static void main(String args[]){
6)Thread t=new Thread(new X());
7)t.start();
8)}
9)}
A.第l行會(huì)產(chǎn)生編譯錯(cuò)誤
B.第6行會(huì)產(chǎn)生編譯錯(cuò)誤
C.第6行會(huì)產(chǎn)生運(yùn)行錯(cuò)誤
D.程序正常運(yùn)行
38.下列關(guān)于Applet的敘述中,正確的是( )。
A.Applet不僅可以嵌入到瀏覽器中運(yùn)行,還可以獨(dú)立運(yùn)行
B.Applet的主類要定義為Applet類或JApplet類的子類
C.同一個(gè)頁(yè)面中的Applet之間不能通信
D.Applet不支持多線程
39.當(dāng)一個(gè)Applet所在的Web頁(yè)面被其他頁(yè)面覆蓋后,不可能被調(diào)用的Applet方法是( )。
A.destroy()
B.init()
C.stop()
D.start()
二、基本操作題(共18分)
本題分別比較兩個(gè)字符串"A"和"a"是否相等,并比較兩個(gè)字符"A"和"a"是否相等,并輸出比較結(jié)果。
public class javal{
public static void main(String[]args){
;
cl=’A ’;c2=’a’;
String strl=new String("A"),str2=new String
("a"):
if( )
System.Out.println("char"+c1+"equals"+"char"
+c2);
else
System.OUt.println("char"+cl+"doesn’t equal
"+"char"+c2);
if( )
System.out.println("string"+strl+"equals"+
"string"+str2):
else
System.OUt.println("string"+strl+"doesn’t e-
qual"+"string"+str2); .
}
}
三、簡(jiǎn)單應(yīng)用題(共24分)
本題是一個(gè)Applet,頁(yè)面上有一個(gè)按鈕“請(qǐng)單擊”,單擊該按鈕后彈出一個(gè)對(duì)話框,對(duì)話框上有三個(gè)按鈕“橙色”、“藍(lán)色”和“紅色”,單擊其中任意一個(gè)按鈕,則可以將對(duì)話框的背景色設(shè)置為按鈕名稱所對(duì)應(yīng)的顏色。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class java2 extends JApplet
{
private JFrame framet;
()
{
frame=new JFrame();
frame.setTitle("java2");
frame.setSize(300,200);
frame.getContentPane().add(new ButtonPanel
());
JButton PopButton=new JButton("請(qǐng)單擊");
getContentPane().add(PopButton);
PopButtom addActionListener(new ActionListener();
{
public void actionPerformed(ActionEvent evt)
{
if(frame.isVisible())frame.setVisible(false);
else ;
}
});
}
}
class ButtonPanel extends JPanel
{
private class ColorAction implements ActionLis-
tener
{
private Color backgroundColor;
public void actionPerformed(ActionEvent action-
event)
{
setBackground(backgroundColor);
repaint();
}
public ColorAction(Color color)
{
backgroundColor=color;
}
}
public ButtonPanel()
{
JButton jbutton=new JButton("橙色");
JButton jbuttonl=new JButton("藍(lán)色");
JButton jbutton2=new JButton("紅色");
add(jbutton);
add(jbuttonl);
add(jbutton2);
ColorAction coloraction=new ColorAction(Color.orange);
ColorAction coloractionl=new ColorAction(Color.blue);
ColorAction coloraetion2=new ColorAction(Color.red);
ibutton.addActionListener(coloraction);
ibuttonl.addActionListener(coloractionl);
jbutton2.addActionListener(coloraction2);
}
}
四、綜合應(yīng)用題(共18分)
本題的功能是用按鈕來(lái)控制文本框中文本的顏色。窗口中有兩個(gè)帶有文字標(biāo)題的面板“Sample text”和“Text color control”,窗口的底部還有一個(gè)復(fù)選按鈕“Disable changes”。在“Sample text”面板中有一個(gè)帶有字符串的文本框,而在“Text color control”面板中有三個(gè)按鈕:“Black”、“Red”和“Green”,并且每個(gè)按鈕上都有一個(gè)對(duì)應(yīng)顏色的圓。單擊任意按鈕,文本框中的文本變成對(duì)應(yīng)的顏色,如果選中“Disable changes”復(fù)選項(xiàng),則三個(gè)顏色按鈕變?yōu)椴豢捎?,如果取消選中復(fù)選項(xiàng),則三個(gè)按鈕變?yōu)榭捎谩?BR> import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class java3 extends JFrame{
private JPanel upper,middle,lower;
private JTextField text;
private JButton black,red,green;
private JCheckBox disable;
public java3(String titleText){
super(titleText);
addWindowListener(new WindowAdapter(){
public void
windowClosing(WindowEvent e){
System.exit(0);
}
}
);
upper=new JPanel();
upper.setBorder(BorderFactory.ereateTitledBor-
der("Sample text"));
upper.setlayout(new BorderLayout());
text=new JTextField("Change the color of this
text"):
upper.add(text,BorderLayout.CENTER);
middle=new JPanel();
middle.setBorder(BorderFactory.createTitledBor-
der("Text color control"));
middle.setLayout(new FlowLayout(FlowLayout.
CENTER)):
black=new JButton("Black",new ColorIcon
(Color.black));
black.addActionListener( new ButtonListener
(Color.black));
middle.add(black);
red=new JButton("Red",new ColorIcon(Col-
or.red));
red.addActionListener(new ButtonListener(Col-
or.red));
middle.add(red);
green=new JButton("Green",new ColorIcon
(Color.green));
green.addActionListener(new ButtonListener
(Color.green));
middle.add(green);
lower=new JPanel();
lower.setLayout(new FlowLayout(FlowLayout.
RIGHT));
disable=new JCheckBox("Disable changes"):
disable.addItemListener(new ItemListener()(
public void itemStateChanged(ItemEvent e){
boolean enabled
=(e.getStateChange()
= =ItemEvent.DESELECTED):
black.setEnabled(enabled);
red.setEnabled(enabled);
green.setEnabled(enabled);
}
}
);
lower.add(disable);
Container cp=getContentPane();
cp.add(upper,BorderLayout.NORTH);
cp.add(middle,BorderLayout.CENTER);
cp.add(10wer,BorderLayout.SoUTH);
pack();
setVisible(true);
}
class ButtonListener extends ActionListener{
private Color c;
public ButtonListener(Color c){
this.c=c;
}
public void actionPerformed(ActionEvent e){
text.setForeground(c);
}
}
class ColorIcon implements Icon{
private Color c;
private static final int DIAMETER=10;
public ColorIcon(Color c){
c=c;
}
public void paintlcon(Component cp,Graphics g,
int x,int y){
g.setColor(c);
g.fillOval(X,y,DIAMETER,DIAMETER);
g.setColor(Color.black);
g.drawOval(x,y,DIAMETER,DIAMETER);
}
public int getlconHeight(){
return DIAMETER;
}
public int getlconWidth(){
return DIAMETER;
}
}
public static void main(String[]args){
new java3("advance");
}
}
1.下列敘述中正確的是( )。
A.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)與順序存儲(chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間是相同的
B.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要多于順序存儲(chǔ)結(jié)構(gòu)
C.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)所需要的存儲(chǔ)空間一般要少于順序存儲(chǔ)結(jié)構(gòu)
D.上述三種說(shuō)法都不對(duì)
2.下列敘述中正確的是( )。
A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化
B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化
C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化
D.上述三種說(shuō)法都不對(duì)
3.軟件測(cè)試目的是( )。
A.評(píng)估軟件可靠性
B.發(fā)現(xiàn)并改正程序中的錯(cuò)誤
C.改正程序中的錯(cuò)誤
D.發(fā)現(xiàn)程序中的錯(cuò)誤
4.下面描述中,不屬于軟件危機(jī)表現(xiàn)的是( )。
A.軟件過(guò)程不規(guī)范
B.軟件開發(fā)生產(chǎn)率低
C.軟件質(zhì)量難以控制
D.軟件成本不斷提高
5.軟件生命周期是指( )。
A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程
B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測(cè)試完成的過(guò)程
C.軟件的開發(fā)過(guò)程
D.軟件的運(yùn)行維護(hù)過(guò)程
6.面向?qū)ο蠓椒ㄖ?,繼承是指( )。
A.一組對(duì)象所具有的相似性質(zhì)
B.一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)
C.各對(duì)象之間的共同性質(zhì) ,
D.類之間共享屬性和操作的機(jī)制
7.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)劃分原則是( )。
A.記錄長(zhǎng)度
B.文件的大小
C.聯(lián)系的復(fù)雜程度
D.數(shù)據(jù)之間的聯(lián)系方式
8.一個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間的聯(lián)系是( )。
A.一對(duì)一
B.一對(duì)多
C.多對(duì)多
D.多對(duì)一
9.數(shù)據(jù)庫(kù)設(shè)計(jì)中反映用戶對(duì)數(shù)據(jù)要求的模式是( )。
A.內(nèi)模式
B.概念模式
C.外模式
D.設(shè)計(jì)模式
11.下列關(guān)于順序存儲(chǔ)結(jié)構(gòu)的敘述中,錯(cuò)誤的是( )。
A.存儲(chǔ)密度大
B.某些非線性結(jié)構(gòu)也可以采用順序方法存儲(chǔ)
C.結(jié)點(diǎn)中只有自身信息域,沒有鏈接信息域
D.便于進(jìn)行插入、刪除等運(yùn)算操作
12.有下三角矩陣A[0…10,0…10],按行優(yōu)先順序存放其非零元素,每個(gè)非零元素占兩個(gè)字節(jié),存放的基地址為100,則元素A[5,53的存放地址為( )。
A.110
B.120
C.130
D.140
13.設(shè)數(shù)組data[0…m]作為循環(huán)隊(duì)列S q的存儲(chǔ)空間,front為隊(duì)頭指針,rear為隊(duì)尾指針,則執(zhí)行出隊(duì)操作的語(yǔ)句為( )。
A.S q↑.front:=S q十.front+1;
B.S q↑.front:=(S q十.front+1)%maxsize;
C.S q↑.rear:=(s q十.rear+1)%maxsize;
D.S q↑.front:=(s q十.front+1)%(maxsize+1);
14.如果入棧序列為CEDB,以下哪一個(gè)是從棧中刪除元素的序列?( )
A.BED
B.BDE
C.BEDC
D.BDEC
15.設(shè)待排序關(guān)鍵碼序列為(25,18,9,33,67,82,53,95,12,70),要按關(guān)鍵碼值遞增的順序進(jìn)行排序,采取以第一個(gè)關(guān)鍵碼為分界元素的快速排序法,第一趟排序完成后關(guān)鍵碼95被放到第( )個(gè)位置。
A.7 B.8
C.9 D.10
16.下列特點(diǎn)中不屬于Java的是( )。
A.多線程
B.多重繼承
C.跨平臺(tái)
D.動(dòng)態(tài)性
17.Java的反匯編命令是( )。
A.javap
B.javac
C.jdb
D.java
18.下列變量定義中,不合法的是( )。
A.int SX;
B.int_123;
C.int Summer 2010_gross_sale;
D.int#dim;
19.下列選項(xiàng)中為單精度數(shù)的是( )。
A.2 B.5.2
C.0.2f D.023
20.下列關(guān)于boolean類型的敘述中,正確的是( )。
A.可以將boolean類型的數(shù)值轉(zhuǎn)換為int類型的數(shù)值
B.可以將boolean類型的數(shù)值轉(zhuǎn)換為字符串
C.可以將boolean類型的數(shù)值轉(zhuǎn)換為char類型的數(shù)值
D.不能將boolean類型的數(shù)值轉(zhuǎn)換為其他基本數(shù)據(jù)類型
21.若定義int a=2,b一2,下列表達(dá)式中值不為4的是( )。
A.a*(++b)
B.a*(b++)
C.a+b
D.a*b
22.下列可以獲得構(gòu)件前景色的方法是( )。
A.getsize()
B.getForeground()
C.getBackground()
D.paint()
23.下列程序的運(yùn)行結(jié)果是( )。
public class test{
private String[]data={¨10","10.5");
public void fun(){
double s=0:
for(int i=0;i<3;j++){
try{
s=s+Integer.parseInt(data[i]);
catch(Exception e){
System.out.print("errorl:"+data[i]);
}
}
}
public static void main(string[]args){
try{
test d=new test():
d.fun():
}catch(Exception e){
System.OUt.println("error2")
}
}
}
A.errorl:10.5 B.error2
C.errorl:10.5 error2 D.以上都不對(duì)
24.下列程序片段中,能通過(guò)編譯的是( )。
A.public abstract class Animal{
public void speak();}
B.public abstract class Animal{
public vold speak()();}
C.public class Animal{
pubilc abstract void speak();}
D.public abstract class Animal{
pubilc abstract void speak()();}
25.下列不屬于接口WindowListener的方法是( )。
A.windowClosing()
B.windowClosed()
C.windowMinimized()
D.windowOpened()
26.下列選項(xiàng)中,不能輸出100個(gè)整數(shù)的是( )。
A.for(int i=0;i<100;i++)
System.out.println(i);
B.int i=0;
do{
System.out.println(i);
i++:
}while(i<100);
C.int i=0:
while(i<100){
System.out.println(i);
i++:
}
D.int i=0:
while(i<100){
i++:
if(i<100)continue:
System.out.println(i);
}
27.類變量必須帶有的修飾符是( )。
A.static
B.final
C.public
D.volatile
28.下列選項(xiàng)中屬于字符串常量的是( )。
A.·abc·
B."abe"
C.[abc]
D.(abc)
29.Java程序默認(rèn)引用的包是( )。
A.java.text包 B.java.awt包
C.java.lang包D.java.util包
30.為使下列代碼正常運(yùn)行,應(yīng)該在下畫線處填入的選項(xiàng)是( )。
ObjectInputStream In=
new (new FilelnputStream("employee.
doc"));
Employee[]newstaff=(Employee[])in.readObject
();
In.close();
A.Reader
B.InputStream
C.Objectlnput
D.ObjectlnputStream
31.下列代碼將對(duì)象寫入的設(shè)備是( )。
ByteArrayOutputStream bout=new ByteArrayOut-
putStream();
ObjectOutputStream out=new ObjectOutputStream
(bout);
out.writeObject(this);
out.close();
A.內(nèi)存
B.硬盤
C.屏幕
D.網(wǎng)絡(luò)
32.為使下列代碼正常運(yùn)行,應(yīng)該在下畫線處填入的選項(xiàng)是( )。
int[]numbers=new int[n];
for(int i=0;i numbers[i]=i+1:
A.size B.length
C.dimension D.measurement
33.為使下列代碼正常運(yùn)行,應(yīng)該在下畫線處填入的選項(xiàng)是( )。
abstract class person{
public Person(String n){
name = n:
}
public String getDescription();
public String getName(){
return name;
}
private string name;
}
A.static
B.private
C.abstract
D.final
34.下列能夠正確創(chuàng)建線程的方法是(. )。
Ⅰ.繼承java.lang.Thread類,并重寫run()方法
Ⅱ.繼承java.lang.Runnable類,并重寫start()方法
Ⅲ.實(shí)現(xiàn)java.1ang.Thread接口,并實(shí)現(xiàn)run()方法
IV.實(shí)現(xiàn)java.lang.Runable接口,并實(shí)現(xiàn)run()方法
A.Ⅰ,Ⅲ B.Ⅱ,IV
C.Ⅱ,Ⅲ D.I,IV
35.下列線程狀態(tài)轉(zhuǎn)換序列,在線程實(shí)際運(yùn)行中可能出現(xiàn)的序列是( )。
A.新建→運(yùn)行→阻塞→終止
B.……運(yùn)行→阻塞→可運(yùn)行→終止
C.……可運(yùn)行→運(yùn)行→阻塞→運(yùn)行……
D.新建→可運(yùn)行→運(yùn)行→阻塞→可運(yùn)行……
36.為了支持壓棧線程與彈棧線程之間的交互與同步,應(yīng)
在下畫線處填入的選項(xiàng)是( )。
public class StackTest{
private int idx=0;
private int[]data=new int[8]
public void push(int i){
synchronized(this){
;
data(idx)=i:
idx++:
}
}
}……
A.this.notify()
B.interrupt()
C.this.wait()
D.sleep()
37.對(duì)下列程序的敘述中,正確的是( )。
1)public class X extends Thread implements Runnable{
2)public void run(){
3)system.out.println("this is run()");
4)}
5)public static void main(String args[]){
6)Thread t=new Thread(new X());
7)t.start();
8)}
9)}
A.第l行會(huì)產(chǎn)生編譯錯(cuò)誤
B.第6行會(huì)產(chǎn)生編譯錯(cuò)誤
C.第6行會(huì)產(chǎn)生運(yùn)行錯(cuò)誤
D.程序正常運(yùn)行
38.下列關(guān)于Applet的敘述中,正確的是( )。
A.Applet不僅可以嵌入到瀏覽器中運(yùn)行,還可以獨(dú)立運(yùn)行
B.Applet的主類要定義為Applet類或JApplet類的子類
C.同一個(gè)頁(yè)面中的Applet之間不能通信
D.Applet不支持多線程
39.當(dāng)一個(gè)Applet所在的Web頁(yè)面被其他頁(yè)面覆蓋后,不可能被調(diào)用的Applet方法是( )。
A.destroy()
B.init()
C.stop()
D.start()
二、基本操作題(共18分)
本題分別比較兩個(gè)字符串"A"和"a"是否相等,并比較兩個(gè)字符"A"和"a"是否相等,并輸出比較結(jié)果。
public class javal{
public static void main(String[]args){
;
cl=’A ’;c2=’a’;
String strl=new String("A"),str2=new String
("a"):
if( )
System.Out.println("char"+c1+"equals"+"char"
+c2);
else
System.OUt.println("char"+cl+"doesn’t equal
"+"char"+c2);
if( )
System.out.println("string"+strl+"equals"+
"string"+str2):
else
System.OUt.println("string"+strl+"doesn’t e-
qual"+"string"+str2); .
}
}
三、簡(jiǎn)單應(yīng)用題(共24分)
本題是一個(gè)Applet,頁(yè)面上有一個(gè)按鈕“請(qǐng)單擊”,單擊該按鈕后彈出一個(gè)對(duì)話框,對(duì)話框上有三個(gè)按鈕“橙色”、“藍(lán)色”和“紅色”,單擊其中任意一個(gè)按鈕,則可以將對(duì)話框的背景色設(shè)置為按鈕名稱所對(duì)應(yīng)的顏色。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class java2 extends JApplet
{
private JFrame framet;
()
{
frame=new JFrame();
frame.setTitle("java2");
frame.setSize(300,200);
frame.getContentPane().add(new ButtonPanel
());
JButton PopButton=new JButton("請(qǐng)單擊");
getContentPane().add(PopButton);
PopButtom addActionListener(new ActionListener();
{
public void actionPerformed(ActionEvent evt)
{
if(frame.isVisible())frame.setVisible(false);
else ;
}
});
}
}
class ButtonPanel extends JPanel
{
private class ColorAction implements ActionLis-
tener
{
private Color backgroundColor;
public void actionPerformed(ActionEvent action-
event)
{
setBackground(backgroundColor);
repaint();
}
public ColorAction(Color color)
{
backgroundColor=color;
}
}
public ButtonPanel()
{
JButton jbutton=new JButton("橙色");
JButton jbuttonl=new JButton("藍(lán)色");
JButton jbutton2=new JButton("紅色");
add(jbutton);
add(jbuttonl);
add(jbutton2);
ColorAction coloraction=new ColorAction(Color.orange);
ColorAction coloractionl=new ColorAction(Color.blue);
ColorAction coloraetion2=new ColorAction(Color.red);
ibutton.addActionListener(coloraction);
ibuttonl.addActionListener(coloractionl);
jbutton2.addActionListener(coloraction2);
}
}
四、綜合應(yīng)用題(共18分)
本題的功能是用按鈕來(lái)控制文本框中文本的顏色。窗口中有兩個(gè)帶有文字標(biāo)題的面板“Sample text”和“Text color control”,窗口的底部還有一個(gè)復(fù)選按鈕“Disable changes”。在“Sample text”面板中有一個(gè)帶有字符串的文本框,而在“Text color control”面板中有三個(gè)按鈕:“Black”、“Red”和“Green”,并且每個(gè)按鈕上都有一個(gè)對(duì)應(yīng)顏色的圓。單擊任意按鈕,文本框中的文本變成對(duì)應(yīng)的顏色,如果選中“Disable changes”復(fù)選項(xiàng),則三個(gè)顏色按鈕變?yōu)椴豢捎?,如果取消選中復(fù)選項(xiàng),則三個(gè)按鈕變?yōu)榭捎谩?BR> import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class java3 extends JFrame{
private JPanel upper,middle,lower;
private JTextField text;
private JButton black,red,green;
private JCheckBox disable;
public java3(String titleText){
super(titleText);
addWindowListener(new WindowAdapter(){
public void
windowClosing(WindowEvent e){
System.exit(0);
}
}
);
upper=new JPanel();
upper.setBorder(BorderFactory.ereateTitledBor-
der("Sample text"));
upper.setlayout(new BorderLayout());
text=new JTextField("Change the color of this
text"):
upper.add(text,BorderLayout.CENTER);
middle=new JPanel();
middle.setBorder(BorderFactory.createTitledBor-
der("Text color control"));
middle.setLayout(new FlowLayout(FlowLayout.
CENTER)):
black=new JButton("Black",new ColorIcon
(Color.black));
black.addActionListener( new ButtonListener
(Color.black));
middle.add(black);
red=new JButton("Red",new ColorIcon(Col-
or.red));
red.addActionListener(new ButtonListener(Col-
or.red));
middle.add(red);
green=new JButton("Green",new ColorIcon
(Color.green));
green.addActionListener(new ButtonListener
(Color.green));
middle.add(green);
lower=new JPanel();
lower.setLayout(new FlowLayout(FlowLayout.
RIGHT));
disable=new JCheckBox("Disable changes"):
disable.addItemListener(new ItemListener()(
public void itemStateChanged(ItemEvent e){
boolean enabled
=(e.getStateChange()
= =ItemEvent.DESELECTED):
black.setEnabled(enabled);
red.setEnabled(enabled);
green.setEnabled(enabled);
}
}
);
lower.add(disable);
Container cp=getContentPane();
cp.add(upper,BorderLayout.NORTH);
cp.add(middle,BorderLayout.CENTER);
cp.add(10wer,BorderLayout.SoUTH);
pack();
setVisible(true);
}
class ButtonListener extends ActionListener{
private Color c;
public ButtonListener(Color c){
this.c=c;
}
public void actionPerformed(ActionEvent e){
text.setForeground(c);
}
}
class ColorIcon implements Icon{
private Color c;
private static final int DIAMETER=10;
public ColorIcon(Color c){
c=c;
}
public void paintlcon(Component cp,Graphics g,
int x,int y){
g.setColor(c);
g.fillOval(X,y,DIAMETER,DIAMETER);
g.setColor(Color.black);
g.drawOval(x,y,DIAMETER,DIAMETER);
}
public int getlconHeight(){
return DIAMETER;
}
public int getlconWidth(){
return DIAMETER;
}
}
public static void main(String[]args){
new java3("advance");
}
}

