预赛试题 复赛试题 决赛试题
第五届全国ITAT教育工程就业技能大赛预赛试题
  Java程序设计
 

 

一、单选题(共计60题)

 

  1. (1)下列有关事件监听器的描述正确的是()。C

     A、一个监听器只能接受一个组件产生的事件
     B、只有一个监听器可以被附加到一个组件上
     C、多个监听器可以被附加到一个组件
     D、以上描述都不对

 

  1. (2)当下列程序执行时,其输出结果是()。D

     A、2k
     B、7k
     C、-7k
     D、-3k

 

  1. (3)下列关于修饰符混用的说法错误的是()。B

     A、abstract不能与final并列修饰同一个类
     B、staic方法中能处理非static的属性
     C、abstract方法必须在abstract类中
     D、abstract类中不可以有private的成员

 

  1. (4)下列容器是从java.awt.Window继承的是()。D

     A、Applet
     B、Panel
     C、Container
     D、Frame

 

  1. (5)关于构造方法,下列叙述错误的是()。B

     A、构造方法是类的一种特殊方法,它的方法名必须与类名相同
     B、构造方法的返回类型只能是void型,且书写格式是在方法名前加void前缀
     C、构造方法的主要作用是完成对类的对象的初始化工作
     D、一般在创建新对象时,系统会自动调用构造方法

 

  1. (6)下面2个文件位于相同目录下,编译运行后会出现的情况是()。B

       //File P1.java
       package MyPackage;
       class P1{
       void afancymethod(){
        System.out.println("What a fancy method");
        }
       }
       //File P2.java
       public class P2 extends P1{
       public static void main(String argv[]){
       P2 p2 = new P2();
       p2.afancymethod();
       }
       }
     A、2个文件都可以编译,P2运行输出“What a fancy method”
     B、2个文件P1编译成功,P2编译时报错误
     C、2个文件都可以编译,P2运行时报错误
     D、2个文件都不能编译

 

  1. (7)关于以下组件接口的描述正确的是()。C

     A、TextArea组件可实现的接口是ActionListener
     B、Choice组件可实现的接口是ActionListener
     C、List组件可实现的接口,除了ItemListener,还可以是ActionListener
     D、以上都不对

 

  1. (8)下面代码执行后的结果是()。C

       public class Test3 {
       private int court;
       public static void main(String argv[]) {
       Test3 s = new Test3(99);
       System.out.println(s.court - 5);
       }
       Test3(int ballcount) {
       court = ballcount + 10;
       }
       }
     A、由于court是私有变量,因此产生一个编译失败错误
     B、99
     C、104
     D、109

 

  1. (9)Java虚拟机指的是()。D

     A、由Java语言操作的家用设备(通常是一个漂亮的小烤箱)
     B、运行Java程序所需的硬件设备
     C、Java源代码的编译器
     D、Java字节代码的解释程序

 

  1. (10)java.util.HashTable可以实现的接口是()。C

     A、Java.util.Hashable.
     B、Java.util.List.
     C、Java.util.Map.
     D、Java.util.Collection.

 

  1. (11)下列说法正确的是()。B

     A、字节流中的数据以16位字节为单位进行读写
     B、字符流中的数据以16位字符为单位进行读写
     C、InputStream和OutputStream是字符流的两个顶层父类
     D、Reader和Writer是字节流的两个顶层抽象父类

 

  1. (12)下列关于线程调度的叙述中,错误的是()。D

     A、调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会
     B、调用线程的yeild()方法,只会使与当前线程相同优先级的线程获得运行机会
     C、当有比当前线程的优先级高的线程出现时,高优先级线程将抢占CPU并运行
     D、具有相同优先级的多个线程的调度一定是分时的

 

  1. (13)下列有关整型的最终属性 i 的定义正确的是()。C

     A、static int i;
     B、final i;
     C、static final int i=50;
     D、final float i=1.2f;

 

  1. (14)对于方法重载,下列说法不正确的是()。D

     A、允许在一个类的定义中多个方法使用相同的方法名
     B、实现了java的编译时多态
     C、方法的参数表必须不同,包括参数的类型和个数
     D、方法的返回类型修饰符必须相同

 

  1. (15)下列Java常见事件类中,属于窗体事件类的是()。B

     A、InputEvent
     B、WindowEvent
     C、MouseEvent
     D、KeyEvent

 

  1. (16)分析下面的HTML部分代码 :

       <APPLET code=file_name
       width=60
       height=60>
       </APPLET>
       下列选项可以替代文件名以正确装载运行Hello类小程序的是()。C
     A、"Hello.bytecode"
     B、"Hello.applet "
     C、"Hello.class "
     D、"Hello.java"

 

  1. (17)Java JDK中,用于反编译的命令是()。D

     A、javac
     B、java
     C、jdb
     D、javap

 

  1. (18)下列程序段的输出结果是()。B

       void complicatedExpression(){
       int x=20, y=30;
       boolean b;
       b=x>50&&y>60||x>50&&y<-60||x<-50&&y>60||x<-50&&y<-60;
       System.out.println(b);
       }
     A、true
     B、false
     C、1
     D、0

 

  1. (19)Java语言的许多特点中,()是C++语言所不具备的。B

     A、高性能
     B、跨平台
     C、面向对象
     D、有类库

 

  1. (20)下面代码行中编译的时候不会报警告或错误的是()。D

     A、float f=1.3;
     B、char c="a";
     C、byte b=257;
     D、boolean b=false;

 

  1. (21)下列有关构造函数描述正确的是()。D

     A、所有类都必须定义一个构造函数
     B、构造函数必须有返回值
     C、构造函数必须访问类的非静态成员
     D、构造函数可以初始化类的成员变量

 

  1. (22)编译和运行下面代码时显示的结果是()。A

       public class ThisConstructorCall {
       public ThisConstructorCall(String s) {
       System.out.println("s = " + s);
       }
       public ThisConstructorCall(int i) {
       this("i = " + i);
       }
       public static void main(String args[]) {
       new ThisConstructorCall("String call");
       new ThisConstructorCall(47);
       }
       }
     A、s = String call
     s = i = 47
     B、String call
     s = i
     C、s = String call
     i = 47
     D、String call
     s = i = 47

 

  1. (23)分析下面的代码,其输出结果是()。B

       public class Test3 {
       public static void main(String[] args) {
       String foo = "blue";
       String bar = foo;
       foo = "green";
       System.out.println(bar);
       }
       }
     A、一个异常抛出
     B、blue
     C、null
     D、green

 

  1. (24)Frame类对象的默认布局是()。B

     A、FlowLayout布局
     B、BorderLayout布局
     C、CardLayout布局
     D、GridLayout布局

 

  1. (25)下面关于类的说法错误的是()。D

     A、类是Java语言中的一种复合数据类型
     B、类中包含数据变量和方法
     C、类是对所有具有一定共性的对象的抽象
     D、Java语言的类支持单继承和多继承

 

  1. (26)运行以下代码,并在命令行输入:java MyProg good morning,则输出结果是()。B

       public class MyProg {
       public static void main(String argv[])
       {
       System.out.println(argv[0]);
       }
       }
     A、myprog
     B、good
     C、morning
     D、Exception raised: "java.lang.ArrayIndexOutOfBoundsException: 2"

 

  1. (27)字符输出流类都是()抽象类的子类。C

     A、FilterWriter
     B、FileWrite
     C、Writer
     D、OutputStreamWrite

 

  1. (28)下面关于Java应用程序中main方法的写法,合法的是()。B

     A、public static void main()
     B、public static void main(String args[])
     C、public static int main(String [] arg)
     D、public void main(String arg[])

 

  1. (29)对象是Java中很重要的概念,下列说法中能准确地描述对象的是()。A

     A、对象可以理解为一种数据结构,具有操作数据的方法
     B、对象是抽象的,类可以通过对象来生成
     C、对象是通过import语句引入到程序中的所有包
     D、对象是一组具有共同的结构和行为的类

 

  1. (30)分析下面程序,其正确的输出结果是()。B

       class  A {
       public static void main(String args[]) {
       String s1, s2;
       s1 = new String("we are students");
       s2 = new String("we are students");
       System.out.println(s1.equals(s2));
       System.out.println(s1 == s2);
       }
       }
     A、true,true
     B、true,false
     C、false,true
     D、false,false

 

  1. (31)下列常见的系统定义的异常中,属于主机网络故障异常的是()。D

     A、ClassNotFoundException
     B、IOException
     C、FileNotFoundException
     D、UnknownHostException

 

  1. (32)下面代码执行后,正确的输出结果是()。A

       String s1="You are hired!";
       System.out.println(s1.replace(’h’,’f’)); //用f把字串中的h替换了
       System.out.println(s1);
     A、You are fired!
     You are hired!
     B、You are fired!
     You are fired!
     C、You are hired!
     You are hired!
     D、You are hired!
     You are fired!

 

  1. (33)假定有变量定义: int k=7,x=12; 则下列选项中值为4的表达式是()。C

     A、x%=(k%=5)
     B、x%=(k-k%5)
     C、(x%=k)-(k%=5)
     D、x%=k-k%5

 

  1. (34)在Java中,创建日期类Date对象,需要在程序中用import导入的包是()。C

     A、java.applet
     B、java.awt
     C、java.util
     D、java.lang

 

  1. (35)下列叙述错误的是()。D

     A、接口与类的层次无关
     B、通过接口说明类所实现的方法
     C、通过接口可了解对象的交互界面
     D、接口与存储空间有关

 

  1. (36)当下列程序执行时,其输出结果是()。C

       int i = 9;
       switch (i) {
       default:
       System.out.println("default");
       case 0:
       System.out.println("zero");
       break;
       case 1:
       System.out.println("one");
       case 2:
       System.out.println("two");
       }
     A、default
     B、zero
     C、default, zero
     D、没有输出结果

 

  1. (37)下列程序段的输出结果是()。D

       public class OperatorsandExpressions{
       public static void main(String args[]){
                int a=5,b=4,c=3;
                System.out.println("abc"+a+b+c+3);
        }
       }
     A、abc15
     B、abcabc3
     C、abc3
     D、abc5433

 

  1. (38)在Java中,所有类的根类是()。D

     A、java.awt.Frame
     B、java.lang.Class
     C、java.applet.Applet
     D、java.lang.Object

 

  1. (39)下列选项中关于程序运行结果的描述正确的是()。A

       public class Ex4_7{
       public static void main(String args[]){
       int a[]=new int[5];
       boolean b[]=new boolean[5];
       System.out.print(a[1]);
       System.out.println(b[2]);
       }
       }
     A、程序运行结果为0false
     B、程序运行结果为1true
     C、程序无法通过编译
     D、程序可以通过编译但结果不确定

 

  1. (40)setLayout ( )方法使用的参数类型是()。C

     A、Graphics
     B、Graphics2D
     C、LayoutManager
     D、Layout

 

  1. (41)有以下程序段:

       class MyThread extends Thread {
       public static void main(String args[]) {
       MyThread t = new MyThread();
       MyThread s = new MyThread();
       t.start();
       System.out.print("one.");
       s.start();
       System.out.print("two.");
       }  public void run() {
       System.out.print("Thread");
       }
       }

       则下列选项说法正确的是()。C
     A、程序编译失败
     B、程序运行结果为:one.Threadtwo.Thread
     C、程序运行结果不确定
     D、程序运行结果是:one.two.ThreadThread

 

  1. (42)不能通过add方法添加到Container容器中的是()。D

     A、a Button
     B、a Component
     C、a Container
     D、a MenuComponent

 

  1. (43)下面变量var的作用域范围是()。B

       1)   int x;
       2)  switch(x){
       3)  case 0:
       4)  {
       5)   int var;
       6)   //process
       7)  }
       8)  break;
       9)  case 1:
       10) {
       11) int var1;
       12) //process
       13) }
       14) break;
       15) }
       A、1和15行之间
       B、5和7行之间
       C、3和7行之间
       D、5和13行之间

 

  1. (44)在Java语言中,属于编译器自动导入的包是()。D

     A、java.applet
     B、java.awt
     C、java.io
     D、java.lang

 

  1. (45)下列常见的系统定义的异常中,编译时无法找到类的异常是()。A

     A、ClassNotFoundException
     B、IOException
     C、FileNotFoundException
     D、UnknownHostException

 

  1. (46)下面是一个Java程序片段:

       public void paint (Graphics g)
       {
         int x = 20;
         int y = 10;
         paintPicture( g, x, y);
       }
       public void paintPicture(Graphics g, int a, int b)
       {
         g.setColor(Color.red);
       }

       当执行这段代码时,paintPicture方法中参数"a"的值将是()。C
     A、10
     B、0
     C、20
     D、这段代码不能够编译。这是一个错误,因为从来没有声明参数"a"和给它赋值

 

  1. (47)一个可以独立运行的Java应用程序,包含的main方法()。B

     A、可以为一个或多个
     B、只能有一个
     C、可以为一个或零个
     D、最多两个

 

  1. (48)下面语句段处理后,ch的值是()。D

       char ch = ’A’;
       ch = (char) (ch ^ 7);
     A、A
     B、C
     C、D
     D、F

 

  1. (49)当输入一个字节流时,需要()。A

     A、实现DataInput接口
     B、实现ObjectInput接口
     C、Serializable接口
     D、继承Reader抽象类

 

  1. (50)编译和运行下面代码时的显示结果是()。A

       public class Test3 {
       public static void main(String argv[]) {
       Test3 c = new Test3();
       String s = new String("ello");
       c.amethod(s);
       }
       public void amethod(String s) {
       String c = "H";
       c += s;
       System.out.println(c);
       }
       }
     A、Hello
     B、ello
     C、elloH
     D、编译错误

 

  1. (51)如下代码的执行结果是()。B

       boolean m = true;
       if ( m == false )
       System.out.println("False");
       else
       System.out.println("True");
     A、False
     B、True
     C、None
     D、An error will occur when running

 

  1. (52)下面语句正确的是()。D

     A、char=’abc’;
     B、long l=oxfff;
     C、float f=0.23;
     D、double d=0.7E-3;

 

  1. (53)下列方法中可以用来创建一个新线程的是()。B

     A、实现java.lang.Runnable接口并重写start()方法
     B、实现java.lang.Runnable接口并重写run()方法
     C、继承java.lang.Thread类并重写run()方法
     D、实现java.lang.Thread类并实现start()方法

 

  1. (54)Applet可以完成的操作是()。C

     A、读取客户端文件
     B、在客户端创建新文件
     C、读取Applet所在服务器的文件
     D、在客户端调用其他程序

 

  1. (55)有整型数组:int[] x={2,33,88,5,10};,则调用方法 Arrays.sort(x) 后,数组x中的元素值依次是(      )。C

     A、88 33 10 5 2
     B、2 5 33 88 10
     C、2 5 10 33 88
     D、2 5 33 10 88

 

  1. (56)自定义的异常类可从下列()类继承。D

     A、Error
     B、aWTError
     C、VirtualMachineError
     D、Exception及其子集

 

  1. (57)在Java图形用户界面编程中,若显示一些需要添加或修改的单行文本信息,一般是使用(  )类的对象来实现。D

     A、Label
     B、Button
     C、Textarea
     D、TestField

 

  1. (58)监听器接口的方法返回值是()。C

     A、int
     B、String
     C、void
     D、Object
     E、AWTEvent

 

  1. (59)在 Java 中,能实现多继承效果的方式是()。C

     A、内部类
     B、适配器
     C、接口
     D、同步

 

  1. (60)为AB类的一个无形式参数且无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。A

     A、static  void  method( )
     B、public  void  method( )
     C、final  void  method( )
     D、abstract  void  method( )

 

二、多选题(共计20题)

 

  1. (1)根据理解填充下面代码中第3行的内部类描述,下列选项正确的有()。CD

       1. public class OuterClass {
       2. private double d1 = 1.0;
       3. //在此处插入代码
       4. }
     A、class InnerOne{
     public static double methoda() {return d1;}
     }
     B、public class InnerOne{
     static double methoda() {return d1;}
     }
     C、private class InnerOne{
     double methoda() {return d1;}
     }
     D、abstract class InnerOne{
     public abstract double methoda();
     }
     E、static class InnerOne{
     protected double methoda() {return d1;}
     }

 

  1. (2)下面代码执行后,正确的输出结果是()。DF

       public class Example {
       public static void main(String args[]) {
       int l = 0;
       do {
       System.out.println("Doing it for l is:" + l);
       } while (--l > 0);
       System.out.println("Finish");
       }
        }
     A、Doing it for l is 3
     B、Doing it for l is 1
     C、Doing it for l is 2
     D、Doing it for l is 0
     E、Doing it for l is ?C1
     F、Finish

 

  1. (3)下列选项中,能有效声明一个字符的语句有()。ABE

     A、char ch =’a’;
     B、char ch =’\’’;
     C、char ch =’cafe’;
     D、char ch ="cafe";
     E、char ch =’\ucafe’;
     F、char ch =’\u10100’;
     G、char ch = (char) true;

 

  1. (4)下列选项中可以替换所给代码中第2行的有( )。ABG

       1. public interface Foo{
       2. int k = 4;
       3. }
     A、final int k = 4;
     B、public int k = 4;
     C、transient int k = 4;
     D、private int k = 4;
     E、abstract int k = 4;
     F、volatile int k = 4;
     G、static int k = 4;
     H、protected int k = 4;

 

  1. (5)下列选项中,能正确声明一个一维数组的有()。ABD

     A、String [] a
     B、String a[]
     C、char a[][]
     D、String a[];

 

  1. (6)创建一个向文件“file.txt”追加内容的输出流对象的语句有()。AE

     A、FileOutputStream out=new FileOutputStream(“file.txt”, true);
     B、OutputStream out=new FileOutputStream(“file.txt”, “append”);
     C、OutputStream out=new FileOutputStream(“file.txt”);
     D、FileOutputStream out=new FileOutputStream(new file(“file.txt”));
     E、OutputStream out=new FileOutputStream(new File(“file.txt”),true);

 

  1. (7)下面说法错误的有()。ABC

     A、用new运算符来创建的对象,在JVM退出时才会被做垃圾回收
     B、判断一个对象是否可以被垃圾回收的条件为是否还有对该对象的引用
     C、java函数的参数传递规定,所有的原始类型(如整数)和对象(使用new来创建的)都为地址传递
     D、java函数支持重载,但函数必须至少有一个参数的类型不同或个数不同

 

  1. (8)下列说法正确的有()。CD

     A、Java是不区分大小写的,源文件名与程序类名不允许相同
     B、Java语言以方法为程序的基本单位
     C、applet是Java的一类特殊程序,它可以嵌入HTML中,随网页发布到互联网上
     D、Java中单行注释语句以“//”符开始

 

  1. (9)可用于定义新线程类的方法有()。AD

     A、implement the Runnable interface
     B、add a run() method in the class
     C、create an instance of Thread
     D、extend the Thread class

 

  1. (10)下面叙述正确的有()。BC

     A、java中的集合类(如Vector)可以用来存储任何类型的对象,且大小可以自动调整。可以不需要知道存储对象的类型,就能正常使用
     B、在java中,可以用异常(Exception)来抛出一些并非错误的消息,但这样比直接从函数返回一个结果要花费更大的系统开销
     C、java接口包含函数声明和常量声明
     D、java中,子类不可以访问父类的私有成员和受保护的成员

 

  1. (11)如下选项中可以从WindowEvent获取事件源的方法有()。CD

     A、getFrame()
     B、getID()
     C、getSource()
     D、getWindow()

 

  1. (12)下列说法中正确的有()。AC

     A、类是变量和方法的集合体
     B、数组是无序数据的集合
     C、抽象类不可以实例化
     D、类成员数据必须是公有的

 

  1. (13)菜单组成的基本要素包括()。ACD

     A、菜单条
     B、菜单框
     C、菜单
     D、菜单项

 

  1. (14)可以使用throw语句抛出的对象包括()。ACEF

     A、Error
     B、Event
     C、Exception
     D、Object
     E、Throwable
     F、RuntimeException

 

  1. (15)下列关于String类和stringBuffer类说法正确的有()。ABCD

     A、String类是不可变类,一个String对象所包含的字符串内容永远不会被改变
     B、如果对字符串中的内容经常进行操作,特别是内容要修改时,应使用StringBuffer
     C、StringBuffer类是可变类,一个StringBuffer对象所包含的字符串内容可以被添加或修改
     D、字符串缓冲区支持可变的字符串

 

  1. (16)下面关于布局管理器说法正确的有()。ACD

     A、布局管理器用来管理组件放置在容器中的位置和大小
     B、不是每个容器都有一个布局管理器
     C、使用布局管理器可以使JAVA生成的图形用户界面具有平台无关性
     D、布局管理器LayoutManager本身是一个接口,通常使用的是实现了该接口的类

 

  1. (17)可以限制一个方法重载的声明语句有()。AC

     A、final void methoda() {}
     B、void final methoda() {}
     C、static final void methoda() {}
     D、static void methoda() {}
     E、final abstract void methoda() {}

 

  1. (18)关于Applet的生命周期,下列说法不正确的有()。ABC

     A、stop方法在start方法之前执行
     B、init方法在start方法之后执行
     C、stop方法在Applet退出时被调用,只能被调用1次
     D、stop方法在Applet不可见时会被调用,可以被调用多次

 

  1. (19)下面选项中是public void example(){...}的重载函数的有()。CD

     A、public void example2(){...}
     B、public int example(){...}
     C、public void example( int m){...}
     D、public int example ( int m, float f){...}

 

  1. (20)下面关于Java语言说法正确的有()。BD

     A、Java语言是面向对象的、解释执行的网络编程语言
     B、Java语言具有可移植性,是与平台无关的编程语言
     C、Java语言不能对内存垃圾自动收集
     D、Java语言编写的程序虽然是“一次编译,到处运行”,但必须要有Java的运行环境

 

 

 


  附件: 
 

Copyright © 2006 - 2012 www.itatedu.com All Rights Reserved.