Java程序设计试题一及答案
一、选择题每题2分,共40
1、在 Java 中,用 package 语句说明一个包时,该包的层次结构必须是(    )
A、与文件的结构相同    B、与文件目录的层次相同
C、与文件类型相同      D、与文件大小相同
2、Java语言的类型是(      )
A、面向对象语言        B、面向过程语言
C、汇编程序            D、形式语言
3、在 Java 中,所有类的根类是(      )。
A、java.lang.Object      B、java.lang.Class
C、java.applet.Applet  D、java.awt.Frame
4、(      )是不能被当前类的子类重新定义的方法。
A、抽象方法    B、私有方法      C、最终方法      D、构造方法
5、Java的字符类型采用的是Unicode编码方案,每个Unicode码占用(        )个比特位。
A、8          B、16            C、32            D、64
6、下列对继承的说法,哪个是正确的?  (      )
A、子类能继承父类的所有方法和状态
B、子类能继承父类的非私有方法和状态
C、子类只能继承父类public方法和状态
D、子类只能继承父类的方法,而不继承状态
7、下列哪些内容是异常的含义? (      )
A、程序的语法错
B、程序运行中所发生的异常事件
C、程序预先定义好的异常事件
D、程序编译错误
8、下列命令中,哪个命令是Java的编译命令?(    )
c和java先学哪个A、javac              B、java
C、javadoc            D、appletviewer
9、在Java中,子类可继承父类中的方法,有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这种面向对象程序特性称为(    )
A、隐藏                B、重载
C、覆盖                D、Java不支持此特性
10、若数组a定义为int[][]a=new int[3][4],则a是 (    )
 A、一维数组        B、二维数组       
C、三维数组        D、四维数组
11、下列关于Java语言特点的叙述中,错误的是      (      )
A、Java是面向过程的编程语言
B、Java支持分布式计算
C、Java是跨平台的编程语言
D、Java支持多线程
12、用来导入已定义好的类或包的语句是(    )
A、public                  B、class
C、public class            D、import
13、SQL语言又称为(    )
    A、结构化定义语言        B、结构化控制语言
    C、结构化查询语言        D、结构化操纵语言
14、下列的哪个选项可以正确用以表示十六进制值16?(    )
    A、0x8        B、0x10        C、08          D、010
15、要想定义一个不能被子类继承的的类,在类定义中必须加上修饰符(    )。
A、 final        B、 public 
C、 private      D、abstract
16、Java源文件和编译后的文件扩展名分别为(      )
A、.class和 .java        B、.java和 .class 
C、.class和 .class        D、.java和 .java
17、设数组age由以下语句定义
    int age=new int[9];
    则数组的最后一个元素的正确引用方法为(      )
    A、age[9]    B、age[0]      C、age[0 ]      D、age[8]
18、以public修饰的类如:public class HW{    }  则HW(      )
    A、不能被其它类继承          B、仅能被本程序包中的类使用   
    C、不能被任意其它类使用      D、可被其它程序包中的类使用
19、属于main()方法的返回类型是(    )
A、public        B、static
C、void          D、main
20、下列构造方法的调用方式中,正确的是(      )。
A、按照一般方法调用
B、由用户直接调用
C、只能通过 new 自动调用
D、被系统调用
二、填空题(每空2分,共20分)
1、循环语句包括_________________语句、while语句和__________________语句。
2、在Java语言中,实型常量7.6545默认为___________________类型的数据。
3、声明异常抛出用_______________子句来完成声明,它包含在方法的声明之中。
4、顺序执行以下两个语句的输出结果是:_____________________。
String s="我喜欢学习计算机";
System.out.println(s.length());
5、用_____________________修饰的方法,称为静态方法。
6、如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,请写出该类的声明头:_____________________________________________。
7、被关键字_____________修饰的方法是不能被当前类的子类重新定义的方法。
8、面向对象技术具有__________________、_________________多态性等特性。
三、判断题(每小题2分,共20分)
1、Java语言的标识符的命名是区分大小写的。              (      )
2、Java源程序的文件名与public类型的类名必须相同。      (      )
3、构造函数是类的一种特殊方法,它的方法名必须与类名相同(      )                                 
4、编译语句double a=37.2; 不会出现编译错误。            (      )
5、定义完数组后,我们可以根据实际需要动态调整数组大小。 (      )
6、子类能继承父类的所有方法和属性。                    (      )
7、方法的重载是指子类和父类具有相同的名字、相同的参数表。(      )
8、在Java中子类只能继承父类public方法和属性。        (      )
9、Java语言是一种完全的面向对象的程序设计语言。        (      )
10、在面向对象方法中,类的实例称为对象。              (      )
四、综合题(第1题12分,第2题8分共20分)
1、写出一个类Computer,并由该类做基类派生出子类Notebook和Desktop。其中Computer类具有cpu、ram两个成员变量,分别为String类型、整型,且具有公有的getRam成员方法,用于返回ram变量的值。Notebook类具有成员变量factory, 为String类型,Desktop类具有comclass成员变量, 为String类型。
2、编写程序,在屏幕上输出200以内不能被3整除的数和(1+2+4+5+7+…+200)。
public class  MyJava{
    public static void main(String[] args) {
        int i,s = 0;//定义循环变量 i,总和 s
       
        System.out.println("1+2+4+5+7+…+200的和为:"+s);
    }
参考答案
一、    选择题
1-5  BAACB  6-10 BBACB  11-15 ADCBA  16-20 BDDCC
二、填空题
1、for、do while  2、double  3、throws  4、8
5、static  6、public class MyFrame extends Frame
7、final  9、封装性、继承性
三、判断题
1-5  √√√√×    6-10  ×××√√
四、综合题
1、
class Computer {
    String cpu;
    int ram;
    public int getRam(){
        return ram;
    }
}
class Notebook extends Computer {
    String factory;
}
Class Desktop extends Computer {
    String comclass;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。