12.下列语句序列执行后,i的值是()。
inti=16;
do{i/=2;}while(i>3);
A)16B)8C)4D)2
13.以下由for语句构成的循环执行的次数是()。
for(inti=0;true;i++);
A)有语法错,不能执行B)无限次
C)执行1次D)一次也不执行
14.定义类头时能使用的修饰符是()。
A)privateB)staticC)abstractD)protected
15.设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,正确的switch语句是()。
A)switch(x+y)B)switch(ch+1)
{......}{......}
C)switchchD)switch(a+b);
{......}{......}
16.下列最终属性i的定义中,正确的是()。
A)staticfinalinti=100;B)finalinti=1.2;
C)finali='w';D)finalchari;
17.下列类定义中,不正确的是()。
A)classx{....}
B)classxextendsy{....}
C)staticclassximplementsy1,y2{....}
D)publicclassxextendsApplet{....}
18.设x、y为已定义的类名,下列声明x类的对象x1的语句中正确的是()。
A)staticxx1;B)publicxx1=newx(int123);
C)yx1;D)xx1=x();
19.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是()。
A)x(intm){...}B)voidx(intm){...}
C)x(intm,intn){...}D)x(inth,intm,intn){...}
20.下列方法定义中,正确的是()。
A)intx(){charch='a';return(int)ch;}
B)voidx(){...returntrue;}
C)intx(){...returntrue;}
D)intx(inta,b){returna+b;}
21.用于定义类成员的访问控制权的一组关键字是()。
A)class,float,double,public
B)float,boolean,int,long
C)char,extends,float,double
D)public,private,protected
22.不能构成循环的语句是()。
A)for语句B)while语句C)switch语句D)do__while语句
23.下列程序段执行后b3的结果是()。
booleanb1=true,b2,b3;
24=b1?
b1:
b2;
A)0B)1C)trueD)false
24.下面数据结构中,属于非线性的是()。
A)线性表B)树C)队列D)堆栈
25.设有定义inti=123;longj=456;下面赋值不正确的语句是()。
A)j=i;B)j=(long)i;C)i=(int)j;D)i=j;
二、判断题(本大题共18小题,每小题1分,共18分)提示:
正确打T,错误打F,将其结果填写在下表中。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1、面向对象程序设计的三大特性为封装性、继承性、多态性。
2、异常处理中的finally语句必须被执行。
3、实现一个接口,则在类中一定要实现接口中的所有方法。
4、标识为default的类或变量可以被所在包中的各个类访问。
5、子类覆盖父类中的同名方法时,其访问权限可以是任意的。
6、Java虚拟机是实现跨平台的基础。
7、使用方法length()可以获得字符串或数组的长度。
8、Java的类不允许多重继承,但接口支持多重继承,内部类也可以实现多重继承。
9、JVM是指Java虚拟机。
10、关键字super表示父类对象,this表示的是当前对象。
11、每个类都只能有一个构造方法。
12、Javaapplet不能够存取客户机磁盘上的文件。
13、default在switch选择结构中是必须的。
14、abstract修饰的类必须被继承。
15、对static方法的调用不需要类实例。
16、构造方法没有任何返回类型,哪怕是void也不行。
17、Java中的的字符使用的是16位的Unicode编码。
18、abstract是抽象修饰符,可以用来修饰类及其属性和方法。
三.填空题(本大题共10小题,每小题1分,共10分)。
1.创建类的对象时,使用运算符___________给对象分配内存空间。
2.定义类的构造方法不能有返回值类型,其名称与_____名相同。
3.Java语言中关键字_____表示双精度类型。
4.若有定义:
floatb={1.1f,3.5f,6.8f};,则b.length()的值是_______。
5.若有类定义:
classBextendsA{
…
}
则类B是类A的______。
6.接口中的成员只有静态常量和______。
7.在子类中使用关键字_______做前缀可调用被子类覆盖的父类中的方法。
8.关键字______用于导入包中的类到程序中,供程序中使用。
9.Java语言中,通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_____块来捕获和处理异常。
10.表达式3/6*5的计算结果是_____。
四、阅读程序,回答问题(共6小题,每小题2分,共12分),
1.
1:
publicclassOutput1{
2:
publicstaticvoidmain(Stringarge[]){
3:
inti=0;
4:
for(charch=97;ch<113;ch++,i++){
5:
if(i%8==0)
6:
System.out.println("");
7:
System.out.print("\t"+ch);
8:
}
9:
}
10:
}
(1)程序第5、6行的if语句的功能是什么?
(2)程序输出的结果有几行?
2.
1:
importjava.util.Arrays;
2:
publicclassSortArray{
3:
publicstaticvoidmain(Stringargs[]){
4:
String[]str={"size","abs","length","class"};
5:
Arrays.sort(str);
6:
for(inti=0;i7:
System.out.print(str[i]+"");
8:
}
9:
}
(1)写出程序运行后的结果。
(2)在第4行和5行之间,进行str[0].length()方法调用的返回结果是多少?
3.
abstractclassSuperAbstract{
voida(){…}
abstractvoidb();
abstractintc(inti);
}
interfaceAsSuper{
voidx();
}
abstractclassSubAbstractextendsSuperAbstractimplementsAsSuper{
publicvoidb(){…}
abstractStringf();
}
publicclassInheritAbstractextendsSubAbstract{
publicvoidx(){…}
publicintc(inti){…}
publicStringf(){…}
publicstaticvoidmain(Stringargs[]){
InheritAbstractinstance=newInheritAbstract();
instance.x();
instance.a();
instance.b();
instance.c(100);
System.out.println(instance.f());
}
}
根据以上这段程序,回答问题:
(1)哪几个类是抽象类,写出类名。
(2)是否有接口,写出接口名。
4.定义类A和类B如下。
classA{
inta=1;
doubled=2.0;
voidshow(){
System.out.println("ClassA:
a="+a+"\td="+d);
}
}
classBextendsA{
floata=3.0f;
Stringd="Javaprogram.";
voidshow(){
super.show();
System.out.println("ClassB:
a="+a+"\td="+d);
}
}
若在应用程序的main方法中有以下语句:
Aa=newA();
a.show();
则输出的结果如何?
5.写出此程序完成的功能。
publicclassSum{
publicstaticvoidmain(Stringargs[]){
doublesum=0.0;
for(inti=1;i<=100;i++)
sum+=1.0/(double)i;
System.out.println("sum="+sum);
}
}
回答问题:
以上程序完成什么功能?
6.
1:
importjava.applet.Applet;
2:
importjava.awt.*;
3:
importjava.awt.event.*;
4:
publicclassTestKeyListenerextendsApplet{
5:
Colorclr;
6:
publicvoidinit(){
7:
addKeyListener(
8:
newKeyAdapter(){
9:
publicvoidkeyTyped(KeyEvente){
10:
if(e.getKeyChar()=='r'||e.getKeyChar()=='R')
11:
clr=Color.red;
12:
elseif(e.getKeyChar()=='g'||e.getKeyChar()=='G')
13:
clr=Color.green;
14:
elseif(e.getKeyChar()=='b'||e.getKeyChar()=='B')
15:
clr=Color.blue;
16:
else
17:
clr=Color.black;
18:
setBackground(clr);
19:
}
20:
});
21:
}
22:
}
(1)程序第10、11行实现的功能是什么?
(2)编译该程序,并编写嵌入该程序字节码文件的网页后,通过支持java的浏览器打开网页。
如果敲击键盘的‘b’键,有什么结果?
五、阅读下列程序,请写出程序的输出结果(共8小题,每小题3分,共24分)
1.
publicclassStaticTest{
publicstaticvoidmain(String[]args){
Countc1=newCount();
Countc2=newCount();
System.out.print(Count.counter);
System.out.print(c1.getserial());
System.out.print(c2.getserial());
}
}
classCount{
privateintserial=0;
publicstaticintcounter=0;
Count(){
counter=counter+2;
serial=counter;
}
intgetserial(){
returnserial;
}
}
2.
publicclassParent{
intage=40;
publicintgetAge(){returnage;}
}
classChildextendsParent{
intage=20;
publicintgetAge(){returnage;}
}
classTest{
publicstaticvoidmain(Stringargs[]){
Childc=newChild();
System.out.println("c.age="+c.age);
System.out.println("c.getAge="+c.getAge());
Parentp=newChild();
System.out.println("p.age="+p.age);
System.out.println("p.getAge="+p.getAge());
}
}
3.publicclassTest{
publicstaticvoidmain(String[]args){
int[][]num1=newint[2][3];
num1[0][0]=3;
num1[0][1]=9;
num1[0][2]=60;
num1[1][0]=78;
num1[1][1]=79;
for(inti=0;i<=1;i++){
for(intj=0;jSystem.out.print(num1[i][j]+"\t");
System.out.println();
}
}
}
4.publicclassTest{
publicstaticvoidmain(String[]agrs){
inti,s=0;
inta[]={10,20,30,40,50,60,70,80,90};
for(i=0;iif(a[i]%3==0){
s+=a[i];
System.out.println("s="+s);
}
}
}
5.publicclassTest3{
publicstaticvoidmain(String[]agrs){
Aa=newA
(2);Ab=newA(3);
System.out.println(a.isEqualTo(b));
}
}
classA{
privateintprivateVar;
publicA(int_privateVar){privateVar=_privateVar;}
booleanisEqualTo(AanotherA){
if(this.privateVar==anotherA.privateVar)returntrue;
elsereturnfalse;
}
}
6.
publicclassExam3{
publicstaticvoidmain(String[]args){
Strings,s1="";
charc;
s="wELCOME";
for(inti=0;ic=s.charAt(i);
if(c>='a'&&c<='z'){
s1=s1+Character.toUpperCase(c);
}
else{
s1=s1+Character.toLowerCase(c);
}
}
System.out.println(s1);
}
}
7.
abstractclassShape{
abstractdoublearea();
publicvoidprint(){
System.out.println("Thisisashape");
}
}
classRectangleextendsShape{
intwidth,length;
publicRectangle(intwidth,intlength){
this.width=width;
this.length=length;
}
publicdoublearea(){
returnwidth*length;
}
publicvoidprint(){
super.print();
System.out.println("ThisisaRectangle");
}
}
classCircleextendsShape{
doubler;
publicCircle(doubler){
this.r=r;
}
publicdoublearea