程序员认证考试题库_高级程序员考试题库
程序员认证考试题库由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“高级程序员考试题库”。
第一部分 基础知识练习 目标
本章对应于《学生指南》各章的内容分别提供了练习题集,包括:
●
第一章Java入门
●
第二章数据类型和运算符
●
第三章流程控制与数组
●
第四章封装
●
第五章继承
●
第六章抽象类与接口
●
第七章多态
●
第八章异常
●
第九章多线程机制
●
第十章输入输出流
●
第十一章使用泛型和集合框架
●
第十二章基于Swing的图形用户界面(GUI)设计
●
第十三章Java事件驱动编程
1-1
第一章练习题(Java入门)
1.下列哪项不是JDK所包含的内容?(选一项)
A.Java编程语言
B.工具及工具的API
C.Java EE扩展API
D.Java平台虚拟机
2.下列关于JDK、JRE和JVM的描述。哪项正确?
A.JDK中包含了JRE,JVM中包含了JRE
B.JRE中包含了JDK,JDK中包含了JVM
C.JRE中包含了JDK,JVM中包含了JRE
D.JDK中包含了JRE,JRE中包含了JVM
3.下列哪个工具可以编译java源文件?
A.javac
B.jdb
C.javadoc
D.junit
4.JDK工具javadoc的作用是哪项?
A.生成Java文档
B.编译Java源文件
C.执行Java类文件
D.测试Java代码
5.以下哪些包是Java标准库中常用的包?(选三项)
A.java.lang
B.javax.servlet.http
C.j ava.io D.java.sql
1-2
6.使用JDK工具生成的Java文档的文件格式是? A.XML格式 B.自定义格式 c.二进制格式 D.HTML格式
7.以下关于JVM的叙述,哪项正确?(选两项)A.JVM运行于操作系统之上,它依赖于操作系统 B.JVM运行于操作系统之上,它与操作系统无关
C.JVM支持Java程序运行,它能够直接运行Java字节码文件 D.JVM支持Java程序运行,它能够直接运行Java源代码文件
8.以下关于支持Java运行平台的叙述,哪项错误? A.Java可在Solaris平台上运行 B.Java可在Windows平台上运行
C.Java语言与平台无关。Java程序的运行结果依赖于操作系统 D.Java语言与平台无关。Java程序的运行结果与操作系统无关
9.以下关于Applet和Java程序之间关系的叙述,哪项错误? A.-个Applet就是一段Java程序
B.Applet是一种特殊的Java程序,它需要运行在Web服务器上 C.Applet是一种特殊的Java程序,它需要运行在Web浏览器上 D.Applet是一种Java SE平台的应用程序
10.以下关于Java HotSpot的描述,哪两项错误?(选两项)
A.JavaHotSpot是一种热编译技术,在编译Java源程序时会被使用 B.Java HotSpot是一种热编译技术,在运行Java代码时会被使用
C.Java HotSpot是一种热编译技术,它只对程序的部分字节码进行优化 D.Java HotSpot是一种热编译技术,它会对程序的全部字节码进行优化
1-3
11.环境变量PATH中含有多个路径时,路径和路径之间可以用哪项来隔开?
A.:
B.,C.*
D:|
12.CLASSPATH中的“.”的含义是哪项?
A.省略号
B.当前目录
C.所有目录
D.上级目录
13.JVM在执行一个Java类时,大致采用以下过程?
A.执行类中的代码一>装载类一>校验类
B.校验类一>装载类一>执行类中的代码
C.装载类一>执行类中的代码一>校验类
D.装载类一>校验类一>执行类中的代码
14.当运行—个Java程序时,传递参数的格式是哪项?
A. java类名参数1,参数2
B. javac类名参数1参数2
C. java类名参数1参数2
D. java类名参数1+参数2
15.以下关于Java文件名的叙述,正确的有?(选两项)
A.Java源文件的扩展名应为.java
B.Java源文件的文件名应与文件中的类名一致
C. Java字节码文件的扩展名应为.java
D. 一个Java源文件中只能包含一个Java类
1-4
lC
2D
3A
4A
SACD
6D
7AC
8C
9BA DABDCA B
1-5
第二章练习题(数据类型和运算符)
1.下列哪项不属于Java语言的基本数据类型?
A.int
B.String
C.double
D.boolean
2.下列哪项不是int类型的字面量?
A.u03A6
B.077
C.OxABBC
D.20
3.下列哪项不是有效的标识符?
A.userName
B.2test
C.$change
D._paword
4.下列哪项是Java语言中所规定的注释样式?(选三项)
A.//单行注释
B.--单行注释
C.
/*
*单行或多行注释
*/
D.
/**
*文档注释
*/
5.下列哪项不是Java语言的关键字?
A.goto
B.sizeof
C.instanceof
D.volatile
1-6
6.现有如下五个声明:
Linel: int a_really_really_really_long_variable_name=5;
Line2: int _hi=6;
Line3: int big=Integer.getlnteger(“7”);
Line4:int $dollars=8;
line5: int %opercent=9;
哪行无法通过编译?
A.Line1
B.Line3
C.Line4
D.Line5
7.现有:
1.cla Top {
2.static int x=l;
3.public Top(int y){
x*=3;}
4.}
5.cla Middle extends Top {
6.public Middle(){x+=1;}
7.public static void main(String [] args)
8.Middle m = new Middle();
9.System.out.println(x);
IO.}
II.}
结果为:
A.1
B.2
C.3
D.编译失败
8.现有:
1.cla Paer f
2.static final int X=5;
3.public static void main(String [] args){
4.new Paer().go(x);
5.System.out.print(x);
6,)
7.void go(int x){
8.System.out.print(x++);
9.}
10.}
{
1-7
结果是什么?
A.55
B.56
C.65
D.66
9.现有:
1.cla Wrench f
2.public static void main(String [] args){
3.Wrench w=new Wrench();
Wrench w2=new Wrench();
4.w2=go(w, w2);
5.System.out.print(w2==w);
6.}
7.static Wrench go(Wrench wrl, Wrench wr2){
8.Wrench wr3=wrl;wrl=wr2;wr2=wr3;
9.return wr3;
10.}
11.}
结果是什么?
A.false
B.
true
C.编译失败
D.运行的时候有异常抛出
10.现有:
5.cla Wrench2 {
6.int size;
7.public static void main(String [] args){
8.Wrench2 w=new Wrench2();
9.w.size=II;
IO.Wrench2 w2=go(w, w.size);
II.System.out.print(w2.size);
12.)
13.static Wrench2 go(Wrench2 wr.int s){
14.S=12;
15。
return wr;
16.}
17.}
1-8
结果为:
A.11
B.12
c.编译失败。
D.运行时异常被抛出
11.现有:
cla Test2 f
public static void main(String [] args){
short a,b,C;
a=l;
b=2;
C=a+b;
a+=2:
}
}
以上代码中,哪一句是错误的?
A.a=1:
B.C=a+b;
C.
a+=2;
D.short a,b,C;
12.表达式:1-2/5+2 'k5的结果是哪项?
A.10.6
B.9.8
C.9
13.现有代码片段:
String s=”123“;
String sl=S+456;
请问sl的结果是哪项?
A.123456
B.579
C.编译错误
D.运行时抛出异常
1-9
14.基本数据类型float的包裹类是哪项? A. Integer B. Double C. Float D. Character
15.现有:
1.cla Test4 {
2.public static void main(String [] args){
3.boolean X=true;
4.boolean y=false;
5.short Z=42;
6.7.if((z++==42)&&
(y=true))z++;
8.if((x=false)||
(++z==45))z++;
9.10.System.out.println(¨z=”+z);
II.}
12.} 结果为: A.Z=42 B.z=44 C.
Z= 45 D.
z= 46
1-10
第二章练习题
参考答案
1B
2A
3B
4ACD
5B
6D
7D
8A
9BABDACD
1-11
第三章练习题
第三章练习题(流程控制与数组)
1.现有:
cla TestApp{
public static void main(String[] args){
for(int i=0;i
if(i==3)
break;
System.out.print(i);
}
}
}
程序运行后的输出是哪项?
A.0123
B.012456789
C.
0123456789
D.
012
2.程序:
cla
TestApp{
public static void main(String[] args){
int x=6;
if(x>l)
System.out.println(”x>l“);
else if(x>5)
System.out.println(”x>5“);
else if(x
System.out.println(”x
else if(x
System.out.println(“x
else
System.out.println(“以上都不是”);
}
}
上述程序运行后的结果是哪项?
A.x>5
B.x>l
C.
x
D.x
1-12
3.现有:
cla TestApp{
public static void main(String[] args){
int [5]
myarray={ 10, 11, 12, 13, 14);
int sum=0;
for(int x :
myarray)
sum+=x;
System.out.println(”sum= “+sum);
}
}
上述程序运行后的结果是哪项?
A. sum=10
B. sum=70
C. sum=60
D. 运行时抛出异常
4.下列有关数组的声明中,正确的是哪项?(选两项)
A. int s[10];
B. int[10] s;
C. int[5] s={l,2,3,4,5};
D. int s[];
5.已知数组array,其最后一个元素的下标是?
A. array.size
B. array.length-l
C. array.size-l
D. array.length
6.程序:
cla
TestApp{
public static void main(String[] args){
int X=5:
switch(x){
case l:
case 2:
case 3:
System.out.println(“一季度”);
break;
case 4:
case 5:
1-13
case 6:
System.out.println(“二季度”);
break;
default:
System.out.println(“三季度以上”);
break;)
})
上述程序运行后的结果是哪项?
A.一季度
B.二季度
c.三季度以上
D.无输出
7.为将数组myArray的长度由3改为6,现采取以下编码:
int[]myArray=new int [3];
myArray=new int[6];
代码执行后,以下叙述哪项是正确的?
A.数组myArray的长度已由3改为6,其中前3个元素的值不变,后3个元素的值为空。
B.数组myArray的长度已由3改为6,其中前3个元素的值不变,后3个元素
需再经过初始化后才能使用。
C.数组myArray的长度没有变化。
D.数组myArray的长度已由3改为6,原来3个元素的值全部丢失。
8.现有:
1.cla Ifs {
2.public static void main(String [] args){
3.boolean state=false;
4.int i=2;
5.if((++i>2)&&
(state=true))
6.i++;
7.if((++i>4)l l(state=false))
8.i++;
9.System.out.println(i);
10.}
11.}
1-14
结果为:
A.
B.
C.
D.编译失败
9.现有:
3.public cla Tester {
4.public static void main(String[] args){
5.intx-5;
6.Integer xl=x;Integer x2=x;
7.int x3=new Integer(5);
8.system..ut.print(x1.equals(x));
9.system..ut.print(xl==x);
lu.system..ut.print(x2.equals(xl));
11.system..ut.print(x2==xl);
system..ut.print(x2==x3);
system..ut.print(x2.equals(x3));
“
l4.}
15.}
结果为:
A.编译失败
B.falsefalsetruetruetruetrue
C. truetruetruetruetruetrue
D.falsefalsetruetruetruefalse
E.truefalsetruefalsefalsetrue
F.运行时异常被抛出
10.现有:
1.cla Rectangle {
2'
public static V.id main(string [] args)
3.int[]x=(1,2,3);
4.x[1]=(x[1]>1)?x[2]: O;
5.System.out.println(x[1]);
6.}
7.}
{
1-15
结果为:
A.3
B.2
C.1
D.0
11.现有:
1.cla Output(2.public static void main(String[] args)
{
3.int i=5:
4.System.out.print(”4“+i+”“);
5.System.out.print(i+5+”7“);
6.System.out.println(i+”8“);
7.}
8.}
结果为:
A.9722
B.55758
C.
10758
D.
9722
12.以下哪种初始化数组的方式是错误的?
A. String[]names={”zhang“,”wang“,”li“);
B. String names[] =new String [3];
names [O] =”zhang“;names [1] =”wang“;
names [2]
C. String[3] names={”zhang“, ”wang“, ”li“};
D. 以上皆正确
13.现有:
1.cla WhileTests {
2.public static void main(String [] args){
3.int X=5;
4.while(++x
5.--x;
6.}
7.System.out.println(”x=“+x);
8.}
9.}
=”li“;
1-16
结果是什么?
A.X=6
B.X=5
C.X=2
D.编译失败
14.现有:
1.cla Test2 f
2.public static void main(String [] args){
3.boolean X= true;
4.boolean y=false;
5.short Z=20;
6.7.if((x==true)&&
(y=true))z++;
8.if((y==true)||(++z==22))z++;
9.10.
System.out.println(”z=“+z);
11.}
12.}
结果是什么?
A.Z=21
B.z=22
C.z=23
D.
Z= 24
15.现有:
1.cla Foo {
2.public static void main(String [] args)
3.int x=O;
4.int y=4;
5.for(int z=0;z
Z++;X++){
6.if(x>1&++y
7.y++;
8.}
9.System.out.println(y);
10.}
11.}
结果是什么?
A.7
B.8
C.10
D.1{
1-17
I D
2B
3C
4CD
5B
6B
7D
8A
9CCCABB
1-18
第四章练习题(封装)
1.下列有关类、对象和实例的叙述,正确的是哪一项?
A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别
B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称
C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称
D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称
2.下列类Account的构造方法中,声明正确的是?
A.
Account(String name){)
B.
Account(String name)
C.Account(name)()
D.
NewAccount(String name){)
3.类Account中字段声明正确的是哪项?
A.
cla Account f
name;
amount;)
B.
cla Account{
String name=l.0;
double amount=”Mike“;)
C.
cla Accountf
String name;
double amount;)
D.
cla Account{
String
name= ”Mike,, double
amount=1000.0;)
4.类Account中方法声明正确的是哪一项?
A.
cla Account f
deposit();)
B.
cla Accountf
void deposit();
}
1-19
C.
cla Accountf
void deposit(){))
D.cla Accountf
void deposit{))
5.下列有关类声明的代码片段,哪一项是正确的?
A.package school;
import java.sql.*;
cla Student {
}
B.import java.sql.*;
package school;
cla Student f)
C. package school;
cla Student{
}
import java.sql.*j
D.package school;
import java.sql.*;
private String name;
cla Student {
}
6.有关new关键字的描述正确的是哪项?
A.创建对象实例的时候可以不使用new关键字
B.new所创建的对象不占用内存空间
C.new会调用类的构造器来创建对象
D.new所创建的对象一定存在引用变量
7.下列哪些是方法public int add(int a)的重载方法?(选三项)
A.public int add(long a);
B.public void add(int a)j
C.public void add(long a);
D.public int add(float a);
1-20
8.我们定义一个Account类来描述银行账户,银行账户有账户名、金额等属性
特征,同时有存款、取款等行为特征,下述代码适合描述的是哪项?
A.cla Accountf
String name;//账户
String amount;//金额
Account(String name)()
void deposit(double mount){ //存款)
void withdraw(double mount){ //取款
})
B.cla Accountf
String name;//账户
doujole amount;//金额
Account(double amount){)
void deposit(double mount){ //存款)
void withdraw(double mount){ //取款))
C.cla Accountf
String name;//账户
double amount;//金额
Account(String name){)
void deposit(double mount){//存款)
void withdraw(double mount){ //取款))
D.cla Accountf
String name;//账户
double amount;//金额
Account(String name){)
void deposit(){//存款)
void withdraw(){//取款))
1-21
9.现有:
1.cla Banana2 f
2.static int X=2;
3.'public static void main(String [] args){
4.int X=2;
5.Banana2 b=new Banana2();
6.b.go(x);
7.}
8.static {x+=x;)
9.void go(int x){
10.++x;
11.System.out.println(x);
12.}
13.}
结果为:
A.7
B.5
C.3
D.2
10.现有:
1.cla TestFoo f
2.int x;
3.String y;
4.int getX(){ return x;}
5.String getY(){return y;}
6.void setX(int x){
7.int Z=7:
8.this.x=x;
9.}
10.}
可以添加多少个修饰符来封装此类?
A.5
B.4
C.3
D.2
1-22
11.定义枚举如下:
public enum Direction{
EAST,SOUTH,WEST,NORTH)
F列正确使用该枚举类型的语句是哪项?
A.Direction Direction=EAST;
B.Direction direction=Direction.WEST;
C.int a-Direction.NORTH;
n Direction direction=2;
12.定义类:
package utils;
public cla Rep{
public static String twice(String s){return s+s ;)
}
再定义另一个类Demo:
l.//insert code here
2.public cla Demo{
3.public static void main(String[] args){
4.System.out.println(twice(“Hello”));
5.}
6.}
在第一行插入哪项代码,可以使程序正常编译和执行?
A.import utils.*;
B.import utils.Rep.*;
C.import static utils.Rep.twice;
D.static import utils.Rep.twice;
13.现有:
public cla TestDemo{
private int X-2;
static int y=3;
public void method(){
final int i=100;
int j =10;
cla Cinner {
public void mymethod(){
//Here
}
}
}
}
1-23
在Here处可以访问的变量是哪些?(选三项)A.X B.y C.j D.
i
14.现有如F包结构:
com
|一一X
|
|一一Alpha.cla
|
|
|
|一一y
I
|一一Beta.cla
|
|l--Gamma.cla
和类:
cla Test { Alpha a;
Beta b;Gamma c;}
哪三个必须加入到类Test中,以使其通过编译?(选三项)
A.package y;
B.package com;
C.import com.x.y.*;
D.import com.x.*;
15.现有2个文件:
1.package x;
2.public cla X{
3.public static void doX(){System.out.print(“doX”);}
4.}
和:
1.cla Find{
2.public static void main(String [] args){
3.//insert code here
4.}
5.}
哪两行分别插入到类Find的第3行将编译并产生输出“doX”?(选两项)
A.doX();
B. X.doX();
C.x.X.doX();
D.x.X myX=new x.X();myX.doX();
1-24
1D
2A
3C
4C
5A
6CACD
8C
9CD BCA B DBCDC D
1-25
第五章练习题(继承)
1.下列关于继承优点的叙述正确的是哪几项?(选三项)
A.可以创建更为特殊的类型
B.消除重复代码
C.执行效率高
D.便于维护
2.在子类中调用父类中被覆盖的方法时需要使用哪项关键字?
A.this
B.super
C.new
D.以上都不是
3.现有
public cla Parentt
public void change(int x){))
public cla Child extends Parent{
//覆盖父类change方法
}
下列哪个声明是正确的覆盖了父类的change方法?
A.protected void change(int x){}
B.public void change(int x, int y){}
C.public void change(int x){}
D.public void change(String s){}
4.如果想要一个类不能被任何类继承的话,需要使用哪个关键字来修饰该类?
A.abstract
B.new
C.static
D.final
1-26
5.为了使得System.out.println()输出对象引用的时候得到有意义的信
我们应该覆盖Object t{-的哪个方法?
A.equals
B.toString
C.hashCode
D.notify
6.现有:
public cla Pet()
public cla Cat extends Pet{)
执行代码
Cat c-new Cat();
Pet p=(Pet)c;
后下列哪项是正确的?
A.Pet p=(Pet)c运行错误
B.Pet p=(Pet)c编译错误
C.Pet p=(Pet)c止常执行
D.以上都不对
7.程序:
public cla Pet{
public void speak(){
System.out.print(“pet”);
}
}
public cla Cat extends Pet{
pulolic void speak(){
System.out.print(“Cat”);
}
}
public cla Dog extends Pet(public void speak(){
System.out.print(“Dog”);
}
}
执行代码
Pet[] p= {new Cat(),new Dog(),nex Pet()};
for(int i=O;i
p[i].speak();
1-27
后输出的内容是哪项?
B.Cat Cat Cat
C.Cat Dog Dog
D.Cat Dog Pet
8.现有:
1.cla Dog{)
2.cla Harrier extends Dog {)
3.4.cla DogTest{
5.public static void main(String [] args)(6.
Dog dl=new Dog();
7.Harrier hl=new Harrier();
8.Dog d2=hl;
9.Harrier h2=(Harrier)d2;
10.Harrier h3=d2;
11.}
12.}
下面哪一项是正确的?
A.2个Dog对象被创建
B.2个Harrier对象被创建
C.3个Harrier对象被创建
D.编译失败
9.现有:
2.cla Cat {
3.Cat(int c){System.out.print {“cat”+c+“ ”);}
4.}
5.cla SubCat extends Cat {
6.SubCat(int c){super(5);System.out.print(“cable”);}
7.SubCat(){ this(4);
}
8.public static void main(String [] args){
9.SubCat s= new SubCat();
10.}
11.}
结果为:
A.cat5
B.cable
C.cat5 cable
D.cable cat5
1-28
10.现有:
1.cla Guy {String greet()
{return “hi”;} } 2.cla Cowboy extends Guy(String greet()
(return “howdy ¨;))3.cla Surfer extends Guy(String greet()
(return ”dude!“;} } 4.
5.cla Greetings { 6.public static void main(String [] args)
{ 7.Guy [] guys =(new Guy(), new Cowboy(), new Surfer()8.
for(Guy g:
guys)9.System.out.print(g.greet()};10.
} 11.}
结果为:
A.hi howdy dude!
B.运行时异常被抛出。
c.第7行出现一个错误,编译失败。
D.第8行出现一个错误,编译失败。
11.现有:
1.cla Over {
2.int dolt(long x){ return 3;}
3.}
4.5.cla Under extends Over {
6.//insert code here
7.}
和四个方法:
short dolt(int y){ return 4;}
int dolt(long Xr long y){ return 4;}
private int dolt(short y){ return 4;}
protected int dolt(long x){ return 4;}
分别插入到第6行,有几个可以通过编译?
A.1
B.2
C.3
D.4
};
1-29
12现有
1.cla Beverage {
2.Beverage(){ System.out.print(”beverage “);}
3.}
4.cla Beer extends Beverage {
5.public static void main{string [] args){
6.Beer b = new Beer(14);
7.}
8.public int Beer(int x){
9.this();
10.System.out.print(”beerl“);
11.}
12.public Beer(){ System.out.print(”beer2 “);}
13.}
结果是什么?
A.beerl beverage
B.beer2 beverage
C.beverage beer2 beerl
D.编译失败
13.现有:
1.cla Bird {
2.void talk(){ System.out.print(”chirp “);}
3.}
4.cla Parrot2 extends Bird {
5.protected void talk(){ System.out.print(”hello “);
6.public static void main(String [] args){
7.Bird [] birds = {new Bird(), new Parrot2()};
8.for(Bird b : birds)
9.b.talk();
10.}
11.}
结果是什么 ?
A.chirp chirp
B.hello hello
C.chirp hello
D:编译错误
1-30
14.现有:
1.cla SuperFoo(2.SuperFoo doStuff(int x){
3.return new SuperFoo();
4.}
5.}
6.7.cla Foo extends SuperFoo {
8.//insert code here
9.}
和四个声明:
Foo doStuff(int x){ return new Foo();
}
Foo doStuff(int x){ return new SuperFoo();
}
SuperFoo doStuff(int x){ return new Foo();}
SuperFoo doStuff(int y){ return new SuperFoo();}
分别插入到第8行,有几个可以通过编泽?
A.1
B.2
C.3
D. 4
15.现有:
1.cla HorseRadish {
2.//insert code here
3.protected HorseRadish(int x)
{
4.System.out.println(”bok choy“);
5.}
6.}
7.cla Wasabi extends HorseRadish {
8.public static void main(String [] args)
(9.Wasabi w-new Wasabi();
10,}
11.}
分别插入到第2行,哪两项允许代码编译并产生”bok choy”输出结果?(选
两项)
A.protected HorseRadish(){this(42);}
B.protected HorseRadish(){}
C.//just a comment
D.protected HorseRadish(){ new HorseRadish(42);}
1-31
参考答案
.1ABD
2B
3C
4D
SB
6A
7D
8D
9CADDCDAD
1-32
第六章练习题(抽象类与接口)
1.下列有关抽象类的叙述正确的是哪项?
A.抽象类中一定含有抽象方法
B.抽象类的声明必须包含abstract关键字
C.抽象类既能被实例化也能被继承
D.抽象类中不能有构造方法
2.下列有关抽象方法叙述正确的是哪项?(选两项)
A.抽象方法和普通方法一样,只是前面多加一个修饰符asbtract
B.抽象方法没有方法体
c.抽象方法可以包含存任何类中
D.包含抽象方法的类的具体子类必须提供具体的覆盖方法
3.下列有关接口的叙述错误的是哪项?
A.接口中只能包含抽象方法和常量
B.一个类可以实现多个接口
C.类实现接口时必须实现其中的方法
D.接口不能被继承
4.下列关于接口的定义哪项是正确的?
A.
interface C{int a;)
B.public interface A implements B {)
C.public interface A {int a();)
D.abstract interface D {)
1-33
5.现有:
1.interface Animal f
2.void eat();
3.}
4.5.// insert code here
6.7.public cla HouseCat implements Feline {
8.public void eat()
{ }
9.}
和以下三个接口声明:
interface Feline extends Animal()
interface Feline extends Animal {void eat();
}
interface Feline extends Animal {void eat()
{ } }
分别插入到第5行,有多少行可以编译?
A.0
B.1
C.2
D.3
6.现自:
1.interface Color { }
2.interface Weight { }
3.//insert code here
和以下足六个声明:
cla Boat extends Color, extends Weight { }
cla Boat extends Color and Weight { }
cla Boat extends Color, Weight { }
cla Boat implements Color, implements Weight { }
cla Boat implements Color and Weight { }
cla Boat implements Color, Weight { }
分别插入到第3行,有多少行可以编译?
A.0
B.1
C.2
D.3
1-34
7.现有:
1.abstract cla Color {
2.protected abstract String getRGB();
3.}
4.5.public cla Blue extends Color {
6.//insert code here
7.}
和四个声明:
public String getRGB(){ return ”blue“;}
String getRGB(){ return ”blue“;)
private String getRGB(){ return ”blue“;}
protected String getRGB(){ return ”blue“;)
分别插入到第6行,有几个可以通过编译?
A.0
B.1
C.2
D.3
8.现有:
1.abstract cla Color2 {
2.//insert code here
3.}
4.5.public cla Blue2 extends Color2 {
6.public String getRGB(){ return ”blue“;}
7.}
和4个声明:
public abstract String getRGB();
abstract String getRGB();
private abstract String getRGB();
protected abstract String getRGB();
分别插入到第2行,有多少行可以编译?
A.O
B.1
C.2
D
1-35
9.现有:
1.cla Top {
2.static int X=l;
3.public Top(){ x*=3;)
4.}
5.cla Middle extends Top {
6.public Middle()
{x+=l;}
7.public static void main(String [] args){
8.Middle m=new Middle();
9.System.out.println(x)j
10.}
11.}
结果是什么?
A.2
B.3
C.4
D.编译失败
10.现有两个文件:
1.package X;
2.public cla X {
3.public static void doX(){System.out.print(”doX“);
4.}
和:
1.import x.X;
2.cla Find {
3.publiC static void main(String [] args)
{
4.X myX=new X();
myX.doX();
5.X.doX();
6.x.X.aoX():
7.x.X myX2=new x.X();
myx2.doX();
8.}
’
9.}
结果为:
A.Find类中第4行出现一个错误,编译失败。
B.Find类第5行出现一个错误,编译失败。
C.Find类第6行出现一个错误,编译失败。
D.doX doX doX doX
}
1-36
11.现有:
1.cla Tree {
2.private static String tree = ”tree “;
3.String getTree(){ return tree;}
4.}
5.cla Elm extends Tree {
6.private static String tree = ”elm “;
7.public static void main(String [] args){
8.new Elm().go(new Tree());
9.}
10.void go(Tree t){
11.String s = t.getTree()+Elm.tree + tree +
(new
Elm().getTree());
12.System.out.println(s);
结果为:
A.elm elm elm elm
B.tree elm elm elm
C.tree elm elm tree
D.tree elm tree elm
12.现有:
1.interface Animal {
2.void eat();
3.}
4.5.//insert code here
6.7.public cla HouseCat extends Feline {
8.public void eat(){ }
9.}
和五个申明
abstract cla Feline implements Animal { } abstract cla Feline implements Animal { void eat();} abstract cla Feline implements Animal { public void eat();} abstract cla Feline implements Animal { public void eat(){} } abstract cla Feline implements Animal { abstract public void eat();}
A.1
B.2
C.3
D.4
1-37
·
13.现有:
1.interface I { void go();}
2.3.abstract cla A implements I { }
4.5.cla C extends A {
6.void go(){)
7.}
结果是什么?
A.代码通过编译
B.由于第1行的错误导致编译失败
C.由于笫3行的错误导致编译失败
D.由于第6行的错误导致编译失败
14.现有:
1.interface Data {public void load();}
2.abstract cla Info {public abstract void load();}
下列类定义中正确使用Data和Info的是哪项?
A.public cla Employee implements Info extends Data {
public void load(){/*do something*/))
B.public cla Employee extends Inf.implements Data{
public void load(){/*do something*/}
}
c.public cla Empl.yee implements Inf extends Data{
public void Data.1oad(){* do something*/}
public void load(){/*do something*/})
D.public cla Employee extends Inf implements Data {
public void Data.1oad(){/*do something*/)
public void info.1oad(){/*do something*/))
1-38
15.下列代码正确的是哪项?
A.public cla Seion implements Runnable, Clonable{
public void run();
public Object clone();
}
B.public cla Seion extends Runnable, Cloneable {
public void run(){/*do something*/}
public Object clone(){/*make a copy*/}
}
C.public abstract cla Seion
implements Runnable, Clonable {
pu)olic void run(){/*do something*/}
public Object clone(){/*make a copy*/}
}
D.public cla Seion
implements Runnable, implements Clonable {
public void run(){/*do something*/}
public Object clone(){/*make a copy*/}
}
1-39
参考答案
1B
2BD
3D
4C
5C
6B
7C
8D
9CD CCDBC
1-40
第七章练习题(多态)
1.下列自‘关多态的叙述正确的是哪项?(选两项)
A.父类的引用指向子类的实例是一种多态
B.子类的引用指向子类的实例是一种多态
c.接口的引用指向实现该接口类的实例是一种多态
D.抽象类的引用指向抽象类的实例是一种多态
2.Java中方法绑定有哪些形式?(选两项)
A.编译时刻绑定
B.运行时刻绑定
c.静态绑定
D.私有绑定
3.表达式”hello“ instance of String返回的值是哪项?
A.true
B.
false
C.
D.
0
4.求平方根方法public static double sqrt(double a)可以传递的参数
类型有哪些?(选三项)
A.byte
B.float
C.String
D.long
5.涉及类MyCla的方法签名足public void find(MyCla a),那么该
方法可接收的实际参数的类型可以是哪些?(选两项)
A.MyCla类的类型
B.MyCla子类的类型
C.Object类型
D.所有接口
1-41
6.使用下列哪些关键字可以判定实参的具体类型?
A.as
B.is
C.instanceof
D.extends
7.现有:
cla Pencil {
public void write(String content){
System.out.println(”Write“+content);
}
}
cla RubberPencil extends Pencil{
public void erase(String content){
System.out.println(”Erase“+content);
}
}
执行下列代码的结果是哪项?
Pencil pen=new RubberPencil();
pen.write(”Hello“);
pen.erase(”Hello“);
A.Write Hello
Erase Hello
B.Erase Hello
Write Hello
C.编译错误
D.运行时抛出异常
8.现有:
cla Pencil {
public void write(String content){
System.out.println(”Write“+content);
}
}
cla RubberPencil extends Pencil{
public void write(String content){
System.out.println(”Rubber Write“+content);
}
public void erase(String content){
System.out.println(”Erase “+content);
}
}
1-42
执行下列代码的结果是哪项?
Pencil pen=new RubberPencil();
pen.write(”Hello“);
A.Write Hello
B.Rubber Write Hello
C.编译错误
D.运行时抛出异常 下列哪些方法是在编译时刻绑定的?(选三项)
A.静态方法
B.private方法
C.final方法
D.非private方法
10.现有:
cla Pencil {
public void write(String content){
System.out.println(”Write“,+content){
}
}
cla RubberPencil extends Pencil{
public void write(String content){
System.out.println(”Rubber Write“+content);
}
public void erase(String content){
System.out.println(”Erase “+content);
}
}
执行下列代码的结果是哪项?
Pencil pen=new Pencil();
((RubberPencil)pen).write(”Hello“);
A. Write Hello
B.Rubber Write Hello
c.编译失败
D.运行时抛出异常
1-431.现有:
cla TestA {
public void start(){ System.out.println(”TestA“);}
}
public cla TestB extends TestA {
public void start(){ System.out.println(”TestB“);}
public static v.id main(string[] args)(((TestA)new TestB()).start();
}
}
运行结果是哪项?
A.
TeStA
B.
TeStB
c.编译失败
D.运行时抛出异常
12.现有:
cla A {public String name=”a“}
cla B extends A {public String name=”b“}
执行如下代码后的结果是哪项?
A a=new B();
System.out.println(a.name);
A.
a
B.
b
c.编译失败
D.运行时抛出异常
13.现有: Interface F{} cla A implements F{} cla B extends A{} cla C extends B{
public static void main(String[] args){
B b=new B();
//inSert C0de here
}
}
1-44
下列哪行代码插入到第7行,将抛出java.lang.ClaCaseException异常7
A.A a=b;
B.
F f=(C)b;
C.
F f=(A)b;
D.
B bb=(B)(A)b;
14.现有:
1.cla Guy { String greet(){ return ”hi“;} j 2.cla Cowboy extends Guy { String greet(){ ”howdy“;}} 3.cla Wrangler extends Cowboy { String { return ”orch!“;} } 4.
5.cla Greetings2 { 6.public static void main(String [] args){ 7.Guy g=new Wrangler();8.
Guy g2=new Cowboy(); 9.Wrangler w2=new Wrangler();10.System.out.print(g.greet()+g2.greet()+w2.greet());11.} 12.}
结果是什么?
A.hi hi ouch!
B.ouch!howdy ouch!
C.hi howdy ouch!
D.编译失败
E.运行的咐候有异常抛出
15.现有:
cla ClaA {}
cla ClaB extends ClaA {)
cla ClaC extends ClaA {)
以及:
ClaA p0=new ClaA();
ClaB pl=new ClaB();
ClaC p2=new ClaC();
ClaA p3=new ClaB();
ClaA p4=new ClaC();
return.greet()1-45
·
下列哪些是正确的?(选三项]
A.p0=pl;
B.p1 =p2;
C.p2=p4;
D.p2 =(ClaC)pl;
E.p1 =(ClaB)p3;
F.p2 =(Clac)p4;
1-46
参考答案
1AC
2AB
3A
4ABD
5AB
6C
7C
8B
9ABCDBABB
15AEF
1-47
第八章练习题(异常)
1.Java语言中异常的分类是哪项?
A.运行时异常和异常
B.受检异常和非受检异常
C.错误和异常
D.错误和运行时异常
确的是
2.所有异常的父类是哪项? A.
Throwable B.Error C.
RuntimeException D.
Exception 3.关于try...catch...finally结构,描述正确的是哪项?
(选两项)A.可以有多个catch B.只能有一个catch C.可以没有catch D.finally必须有 4.下列属于非受检异常的是哪项? A.SQLException B.IOException C.NullPointerException D.OutOfMemoryError 5.假设有自定义异常类ServiceException,那么抛出该异常的语句正哪项?
A.raise ServiceException B.throw new ServiceException()C.throw ServiceException D.throws ServiceException
1-48
6.在方法的声明中,要求该方法必须抛出异常时使用哪个关键字?
A.throw
B.catch
C.finally
D.throws
7.现有:
1.cla Number{
2.public static void main(String [] aras){
3.try {
4.System.out.print(Integer.parselnt(”forty“));
5.} catch(RuntimeException r){
6.System.out.print(”runtime“);
7.} catch(NumberFormatException e){
8.system..ut.print(”number“);
9.}
10.}
11.}
结果是什么?
A.
number
B.
runtime
C.
forty number
D.编译失败
8.现有:
9.void topGo(){
10.try {
11.middleGo();
12.)catch(Exception e){
13.System.out.print(”catch“);4.
}
15.}6.void middleGo()throws Exception {
17.go();8.system.out.print(”late middle“);9.
}
2.void go()throws ExceptiOn {
21.throw new Exception();
22.}
1-49
如果调用 topGo(),则结果为: A.late middle B.catch C.late middle catch D.catch Iate middle
9.现有
1.cla Calc { 2.public static void main(String [] args){ 3.try { 4.int x = Integer.parselnt(”42a“);5.//insert code here 6.System.out.print(”oops“);7.} 8.} 9.} 下面哪两行分别插入到第五行,会导致输 ”oops“ ?(选两项)A.} catch(IllegalArgumentException e){ B.} catch(IllegalStateException c){ C.} catch(NumbelFormatException n){ D.} catch(ClaCastException c){
10.现有: 1.cla Flow { 2.public static void main(String [] args)t 3.try { 4.System.out.print(”before“);5.doRiskyThing();6.System.out.print(”after “);7.} catch(Exception fe){ 8.System.out.print(”catch“);9.} 10.System.out.println(” done");11.} 12.public static void doRiskyThing()throws Exception{ 13.// this code returns unle it throws an Exception
}} 可能会产生哪两项结果 ?(选两项)
A.before catch B.before after done C.before catch done D.before after catch
1-50
审查认证人员考试题库《武器装备科研生产单位保密资格审查认证管理办法》内容试题(管理人员) (共261题)一、填空题(共78题)1、制定《武器装备科研生产单位保密资格审查论证管理办......
中国铁塔股份有限公司贵阳市分公司代维认证题库一、通用部分(一) 告警工单的派发规则为___C______ A.一级告警自动派单,二、三、四级告警可手动派单 B.一、二、三级告警自动......
工作票资格认证考试题库(机械部分)1、氧化铝工作票管理标准(机械部分)包括以下内容:(检修工作票)、(动火工作票)和(事故应急抢修单)。2、经公司考试选拔任命的主任、调度、运行班长、主......
大堂经理资格认证考试题库一.单项选择题(110道)1.大堂经理职业操守要求主要包括:( D )。A.具有风险防范意识 B.不得进行任何不诚实、欺骗、欺诈等有损银行信誉,误导客户的行为 C.......
加油站站长岗位资格认证考试题库(试行)中国石化江苏石油分公司目录第一部分 加油站操作员(高级工)应知应会 第二部分 销售事业部现行制度题 第三部分 省公司现行管理制度题......
