2020年秋季学期《JAVA编程语言》在线考试(适用于2020年12月份考试)
试卷总分:100
一、单选题 (共 20 道试题,共 20 分)
1.不允许使用指针体现了Java的一种特性是( )
A.可移植
B.解释执行
C.健壮性
D.安全性
答案
2.以下关于Java的使用访问修饰符说法正确的是( )
A.当一个类的变量声明为protected时,同包中的任何其他类能够访问它
B.当一个类的变量声明为private时,同包中的任何其他类能够访问它
C.当一个类的变量声明为public时,不同包中的他类能够不能访问它
D.当一个类的变量声明为protected时,不同包中的子类可以访问该变量
答案
3.用于输入压缩文件格式的ZipInputStream类所属包是( )
A.java.util
B.java.io
C.java.nio
D.java.util.zip
答案
4.Java语言使用的字符码集是( )
A.ASCII
B.BCD
C.DCB
D.Unicode
答案
5.若数组a定义为int[][]a=new int[3][4],则a是( )数组。
A.1维
B.2维
C.3维
D.4维
答案:B
6.面向对象的软件开发过程顺序为( )
A.OOA、OOP、OOB
B.OOA、OOD、OOP
C.OOB、OOP、OOA
D.OOA、OOB、OOP
答案:B
7.若特快订单是一种订单,则特快订单类和订单类的关系是( )
A.使用关系
B.包含关系
C.继承关系
D.无关系
答案:C
8.下列关于Applet的叙述中,正确的是( )
A.Applet是Java类,所以可由JDK中的解释器直接解释运行
B.Applet的主类不一定要定义为java.applet.Applet类或JApplet类的子类
C.Applet与Application的主要区别在执行方式上
D.Applet不能在浏览器中运行
答案:
9.下面( )是Java语言中的关键字。
A.sizeof
B.NULL
C.abstract
D.Native
答案:
10.下列描述中,错误的是( )
A.Java要求编程者管理内存
B.Java的安全性体现在多个层次上
C.Applet要求在支持Java的浏览器上运行
D.Java多线程机制
答案:
11.在Java语言中,( )包是编译器自动导入的。
A.java.applet
B.java.awt
C.java.io
D.java.lang
答案:
12.结构化程序设计所规定的三种基本控制结构是( )
A.输入、处理、输出
B.树形、网形、环形
C.顺序、选择、循环
D.主程序、子程序、函数
答案:
13.当一个部件有一个事件发生,但并没有为这个部件的这个事件指定事件监测器,将会发生( )
A.编译时就不会通过
B.忽略这个事件
C.引起Java程序发生致命错误
D.引发默认的事件处理
答案:
14.如果想让某方法不能被任何外部类访问,应使用访问说明符( )定义。
A.public
B.private
C.default
D.protected
答案:
15.( )是网格布局管理器。
A.BorderLayout
B.FlowLayout
C.ReseauLayout
D.GridLayout
答案:
16.JDK中提供的文档生成器是( )
A.java.exe
B.javap.exe
C.javadoc.exe
D.javaprof.exe
答案:
17.下面语句正确的是( )
A.char c=’abc’;
B.long l=oxfff;
C.float f=0.23;
D.double d=0.7E-3;
答案:
18.( )为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A.static void method( )
B.public void method( )
C.final void method( )
D.abstract void method( )
答案:
19.Panel和Applet的默认布局管理器是( )
A.CardLayout
B.FlowLayout
C.BorderLayout
D.GridLayout
答案:
20.下列选项中,( )反映了Java程序并行机制的特点。
A.安全性
B.多线程
C.跨平台
D.可移植
答案:
二、(共 20 道试题,共 20 分)
21.对于同一个容器,可以使用多种布局管理方式。
答案:
22.Java Applet是由独立的解释器程序来运行的。
答案:
23.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。
答案
24.public方法不能够访问其它类的private数据。
答案:
25.一个抽象类不能直接用new命令创建对象。
答案:
26.Java源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
答案:
27.一个类中可以有多个构造器方法。
答案:
28.子类要调用父类的方法,不必用super关键字。
答案:
29.在定义数组变量时可直接进行内存分配,如:char ch[10];。
答案:
30.类定义时可以不定义构造函数,所以构造函数不是必需的。
答案:
31.一个Java类可以有多个父类。
答案:
32.当一个方法在运行过程中产生异常,则这个方法会终止,但整个程序不一定终止运行。
答案:
33.类及其属性、方法可以同时被多个修饰符来修饰。
答案:
34.Java是一种强数据类型语言。
答案:
35.Java的屏幕坐标以像素为单位,容器的左上角被确定为坐标的起点。
答案:
36.Java程序里,创建新对象用new,回收无用的对象使用free。
答案:
37.静态变量,可通过类名直接访问,也可通过该类的对象访问。
答案:
38.final类中的属性和方法都必须被final修饰符修饰。
答案:
39.用+可以实现字符串的拼接。
答案:
40.对象可以赋值,只要使用赋值号(=)即可,相当于生成了一个各属性与赋值对象相同的新对象。
答案:
三、问答题 (共 5 道试题,共 30 分)
下面程序的运行结果是??
public class Person {
? ? ? ?String name; ? int age;?
? ? ? ?public Person(String s, int age) { ? ?this.name=s; ?this.age=age; ? ?}?
? ? ? ?public void out() { System.out.println(name + "今年" + age + "岁"); }
? ? ? ?public static void main(String[] args) {?
? ? ? ? ? ? ? Person p=new Person("张三", 20);
? ? ? ? ? ? ? p.name="李四"; ?p.out(); ? ?}?
}
答案:
以下程序测试String类的各种构造方法,其运行结果是?
class STR {
public static void main(String args[]) {
? ? ? String s1=new String();
? ? ? String s2=new String("String 2"); char chars[]={'a',' ','s','t','r','i','n','g'}; ? ? String s3=new String(chars);
? ? ? ? ? ? ?String s4=new String(chars,2,6);
? ? ? byte bytes[]={0,1,2,3,4,5,6,7,8,9};
? ? ? StringBuffer sb=new StringBuffer(s3);
? ? ? String s5=new String(sb);
? ? ? System.out.println("The String No.1 is "+s1);
? ? ? System.out.println("The String No.2 is "+s2);
? ? ? System.out.println("The String No.3 is "+s3);
? ? ? System.out.println("The String No
答案:
简述if/else与switch/case语句的区别。
答案:
简述多态性中重载(overload)与覆盖(override)的区别。
答案:
简述关键字this与super的区别。
四、(共 3 道试题,共 30 分)
编程题:计算1/1+1/2+1/3+……+1/100的值。
答案:
编程题:编写Application,输出2~100之间的所有素数。
答案:
编程题:编写一个字符界面的Application,接受从键盘输入的一个正整数,然后统计并输出从1到这个正整数的累加和。
答案: