计算机二级考试试题样卷-Java语言程序设计
一、选择题((1)~(35)每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项【xiàng】中,只有一【yī】个【gè】选项是正确的,请将正【zhèng】确【què】选项【xiàng】涂写在答题【tí】卡相应位置上【shàng】,答在试卷上不得分【fèn】。
(1)下列选项中不符合良好程序设计风格的是
A)源【yuán】程序【xù】要文档化 B)数据【jù】说明的次序要规范化【huà】
C)避免滥【làn】用goto语【yǔ】句 D)模块设【shè】计要保证高耦合、高内聚
(2)从工程管理角度,软件设计一般分为两步完成,它们是
A)概要设计与【yǔ】详细设计 B)数据设计与接【jiē】口设【shè】计
C)软件结构设计【jì】与数据设计 D)过程【chéng】设计与数据【jù】设【shè】计
(3)下列选项中不属于软件生命周期开发阶段任务的是
A)软件测试 B)概【gài】要设计【jì】 C)软件维护 D)详【xiáng】细设计【jì】
(4)在数据库系统中,用户所见的数据模式为
A)概【gài】念模式【shì】 B)外模式 C)内模式 D)物理模式【shì】
(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和
A)编码设计 B)测试阶段 C)运行阶段 D)物理设计
(6)设有如下三个关系表
下列操作中正确的是
A)T=R∩S B)T=R∪S
C)T=R×S D)T=R/S
(7)下列叙述中正确的是
A)一个算法的空间复杂度大,则其时间复杂度也必定大
B)一个算法的空间复杂度大,则其时间复杂度必定小
C)一个算法的时间复杂度大,则其空间复杂度必定小
D)上述三种说法都不对
(8)在长度为64的有序线【xiàn】性表【biǎo】中进【jìn】行顺序查找,最坏【huài】情【qíng】况下需要比较的次【cì】数【shù】为
A)63 B)64 C)6 D)7
(9)数据库技术的根本目标是要解决数据的
A)存【cún】储问【wèn】题 B)共享问题 C)安全问题 D)保护问题
(10)对下列二叉树
进行中序遍历的结果是
A)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG
(11)运行Java程序需要的工具软件所在的目录是
A)JDK的bin目录 B)JDK的【de】demo目录【lù】
C)JDK的【de】lib目录 D)JDK的jre目录【lù】
(12)下列关于Java语言特点的叙述中,错误的是
A)Java是面向过程的编程语言
B)Java支持分布式计算
C)Java是跨平台的编程语言
D)Java支持多线程
(13)Java的核心包中,提供编程应用的基本类的包是
A)java.lang B)java.util C)java.applet D)java.rmi
(14)下【xià】列关于Java对import语【yǔ】句【jù】规【guī】定的叙述中,错误的【de】是
A)在Java程序中import语句可以有多个
B)在Java程序中import语句可以没有
C)在Java程序中import语句必须有一个
D)在Java程序中import语句必须引入在所有类定义之前
(15)在编译【yì】Java程序时,用于指定生成.class文件【jiàn】位【wèi】置【zhì】的【de】选项是
A)-g B)-d C)-verbose D)-nowarn
(16)阅读下面程序
import java.io.*;
public class TypeTransition{
public static void main(String args[]){
char a = 'h';
int i = 100;
int j = 97;
int aa = a + i;
System.out.println("aa="+aa);
char bb = (char)j;
System.out.println("bb="+bb);
}
}
如果输出结果的第二行为bb=a,那么第一行的输出是
A)aa=I B)aa=204 C)aa=v D)aa=156
(17)阅读下面程序
public class OperatorsAndExpressions {
void equalsMethod1(){
String s1=new String("how are you");
String s2=new String("how are you");
System.out.println(s1==s2);
}
public static void main(String args[]){
OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions();
//用于复合类型数据的“==”运算符
OperAndExp. equalsMethod1();
}
}
程序运行结果是
A)== B)true C)false D)equal
(18)阅读下面代码
if(x==0){System.out.println("冠军");}
else if (x>-3){System.out.println("亚军");}
else { System.out.println("季军");}
若要求打印字符串“季军”,则变量x的取值范围是
A)x=0 & x<=-3 B)x>0 C)x>-3 D)x<=-3
(19)下列关于构造方法的叙述中,错误的是
A)Java语言规定构造方法名与类名必须相同
B)Java语言规定构造方法没有返回值,但不用void声明
C)Java语言规定构造方法不可以重载
D)Java语言规定构造方法只能通过new自动调用
(20)阅读下面程序
import javax.swing.JOptionPane;
public class Comparison {
public static void main( String args[] ){
String firstNumber, //用【yòng】户输入第【dì】1个数据变量
secondNumber, //用户输【shū】入第2个【gè】数据变【biàn】量
result; //输【shū】出结果变量【liàng】
int number1, //用于比较的【de】第1个数【shù】
number2; //用【yòng】于【yú】比较的第2个数
//用户输入第1个数据的字符串
firstNumber = JOptionPane.showInputDialog( "输入第【dì】1个整【zhěng】数:" );
//用户输入第2个数据的字符串
secondNumber = JOptionPane.showInputDialog( "输入第2个整数【shù】:" );
//将字符串转换为整数类型
number1 = Integer.parseInt( firstNumber );
number2 = Integer.parseInt( secondNumber );
//初始化结果变量
______________________;
//比较两个数据
if ( number1 == number2 )
result += number1 + " == " + number2;
if ( number1 != number2 )
result += number1 + " != " + number2;
if ( number1 < number2 )
result = result + "\n" + number1 + " < " + number2;
if ( number1 > number2 )
result = result + "\n" + number1 + " > " + number2;
if ( number1 <= number2 )
result = result + "\n" + number1 + " <= " + number2;
if ( number1 >= number2 )
result = result + "\n" + number1 + " >= " + number2;
//显示结果
JOptionPane.showMessageDialog(null,result,"比较【jiào】结果",
JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
}
}
为使程序【xù】能正【zhèng】确运行并得【dé】到【dào】合理的输出结果,初始化【huà】结果变量语句(下划线处【chù】)应是
A)result = "" B)result = null
C)result = number1 D)result = number2
(21)阅读下面程序
public class Increment {
public static void main( String args[] ){
int c;
c = 5;
System.out.println( c );
System.out.println( c++ );
System.out.println( c );
}
}
程序运行结果是
A)5 B)5 C)6 D)6
6 5 7 6
6 6 7 6
(22)下列叙述中,错误的是
A)Java Application与【yǔ】Applet所用编译命【mìng】令相【xiàng】同
B)通常情【qíng】况下【xià】Java Application只【zhī】能有一个main()方法
C)Java Applet必须有HTML文件才能运行
D)Java Applet程【chéng】序的【de】.class文件可用java命令运行
(23)下列关于Java语言中线程的叙述中,正确的是
A)线程是由代码、数据、内核状态和一组寄存器组成
B)线程间的数据是不共享的
C)用户只能通【tōng】过创【chuàng】建Thread类的实例【lì】或【huò】定义、创建【jiàn】Thread子类的实例建立和控制自己的线程
D)因多线程并【bìng】发执行而引【yǐn】起的执行【háng】顺序的不确定性【xìng】可能【néng】造成执行【háng】结【jié】果的不确定
(24)阅读下面程序
import javax.swing.JOptionPane;
public class BreakLabelTest {
public static void main( String args[] ){
String output = "";
stop: {
for ( int row = 1; row <= 10; row++ ) {
for ( int column = 1; column <= 5 ; column++ ) {
if ( row == 5 )
break stop;
output += "* ";
}
output += "\n";
}
output += "\nLoops terminated normally";
}
JOptionPane.showMessageDialog(
null, output,"用一个标志测试break语句",
JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
}
}
程序运行结果是
A)窗口中有5行* * * * *
B)窗口中有5行* * * *
C)窗口中有4行* * * * *
D)窗口中有6行* * * * *
(25)处理对象传输的接口是
A)Serializable B)Cloneable C)ItemListener D)ActionListener
(26)在读取二进【jìn】制【zhì】数据【jù】文件的记录时,为了提高效率常常使用一种【zhǒng】辅助类
A)InputStream B)FileInputStream C)StringBuffer D)BufferedReader
(27)可以使当前同级线程重新获得运行机会的方法是
A)sleep() B)join() C)yield() D)interrupt()
(28)阅读下面程序
1 public class Try extends Thread{
2 public static void main(String args[ ]){
3 Try t = new Try( );
4 t.start( );
5 }
6
7 public void run( int j){
8 int i = 0;
9 while(i<5){
10 System.out.println("祝你成功!");
11 i++;
12 }
13 }
14 }
该程序【xù】要求打印5行“祝【zhù】你【nǐ】成功!”,必须改正程序中的某【mǒu】行【háng】代码,程序才能完成【chéng】。选择正确的修改【gǎi】是
A)将第1行的【de】extends Thread改为implements Runnable
B)将第3行的new Try()改为new Thread()
C)将第4行t.start()改为start(t)
D)将第7行的public void run( int j) 改为public void run()
(29)下【xià】列事件监听器中,无法对【duì】TextField对象进行事件监听和【hé】处【chù】理的【de】是
A)ActionListener B)FocusListener
C)MouseMotionListener D)ChangeListener
(30)Swing的选项面板是
A)JTabbedPane B)JLayeredPane C)JScrollPane D)JSplitPane
(31)每个Java小应用程序必须定义为
A)Applet类【lèi】或JApplet类的子类 B)JFrame类的子类【lèi】
C)Frame的子类【lèi】 D)Window的子类【lèi】
(32)在【zài】Applet的init()方法被调用【yòng】后,接下来最先被【bèi】调用的【de】方法是【shì】
A)run() B)start() C)stop() D)destroy()
(33)下列关于Applet的安全限制的叙述中,错误的是
A)通常情况下,禁止Applet读、写本地文件系统
B)通常情况下,禁止Applet向Applet源【yuán】主机之【zhī】外的任【rèn】何主机【jī】建立网络连【lián】接
C)通常情况下,禁止Applet读取系统信息
D)通常情况下,禁止Applet加载本地库或方法
(34)下列标识符(名字)命名原则中,正确的是
A)类名的首字母小写 B)变量和方法名的首字母大写
C)接口【kǒu】名的首字母【mǔ】小写 D)常量完全大【dà】写【xiě】
(35)提【tí】供showDocument()方法【fǎ】,使Applet能够请求浏览器访问特定URL的类【lèi】是
A)Applet B)AppletContext C)JApplet D)URL
二、填空题(每空2分,共30分)
请将每一个【gè】空的正确【què】答案写在【zài】答题卡【1】~【15】序号的横线上,答【dá】在试卷【juàn】上不得分【fèn】。注意:以【yǐ】命令关【guān】键字填【tián】空的必须拼写完整。
(1)下列软件系统结构图
的宽度为 【1】 。
(2) 【2】 的【de】任务【wù】是诊断和改正程序中的错【cuò】误【wù】。
(3)一【yī】个【gè】关系【xì】表的行称为【wéi】 【3】 。
(4)按“先进后出【chū】”原【yuán】则【zé】组织数据的数据结【jié】构是 【4】 。
(5)数据结构分为线【xiàn】性结构和非线性结构,带链的队列属于 【5】 。
(6)若想在程【chéng】序中使用JLabel类,则该程【chéng】序可以使用【yòng】import 【6】 .JLabel;语句引入JLabel类。
(7)在Java中,3.14156D表示的【de】是【shì】 【7】 数。
(8)阅读下列代码
public class Test2{
public static void main(String args[]){
System.out.println(5/2);}}
其执行结果是 【8】 。
(9)阅读下列代码段
int x=3;
while (x<9)
x+=2;
x++;
while语【yǔ】句成功执行的【de】次数是 【9】 。
(10)Java不直接支持多继承,但可【kě】以【yǐ】通【tōng】过 【10】 实【shí】现多继承。
(11)在下【xià】列程序【xù】的下划线处,填【tián】入适当语【yǔ】句使程序【xù】能正确执行并输出异常【cháng】栈信息。
public class ThrowableException{
public static void main(String args[]){
try{
throw new Throwable("这里是本人定【dìng】义【yì】的异常【cháng】");
}catch(Throwable e){
System.out.println("Caught Throwable");
System.out.println("e.getMessage(): "+e.getMessage());
System.out.println("e.toString(): "+e.toString());
System.out.println("e.printStackTrace(): ");
【11】 ;}}}
(12)在java.io包【bāo】中有某个类同时实现【xiàn】了DataInput接口和DataOutput接【jiē】口,这【zhè】个类
是 【12】 。
(13)在Java程序【xù】中,主【zhǔ】线程一般具有 【13】 优先级【jí】。
(14)当实现Runnable接口时,要【yào】实现的方【fāng】法是 【14】 。
(15)mouseDragged()方【fāng】法是【shì】MouseMotionListener接【jiē】口中的【de】抽象方法,该方法的参数
是 【15】 类。