《JAVA程序设计》(A卷)测试题答案
《JAVA程序设计》模拟题 一.判断题Java源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。( )
注释的作用是使程序在执行时在屏幕上显示//之后的内容。 ( )
有的类定义时可以不定义构造函数,所以构造函数不是必需的。 ( )
由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。( )
抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法 ( )
java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。 ( )
Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 ( )
Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。 ( )
在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个属性与赋值对象相同的新对象。 ( )
System类不能实例化,即不能创建System类的对象。 ( )
一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。( )
接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。( )
静态初始化器是在其所属的类加载内存时由系统自动调用执行。 ( )
如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。( )
所有的鼠标事件都由MouseListener监听接口的监听者来处理 ( )二.单项选择题
1.在编写JavaApplet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( )语句。
A、import java.awt.* ; B、import java.applet.* ;
C、import java.io.* ; D、import java.awt.event.* ;
2. 关于被私有保护访问控制符privateprotected修饰的成员变量,以下说法正确的是( )
A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B、可以被两种类访问和引用:该类本身、该类的所有子类
C、只能被该类自身所访问和修改
D、只能被同一个包中的类访问
3. Java application中的主类需包含main方法,main方法的返回类型是什么?( )
A、int B、float C、double D、void
4.设有下面两个类的定义:
classPerson { classStudentextendsPerson {
long id; // 身份证号 intscore;// 入学总分
Stringname; // 姓名 intgetScore(){
} returnscore;
}
}
则类Person和类Student的关系是( )。
A、包含关系 B、继承关系 C、关联关系 D、上述类定义有语法错误
5 . 容器Panel和Applet缺省使用的布局编辑策略是( )
A、FlowLayout B、BorderLayout C、GridLayout D、CardLayout
6. 执行完以下代码int [ ]x = new int;后,以下哪项说明是正确的( )
A、x为0 B、x未定义 C、x为0 D、x为空
7. 编译并运行以下程序,以下描述哪个选项是正确的( )
1. classX{
2. protectedStringtoString(){
3. returnsuper.toString();}
4. }
A、编译通过运行无异常 B、编译通过但运行时出错 、
C、行2出错,不能成功编译 D、不能成功编译,行3出错
8. 以下哪个不是Java的关键字?( )
A、FALSE B、const C、this D、void
9. 有程序如下,关于程序的描述哪个是正确的?( )
public class Person{
static int arr[] = new int;
public static void main(String a[])
{ System.out.println(arr); }
}
A、编译将产生错误 B、编译时正确,但运行时将产生错误
C、正确,输出0 D、正确,输出?null
10.以下声明合法的是( )
A、defaultStrings; B、publicfinalstaticnativeintw( )
C、abstractdoubled; D、abstractfinaldoublehyperbolicCosine( )
11. 关于以下application的说明,正确的是( )
1. class StaticStuff
2. {
3. staticintx=10;
4. static{ x+=5;}
5. publicstaticvoidmain(Stringargs[ ]){
6. System.out.println(“x=” + x);
7. }
8. static{ x/=3;}
9. }
A、4行与8行不能通过编译,因为缺少方法名和返回类型
B、8行不能通过编译,因为只能有一个静态初始化器
C、编译通过,执行结果为:x=5
D、编译通过,执行结果为:x=312. 在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。
A、public B、protected C、privateprotected D、private
13. 关于以下程序代码的说明正确的是( )
classHasStatic{
privatestaticintx=100;
publicstaticvoidmain(Stringargs[]){
HasStatichs1=newHasStatic();
hs1.x++;
HasStatichs2=newHasStatic();
hs2.x++;
hs1=newHasStatic( );
hs1.x++;
HasStatic.x- -;
System.out.println(“x=”+x);
}
}
A、5行不能通过编译,因为引用了私有静态变量
B、10行不能通过编译,因为x是私有静态变量
C、程序通过编译,输出结果为:x=103
D、程序通过编译,输出结果为:x=102
14. 关于以下程序段,正确的说法是( )
1.Strings1=”abc”+”def”;
2.Strings2=newString(s1);
3.if(s1= =s2)
4. System.out.println(“= = succeeded”);
5.if (s1.equals(s2))
6. System.out.println(“.equals()succeeded”);
A、行4与行6都将执行 B、行4执行,行6不执行
C、行6执行,行4不执行 C、行4、行6都不执行
15. 以下说法哪项是正确的( )
classMyListener
extendsMouseAdapterimplementsMouseListener{
public void mouseEntered(MouseEventmev){
System.out.println("Mouseentered.");}
}
A、以上代码可通过编译
B、不能通过编译,因为没有实现MouseListener接口中的所有方法
C、不能通过编译,因为类头定义不能分行
D、能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常三.程序阅读题
1.阅读以下程序:
import java.io.*;
public classAboutFile{
public static void main(String[ ]args){
BufferedReaderb=new BufferedReader (new InputStreamReader(System.in));
String s;
System.out.flush();
s=b.readLine();
System.out.println(“String is:”+s);
}
}
运行以上程序,若从键盘输入:
JAVA<回车>
则输出结果为__________________________________。
2.阅读以下程序,输出结果为__________________________________。
classC1 {
C1 () {
System.out.print ("1");}
}
class C2 extendsC1 {
C2() {
System.out.print ("2");}
}
public class C3extendsC2 {
C 3() {
System.out.println("3");}
public static void main(String[] args) {
C3c = new C3( );}
}
3.阅读以下程序,输出结果为__________________________________。
import java.io.*;
public class ATest{
public static void main(String args[]) {
SubClass sb = new SubClass( );
System.out.println(sb.add( ));
} }
class SuperClass{
int a = 1 , b = 2 ;
}
class SubClass extendsSuperClass{
intadd( ) {return a+b;}
}
4.以下程序段的输出结果为__________________________________。
int j=2;
switch( j ) {
case2:
System.out.print(“Value is two.”);
case2+1 :
System.out.println(“Value is three.”);
break;
default:
System.out.println(“value is “+j);
break;
}
5.阅读以下程序:
classAExample{
public static void main(String[ ] args){
String s, s1=””;
char c;
s=args;
for( int i=0; i<s.length(); i++){
c=s.charAt(i);
if(c>=’a’&&c<=’z’)
s1=s1+Character.toUpperCase(c);
if(c>=’A’&&c<=’Z’)
s1=s1+Character.toLowerCase(c);
}
System.out.println(s1);
}
若在命令行输入以下命令:
javaAExamplehelloWORLD<回车>
则程序的输出为__________________________________。
6.阅读以下程序段:
classParent
{
voidprintMe()
{
System.out.println(“parent”);
}
}
classChildextends Parent
{
voidprintMe()
{
System.out.println(“child”);
}
voidprintAll()
{
super.printMe();
this.printMe();
printMe();
} }
public class Test_this
{
public static void main(Stringargs[ ])
{
ChildmyC=newChild();
myC.printAll();}
}
输出结果为:
7.以下程序段的输出结果为__________________________________。
publicclassABC
{
publicstaticvoid main(Stringargs[ ]){
int i , j ;
inta[ ] = { 2,1,3,5,4};
for( i = 0 ; i < a.length-1; i ++ ) {
intk = i;
for( j = i ; j < a.length ;j++ )
if( a<a )k = j;
inttemp =a;
a = a;
a = temp;
}
for( i =0 ; i<a.length; i++ )
System.out.print(a+"");
System.out.println( );
}
}
参考答案:
解:
1
String is: JAVA
5
HELLOworld
2
123
6
parent child child
3
3
7
12345
4
value is two
www.ap5u.com
页:
[1]