《JAVA程序设计》(A卷)测试题答案

所属学校:天津大学 科目:JAVA程序设计 2020-03-25 17:18:14 程序设计 测试题 答案 JAVA
《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.在编写Java  Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上(      )语句。
A、import   java.awt.* ;               B、import   java.applet.* ;
C、import   java.io.* ;                 D、import   java.awt.event.* ;
2. 关于被私有保护访问控制符private  protected修饰的成员变量,以下说法正确的是(         )
A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B、可以被两种类访问和引用:该类本身、该类的所有子类
C、只能被该类自身所访问和修改
D、只能被同一个包中的类访问
3. Java application中的主类需包含main方法,main方法的返回类型是什么?(    )
A、int                B、float                 C、double                D、void
4.  设有下面两个类的定义:
     class  Person {                        class  Student  extends  Person {
         long    id;     // 身份证号            int  score;  // 入学总分
         String  name;   // 姓名                int  getScore(){
      }                                             return  score;
                                                }
                                            }
则类Person和类Student的关系是(     )。
A、包含关系            B、继承关系                C、关联关系                 D、上述类定义有语法错误
5 . 容器Panel和Applet缺省使用的布局编辑策略是(         )
A、FlowLayout        B、BorderLayout            C、GridLayout         D、CardLayout
6. 执行完以下代码int [ ]  x = new        int[25];后,以下哪项说明是正确的(         )
A、x[24]为0                B、x[24]未定义                C、x[25]为0                 D、x[0]为空
7. 编译并运行以下程序,以下描述哪个选项是正确的(          )
1. class  X{
        2.        protected  String  toString(){
        3.                return  super.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[10];
  public static void main(String a[])
  {   System.out.println(arr[0]);  }
}
A、编译将产生错误                B、编译时正确,但运行时将产生错误       
C、正确,输出0                    D、正确,输出?null
10.  以下声明合法的是(           )
A、default  String  s;                        B、public  final  static  native  int  w( )
C、abstract  double  d;                        D、abstract  final  double  hyperbolicCosine( )
11. 关于以下application的说明,正确的是(        )
1.        class   StaticStuff
2. {
3.     static  int  x=10;
4.     static  { x+=5;}
5.     public  static  void  main(String  args[ ]){
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、private  protected          D、private
13. 关于以下程序代码的说明正确的是(          )
class  HasStatic{
    private  static  int  x=100;
    public  static  void  main(String  args[  ]){
        HasStatic  hs1=new  HasStatic(  );
        hs1.x++;
        HasStatic  hs2=new  HasStatic(  );
        hs2.x++;
        hs1=new  HasStatic( );
        hs1.x++;
HasStatic.x- -;
          System.out.println(“x=”+x);
}
    }
A、5行不能通过编译,因为引用了私有静态变量
B、10行不能通过编译,因为x是私有静态变量
   C、程序通过编译,输出结果为:x=103
D、程序通过编译,输出结果为:x=102
14. 关于以下程序段,正确的说法是(             )
1.  String  s1=”abc”+”def”;
2.  String  s2=new  String(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. 以下说法哪项是正确的(         )
        class  MyListener
        extends  MouseAdapter  implements  MouseListener{
public void mouseEntered(MouseEvent  mev){
        System.out.println("Mouse  entered.");  }
}
A、以上代码可通过编译
B、不能通过编译,因为没有实现MouseListener接口中的所有方法
C、不能通过编译,因为类头定义不能分行
D、能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常三.程序阅读题
1.阅读以下程序:
import java.io.*;
public class  AboutFile{
                public static void main(String[ ]  args){
                        BufferedReader  b=new BufferedReader (new InputStreamReader(System.in));
                        String s;
                        System.out.flush();
                        s=b.readLine();
                        System.out.println(“String is:”+s);
                }
}
运行以上程序,若从键盘输入:
JAVA<回车>
则输出结果为__________________________________。
2.阅读以下程序,输出结果为__________________________________。
class  C1 {
  C1 () {
    System.out.print ("1  ");  }
}
class C2 extends  C1 {
  C2() {
    System.out.print ("2  ");  }
}
public class C3  extends  C2 {
  C 3() {
    System.out.println("3  ");  }
    public static void main(String[] args) {
    C3  c = 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 extends  SuperClass{
  int  add( ) {  return   a+b;  }  
}
4.以下程序段的输出结果为__________________________________。
                int   j=2;
                switch  ( j ) {
                         case  2:
                                System.out.print(“Value is two.”);
                        case  2+1 :
                                System.out.println(“Value is three.”);
                                break;
                        default:
                                System.out.println(“value is “+j);
                                break;
                }
5.阅读以下程序:
class  AExample{
                public static void main(String[ ] args){
                        String s, s1=””;
                        char c;
                        s=args[0];
                        for( int i=0; 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);
}
若在命令行输入以下命令:
                                                java  AExample  helloWORLD<回车>
则程序的输出为__________________________________。
6.阅读以下程序段:
class  Parent
{
                void  printMe()
                {
                        System.out.println(“parent”);
                }
}
class  Child  extends Parent
{
                void  printMe()
                {
                        System.out.println(“child”);
                }
                void  printAll()
                {
                        super.printMe();
                this.printMe();
                printMe();
        }      }
public class Test_this
{
        public static void main(String  args[ ])
        {
        Child  myC=new  Child();
                myC.printAll();}
}
输出结果为:
7.以下程序段的输出结果为__________________________________。
public  class  ABC
{
    public  static  void   main(String  args[ ]){  
                     int   i , j ;
                        int  a[ ] = { 2,1,3,5,4};
                           for  ( i = 0 ; i < a.length-1; i ++ ) {
                                   int  k = i;
                                   for  ( j = i ; j < a.length ;  j++ )
                                           if  ( a[j]                                   int  temp =a[i];
                                   a[i] = a[k];
                                   a[k] = temp;
                           }
                           for  ( i =0 ; i                                    System.out.print(a[i]+"  ");
               System.out.println( );
    }
}
参考答案:
解:
1
 String is: JAVA
5
HELLOworld

2
1  2  3
6
parent child child
3
3
7
1  2  3  4  5

4
value is two






版权声明

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系本站我们将配合处理!

分享: