上试题JAVA语言.docx
- 文档编号:4663935
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:16
- 大小:74.87KB
上试题JAVA语言.docx
《上试题JAVA语言.docx》由会员分享,可在线阅读,更多相关《上试题JAVA语言.docx(16页珍藏版)》请在冰点文库上搜索。
上试题JAVA语言
2015年(上)全国信息技术水平考试计算机程序设计技术水平证书(JAVA语言)考试试卷
第一大题:
单选题
(30分)
1.(1分)
Java语言中,char类型占用的二进制位数是(B)。
UnicodeUTF-16
A.8位
B.16位
C.32位
D.与机器有关
2.(1分)
不能被再继承的类是(A)。
A.final类
B.abstract类
C.public类
D.用户自定义类
final:
1、修饰类,当final修饰类时此类不能被继承
2、修饰类成员变量,当final修饰类成员变量时表示此变量的值不能修改,等同于常量,经常和static一起用
3、修饰类成员方法,当final修饰类成员方法时表示此方法不能在子类中被覆盖,可以在子类中继承
3.(1分)
以下Swing提供的GUI组件类和容器类中,不属于顶层容器的是(D)。
A.JFrameBorderLayout
B.JApplet
C.JDialog
D.JMenu
JPanelFlowLayout
4.(1分)
阻塞状态的线程在消除引起阻塞的原因后,会转入(C)。
A.死亡状态
B.开始状态
C.就绪状态
D.运行状态
线程的生命期阶段:
新建(new),就绪(start()),运行(run()),阻塞(sleep(),wait()),死亡
5.(1分)
表达式"java程序设计".1ength()的值是(C)。
A.0
B.12
C.8
D.13
s=”hello”;
s1=”hello”;
s2=newString(“hello”);
s==s1
s.equals(s2)
6.(1分)
在switch语句中,switch后面括号内的表达式的类型不能是()。
A.byte
B.long
C.char
D.int
7.(1分)
执行以下代码,输出结果是()。
intx=5,y=7,u=9,v=6;
System.out.println(x>y?
x+2:
u>v?
u-3:
v+2);
A.8
B.6
C.7
D.true
8.(1分)
Java语言中,只限子类或者同一包中的类能访问的访问控制符是()。
A.public
B.private
C.protected
D.<无修饰>
public关键字修饰顶层类表示这个类是公共的,可以被当前包中的其他类访问,也可以被其他包中的类访问,其他包中的类必须先import导入该类才能访问。
如果没有用public修饰类,表示当前类是包访问级别,只能被同一个包中的类访问。
public,private,protected关键字可以修饰类的成员
Stringname;没有任何访问控制符修饰表示包访问级别,属性name能被当前类和在同一个包中的其他类访问。
publicname;公共的,能被当前类和类外部任何一个地方访问。
privatename;私有的,只能在当前类内部访问,其他任何地方都不可访问。
protectedname;保护型,在当前类内部访问,同一个包中的其他类访问,所有的子类访问
9.(1分)
在Java的类库中,包含实现输入/输出操作的包是()。
A.java.util
B.java.io
C.java.applet
D.java.awt
javax.swing.*;
java.awt.event.*;
.*;
java.lang.*;
10.(1分)
在以下供选择的概念中,不属于面向对象语言概念的是()。
A.消息
B.模块
C.继承
D.多态性
抽象性,封装性,多态性,继承性
11.(1分)
在下述Java语言语句中,错误的创建数组的方法是()。
A.intintArray[];intArray=newint[5];
B.intintArray[]=newint[5];
C.int[]intArray={1,2,3,4,5};
D.intintArray[5]={1,2,3,4.5};
12.(1分)
以下是关于字符串运算的代码,执行该代码段的输出结果是()。
Strings="0123456789";
Stringsl=s.substring
(2);
Strings2=s.substring(2,5);
System.out.println(sl+s2);
A.0122345
B.234567892345
C.012234
D.23456789234
13.(1分)
在以下供选择的方法中,能让线程从阻塞状态恢复到就绪状态的方法是()。
A.start()
B.init()
C.resume()
D.run()
14.(1分)
设类U声明,及对象u和v的定义如下:
classU{
intx,inty;
U(inta,intb){x=a;y=b;}
voidcopy(Ua){x=a.x;y=a.y;}
}
Uu=newU(1,2),v=newU(2,3);
在以下供选择的代码中,可能引起系统回收内存的是()
A.u.x=v.y;u.y=v.x;
B.u=v;
C.u.copy(v);
D.v.copy(u);
15.(1分)
以下关于AWT与Swing之间关系的叙述,正确的是()。
A.Swing是AWT的提高和扩展
B.在写GUI程序时,AWT和Swing不能同时使用
C.AWT和Swing在不同的平台上都有相同的表示
D.AWT中的类是从Swing继承的
16.(1分)
程序如果要按行输入输出文件的字符流,最合理的方法是采用()。
A.BufferedReader类和BufferedWriter类
B.InputStream类和OutputStream类
C.FileReader类和FileWriter类
D.File_Reader类和File_Writer类
17.(1分)
用Thread子类实现多线程的步骤顺序是( )。
A.声明Thread类的子类,创建Thread子类的实例,让线程调用start()方法
B.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例
C.创建Thread子类的实例,让线程调用start()方法
D.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让线程调用start()方法
18.(1分)
参照以下Java代码,以下四个叙述中最确切的是( )。
classA{
intx;
staticinty;
voidfac(Strings){Syatem.out.println("字符串:
"+s);}
}
A.x、y和s都是成员变量
B.x是实例变量、y是类变量、s是局部变量
C.x和y是实例变量、s是参数
D.x、y和s都是实例变量
19.(1分)
给出下面的代码片断:
1)Stringstr=null;
2)if((str!
=null)&&(str.length()>10)){
3)System.out.println("morethan10");
4)}
5)elseif((str!
=null)&(str.length()<5)){
6)System.out.println("lessthan5");
7)}
8)else{System.out.println("end");}
哪一行将导致错误?
( )
A.line1
B.line2
C.line5
D.line8
20.(1分)
给出下面的代码:
publicclassPerson{
staticintarr[]=newint[10];
publicstaticvoidmain(Stringa[]){
System.out.println(arr[1]);
}
}
以下哪个叙述是正确的?
()
A.编译时将发生错误。
B.编译时正确但是运行时出错。
C.输出为0。
D.输出为null
整型数组作为类的成员变量或局部变量其元素默认初始值为0;
21.(1分)
publicclassParent{
publicintaddValue(inta,intb){
ints;
s=a+b;
returns;
}
}
classChildextendsParent{}
以下哪个方法可以加入到类Child中?
( )
A.intaddValue(inta,intb){//dosomething...}
B.publicvoidaddValue(intx){//dosomething...}
C.publicvoidaddValue(intx,inty){//dosomething...}
D.publicintaddValue(inta,intb)throwsException{//dosomething...}
方法重写override:
在类的继承中,在子类中定义跟父类同名的方法会覆盖父类的方法,覆盖方法必须跟父类中同名的方法具有相同名称,相同的返回值,相同的参数列表,覆盖方法的访问权限不能低于被覆盖方法,
覆盖方法不能抛出比被覆盖方法更多的异常。
重写override属于动态多态,在程序运行的时候确定调用哪个方法。
22.(1分)
下面哪个java源文件代码片断是错误的( )。
A.packagetestpackage;
publicclassTest{//dosomething...}
B.importjava.io.*;
packagetestpackage;
publicclassTest{//dosomething...}
C.importjava.io.*;
classPerson{//dosomething...}
publicclassTest{//dosomething...}
D.importjava.io.*;
importjava.awt.*;
publicclassTest{//dosomething...}
23.(1分)
执行完下列代码后,c的值是( )。
inta=3;
charb='5';
charc=(char)(a+b);
A.’8’
B.53
C.8
D.56
24.(1分)
为了区分类中重载的同名的不同方法,要求()。
A.采用不同的形式参数列表
B.返回值类型不同
C.调用时用类名或对象名做前缀
D.参数名不同
25.(1分)
publicvoidtest(){
try{
testMethod();
System.out.println("condition1");
}catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("condition2");
}catch(Exceptione){
System.out.println("condition3");
}finally{
System.out.println("finally");
}
}
在testMethod()方法运行抛出空指针异常的情况下将输出什么()。
A.condition1
finally
B.condition1
condition2
finally
C.condition3
finally
D.finally
26.(1分)
classParent{
Stringone,two;
publicParent(Stringa,Stringb){
one=a;
two=b;
}
publicvoidprint(){
System.out.println(one);
}
}
publicclassChildextendsParent{
publicChild(Stringa,Stringb){
super(a,b);
}
publicvoidprint(){
System.out.println(one+"to"+two);
}
publicstaticvoidmain(Stringargs[]){
Parentp=newParent("south","north");
Parentt=newChild("east","west");
p.print();
t.print();
}
}
关于以上程序的输出哪一个是正确的( )。
A.编译时出错
B.south
east
C.southtonorth
easttowest
D.south
easttowest
27.(1分)
编译和运行下面代码后显示的结果是()。
importjava.awt.*;
publicclassTestextendsFrame{
publicstaticvoidmain(Stringargv[]){
TestMyButton=newTest();
}
publicTest(){
ButtonHelloButton=newButton("Hello");
ButtonByeButton=newButton("Bye");
add(HelloButton);
add(ByeButton);
setSize(300,300);
setVisible(true);
}
}
A.2个按钮并排占据整个窗体,左边是Hello按钮,右边是Bye按钮
B.Hello按钮占据整个窗体
C.Bye按钮占据整个窗体
D.Hello和Bye按钮都位于窗体的上部
28.(1分)
下列说法正确的是()。
A.final可修饰类、属性、方法
B.abstract可修饰类、属性、方法
C.定义抽象方法需有方法的返回类型、名称、参数列表和方法体
D.用final修饰的变量,在程序中可对这个变量的值进行更改
29.(1分)
下列常见的系统定义的异常中,有可能是网络原因导致的异常是()。
A.ClassNotFoundException
B.IOException
C.FileNotFoundException
D.UnknownHostException
30.(1分)
Set集合遇到重复的元素,处理的方式是()。
A.试图添加一个重复的元素时,会抛出一个异常
B.试图添加一个重复的元素时,重复元素将不能被加入
C.一个set可以包含重复元素
D.编译的时候,重复的元素会导致错误
第二大题:
实践题(70分)
1.程序逻辑题(20分)
问题描述:
父亲对儿子说:
"做对一道题给8分,做错一道题扣5分。
"做完26题后,儿子得0分,请问儿子做对了几题?
(备注:
考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。
文件夹中的文件命名参照提示所给的程序架构。
例:
第一题的试题文件夹名为“1”,文件名为“Exam1.java”,对应的字节码文件为:
Exam1.class。
)
2.程序界面设计(25分)
问题描述:
一个应用程序,界面如下图所示,其功能为实现摄氏温度和华氏温度的相互转换,在左边文本框中输入待转换的温度值,单击任意一个转换按钮在右边文本框中将显示转换后的温度值。
注:
华氏温度(F)=摄氏温度(C)×9/5+32
程序结构如下:
importjavax.swing.*;
importjava.awt.event.*;
publicclassExam2extendsJFrameimplementsActionListener{
//声明面板、文本框和按钮
publicExam2(){
//构造方法
}
publicvoidactionPerformed(ActionEvente){
//事件处理方法
}
publicstaticvoidmain(String[]args){
newExam2();
}
}
(备注:
考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。
文件夹中的文件命名参照提示所给的程序架构。
例:
第一题的试题文件夹名为“1”,文件名为“Exam1.java”,对应的字节码文件为:
Exam1.class。
)
3.多线程应用(25分)
问题描述:
启动两个线程,每个线程均输出线程名和系统当前日期时间各5次,名为“FastThread”的线程每隔1秒钟输出,名为“SlowThread”的线程每隔3秒钟输出。
输出结果如下图所示:
程序结构如下:
importjava.util.*;
classMyThreadextendsThread{
//定义线程类
}
publicclassExam3{
publicstaticvoidmain(String[]args){
//创建并启动线程
}
}
(备注:
考生按照系统提示目录保存试题文件,每道试题建立一个文件夹,文件夹名为题目编号。
文件夹中的文件命名参照提示所给的程序架构。
例:
第一题的试题文件夹名为“1”,文件名为“Exam1.java”,对应的字节码文件为:
Exam1.class。
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 试题 JAVA 语言