《大连理工Java程序设计2022年春期末考试复习题及答案.pdf》由会员分享,可在线阅读,更多相关《大连理工Java程序设计2022年春期末考试复习题及答案.pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、大工Java 程序设计期末考试复习题 第1页 共16页 机 密启用前 大连理工大学网络教育学院 2022 年春Java 程序设计 期末考试复习题 注意事项:本复习题满分共:400 分。一、单选题(本大题共 50 小题,每小题 2 分,共 100 分)1、关于可以独立运行的 Java 应用程序,下列说法正确的是()。A无须 main 方法 B必须有两个 main 方法 C可以有多个或 0 个 main 方法 D必须有一个 main 方法【答案】D 2、Java 创建一个对象使用的关键字是()。Aclass Binterface Cnew Dcreate【答案】C 3、执行如下代码:intx=ne
2、w int5;,以下说法正确的是()。Ax4为 0 Bx4未定义 Cx5为 0 Dx0为空【答案】A 4、用关键字 abstract 定义的类()。A可以被实例化 B不能派生子类 C不能被继承 D只能被继承【答案】D 5、假设对象 x 具有属性 a,则访问该属性的方法是()。Aa.x Ba.x()Cx.a Dx.a()【答案】C 6、下面是一个无修饰符的类:class Car.,则类 Car()。A可被其他程序包中的类使用 B仅能被本程序包中的类使用 C不能被任何类使用 大工Java 程序设计期末考试复习题 第2页 共16页 D不能被其他类继承【答案】B 7、构造方法在什么时候被调用()?A类
3、定义时 B使用对象的属性时 C使用对象的方法时 D对象被创建时【答案】D 8、下列选项不允许作为类及类成员访问控制符的是()。Apublic Bprivate Cstatic Dprotected【答案】C 9、表达式(short)(8/9.2*5)的值类型为()。Ashort Bint Cdouble Dfloat【答案】A 10、类 B 和类 C 都不是抽象类,并且类 B 是类 C 的父类。下面声明对象 x1 的语句不正确的是()。AB x1=new B()BB x1=new C()CC x1=new C()DC x1=new B()【答案】D 11、下列关于 Java 内部类的叙述错误的
4、是()。A内嵌类型可以与外层类型同名 B内部类可以声明为抽象类 C内部类中可以声明成员变量和成员方法 D内部类可以继承父类或实现接口【答案】A 12、表达式:(ab)?(cd)?a:c:d,(其中 a=5,b=9,c=1,d=9)的值为()。A5 B8 C1 D9【答案】D 13、下列哪一个方法不是 Applet 生命周期相关的 4 个方法之一()。Ainit()Bstart()Cwait()Dstop()【答案】C 14、下面的 Java 变量中,不属于复合类型的数据类型是()。大工Java 程序设计期末考试复习题 第3页 共16页 A类 B字符型 C数组型 D接口【答案】B 15、Java
5、 中表示回车符的转义字符是()。At Bn Cr Df【答案】C 16、Java 程序的执行过程中用到一套 JDK 工具,其中 javac.exe 是指()。AJava 文档生成器 BJava 解释器 CJava 编译器 DJava 类分解器【答案】C 17、定义一个名为“Car”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应该为()。Aprivate class Car extends Object Bpublic class Car Cclass Car extends Object Dprivate class Car【答案】B 18、当方法遇到异常又不知如何处理时,下列
6、说法正确的是()。A捕获异常 B抛出异常 C声明异常 D嵌套异常【答案】C 19、Java 中的哪个类提供了随机访问文件的功能()。ARandomAccessFile 类 BFile 类 CRandomFile 类 DAccessFile 类【答案】A 20、下列哪个 Java 标识符是合法的()。Anew Bclass Cint Dconst1【答案】D 21、Java 程序源文件和经编译后的文件扩展名分别是()。A.class 和.java B.java 和.class C.class 和.class 大工Java 程序设计期末考试复习题 第4页 共16页 D.java 和.java【答案
7、】B 22、关于 Swing 组件,下列描述不正确的是()。ASwing 库是 AWT 库的扩展,Swing 组件称为重型组件 BSwing 组件不直接使用本地组件 C基于 Swing 组件的图形用户界面,采用 Jframe 框架作为主窗口 DSwing 组件都是放到容器中【答案】A 23、下列语句中,()是不能通过编译的语句。Adouble d=545.0;Bchar a1=c;Cint i=321;Dfloat f1=45.0f;【答案】B 24、下列有关线程的描述正确的是()。A并发线程之间均是无关的 B并发线程之间均是交互的 C交互线程之间只存在协作关系 D线程的同步机制包括线程互斥和
8、线程同步【答案】D 25、Java 程序设计语言中,JDBC 指的是()。AJava 程序与数据库连接的一种机制 BJava 程序与浏览器交互的一种机制 CJava 类库名称 DJava 类编译程序【答案】A 26、下列完整性,不属于关系型数据库三类完整性规则的是()。A实体完整性 B数据完整性 C参照完整性 D用户定义完整性【答案】B 27、下列 java 标识符的书写,错误的是()。A_sys B$change Cuser_name D1_file【答案】D 28、Java 中类实现的接口以及修饰不可以是()。Apublic Babstract Cfinal Dvoid【答案】D 29、下
9、列特性中,不属于面向对象编程的三大特征的是()。A封装 大工Java 程序设计期末考试复习题 第5页 共16页 B指针操作 C多态 D继承【答案】B 30、执行如下语句序列:int j=4,k=20;for(int i=1;i!=j;i+)k=k-i;k 的值是()。A10 B24 C12 D14【答案】D 31、Java 源代码保存在扩展名为()的文件中。A.exe B.java C.class D.javac【答案】B 32、调用 alphabet.substring(6,10)返回的子字符串是()。AGHIJ BFGHI CHIJ DGHI【答案】A 33、关于 while 和 dowh
10、ile 语句的说法,错误的是()。A都是 Java 的循环语句 Bwhile 语句至少迭代一次 Cdowhile 语句至少迭代一次 D两者都可以迭代多次【答案】B 34、inta;和 intb=new int0;关于这两个语句的说法错误的是()。Aa 为空数组 Bb 不是空数组 Ca 是分配了 0 个元素的数组 Db 是分配了 0 个元素的数组【答案】C 35、下列关于 Java 中方法的说明,错误的是()。A方法调用必须指定方法名和实际参数 B写在 return 后面的语句不会被执行 CJava 应用程序从 main()方法开始执行 Dmain()方法不能被其他方法调用,包括 Java 虚拟
11、机【答案】D 36、关于构造方法和方法的说法,错误的是()。A构造方法可以创建类的对象 B构造方法和方法都有返回值类型 C构造方法使用 new 操作符调用 D方法使用句点操作符调用【答案】B 大工Java 程序设计期末考试复习题 第6页 共16页 37、下列类中,属于 java.lang 包中的类的是()。AArrays 类 BMath 类 CDate 类 DCalendar 类【答案】B 38、下列关于方法修饰符的叙述,错误的是()。Afinal 修饰的方法在类中可以被重载 Bprivate 修饰的方法指该方法只能从其自身的类中访问 Cnative 修饰的方法表示方法体是以另一种程序设计语言
12、实现的 Dprotected 修饰的方法指该方法只能从其自身的类及其扩展中访问【答案】A 39、下列哪一项不属于 java.awt 中的布局管理器类()。AFlowLayout BTableLayout CBorderLayout DGridLayout【答案】B 40、java.util 包定义了 3 种一般类型的集合,下列哪一个不是()。AList BMap CSet DHash【答案】D 41、JApplet 类的直接父类是()。AComponent 类 BContainer 类 CApplet 类 DPanel 类【答案】C 42、下列协议中不属于网络层协议的是()。ADNS BIP
13、CICMP DIGMP【答案】A 43、下列属于文本数据流的是()。A源代码程序 B音频 C图像 D视频【答案】A 44、关于 I/O 类的说明,错误的是()。AI/O 类主要有 4 种 BInputStream 和 Reader 类用于输入 COutputStream 和 Writer 类用于输出 大工Java 程序设计期末考试复习题 第7页 共16页 DReader 和 Writer 类用于处理二进制文件【答案】D 45、下列不属于 JDBC 提供的驱动程序的是()。A本地库 Java 实现驱动程序 B网络协议驱动程序 C数据库协议驱动程序 D硬盘协议驱动程序【答案】D 46、下面哪种类是
14、用简单数组来实现的()。AHashSet BLinkedHashSet CTreeSet DTreeMap【答案】A 47、下列关于 Applet 小程序的叙述正确的是()。AApplet 可以独立运行 BApplet 小程序也必须有 main()方法 CPanel 类是 Applet 类的子类 DJApplet 类是 Applet 类的子类【答案】D 48、关于接口的说明,错误的是()。A接口可以包含嵌套类和接口 B接口可以作为一种数据类型来声明变量和参数 C接口可以扩展一个类 D接口无构造函数【答案】C 49、下列哪一个特性不是进程和线程所共有的()。A结构性 B共享性 C动态性 D独立性
15、【答案】D 50、下列不可以正确表示 Java 标识符的是()。A$max Babc C_min Dpublic【答案】D 二、判断题(本大题共 50 小题,每小题 2 分,共 100 分)1、JDK 提供 Java 程序的编译运行命令和程序编辑环境。()2、Java 中的 int 类型占用 32 位,这与操作系统的位数无关。()3、Java 的数组都是动态数组,必须使用 new 为其分配空间。()4、参数列表和返回值的不同都可以独立决定方法重载。()5、子类继承父类,则继承了父类中所有的方法。()6、包含抽象方法的类必须声明为抽象类,但抽象类可以不包含抽象方法。()大工Java 程序设计期末
16、考试复习题 第8页 共16页 7、Calendar 类可以用 final 修饰。()8、进程和线程都具有独立性。()9、Applet 是可以嵌入 Web 页的最小应用,能独立运行。()10、FileInputStream 类使用字节读取文件时可以直接操作 Unicode 字符。()11、Java 应用程序的两种形式 Application 和 Applet 都可以独立运行。()12、Java 提供 3 种注释方式,其中/*/是多行注释。()13、Java 字符串可以用字符串变量操作,也可以用字符数组操作。()14、Java 不支持结构和联合,类的功能就类似于结构和联合。()15、拷贝构造函数就
17、是指一个类中参数是该类对象的构造方法。()16、在 Java 中,Object 类是其他所有类的祖先类。()17、父类对象可以引用子类实例,子类对象也可以引用父类实例。()18、方法的重载都是编译时多态。()19、程序中所有的错误都是异常。()20、Arrays 类的所有方法都是静态方法。()21、File 类提供对文件的操作,其中通过流进行文件读写操作。()22、Java支持的UDP数据报通信需要DatagramPacket和DatagramSocket两个类配合。()23、构造函数可以用 this 和 super 关键字来调用其他的构造函数。()24、javax.swing.JLabel
18、用于在窗口中显示文本。()25、在 Java 中,大多数的图形定义在 java.awt 包和 javax.swing 包中。()26、二进制文件是按 16 位字节来访问的,文本文件是按 8 位字符来访问的。()27、ArrayList 对象作为 Java 集合框架的一个成员,支撑 Collection 接口的所有方法。()28、LinkedHashSet 类和 LinkedHashMap 类是单用链式结构来实现的。()29、Java 虚拟机是一种软件系统,它可以翻译和运行 Java 字节码。()30、编译器把源代码程序翻译成机器语言程序,解释器是在需要时才分别翻译并运行源代码的每个句子。()3
19、1、Java 不支持多重继承,但支持友元类和运算符重载。()32、Java 采用域管理方式的安全模型,无论是本地代码还是远程代码,都可以通过配置策略设定可访问的资源域。()33、Java 程序经编译之后生成可执行文件(*.exe),再由 Java 虚拟机解释执行。()34、Java 语言没有全局函数的概念。()35、Java 中 main()方法可以调用其他方法,同样也可以被其他方法调用。()36、一个类的构造方法,如果其参数是该类对象,称为拷贝构造方法。()37、类有 2 种访问控制权限,类中成员有 4 种访问控制权限。()38、内部类使 Java 具有实现多继承的能力。()39、Java
20、中的所有类均可以被继承。()40、Window 窗口类和 Panel 面板类都是 Container 容器的子类。()41、在计算机中,图形与图像是完全相同的概念。()42、进程是操作系统中能够独立执行的实体,是处理器调度和分派的基本单位。()43、独立性是区别进程和线程的重要特征。()44、Java 提供两种方式实现多线程程序设计:继承 Thread 类和实现 Runnable 接口。()45、当 Java 提供的异常类不能满足需要时,可以自定义异常类,自定义异常类必须是Exception 的子类。()46、Window 窗口类的默认布局是 FlowLayout,Panel 面板类的默认布局
21、是 BorderLayout。大工Java 程序设计期末考试复习题 第9页 共16页()47、文件是存储在外部存储介质上的信息集合。()48、流是文件系统组织和管理文件的基本单位。()49、JDBC 和 ODBC 数据源均需要手工配置。()50、TCP 和 UDP 均是面向连接的协议。()三、简答题(本大题共 17 小题,每小题 5 分,共 85 分)1、简述 Java 程序的可移植性。与平台无关的特性使 Java 程序可以方便地被移植到网络上的不同机器。同时,Java 的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,Java 编译器是由 Java 语言实现的,Java 运行时系统
22、由标准 C 实现,这使得 Java 系统本身也具有移植性。Java 的这种可移植性也许是 Java 最诱人的特点。用 Java 开发成的系统其移植工作几乎为 0,一般情况下只需对配置文件、批处理文件做相应的修改即可实现平滑移植。2、抽象类和抽象方法有什么特点?一个抽象类里面可以没有抽象方法,但含有抽象方法的类必定是抽象类;抽象类不能被实例化为对象,而只能作为其他类的超类,并且必须被继承;若某子类继承自一个抽象类,而该子类不是抽象类,则子类需要覆盖的方式来实例化超类中的所有抽象方法。抽象方法可再与 public、protected 复合使用,但不能与 final、private 和 static
23、 复合使用;抽象方法只有方法声明,不能有方法体。3、什么是异常?为什么要进行异常处理?异常,是指由于程序运行时发生错误,从而导致程序错误结束。在进行程序设计时,错误的产生是不可避免的,没有异常处理代码的程序,在运行时发生错误则可能非正常结束,引起严重问题。因此,Java 给程序员提供了处理运行时错误的功能,称为异常处理。4、String 类和 StringBuffer 类的主要区别是什么?String 类:用于比较两个字符串,查找和抽取串中的字符或子串,字符串与其他类型的转换等,String 类对象的内容一旦被初始化就不能再改变。StringBuffer 类:用于内容可以改变的字符串,可以将其
24、他各种类型的数据增加、插入到字符串中,也可以翻转字符串中原来的内容。5、为什么用一个静态方法去调用一个非静态方法是不合法的?静态方法没有绑定到任何特定的对象上,它没有隐式参数。因此,在静态方法中,没有隐式对象供非静态方法可绑定。6、什么是 JDK?缩写词 JDK 表示的是“Java Development Kit”。它描述的是从 Sun Microsystems 公司网站下载的用来开发 Java 应用程序的文件集。它包括了 Java 编译器和 Java API。7、对象的相等性与指向对象的引用的相等性之间有何不同?如果两个对象具有相同的数值,那么这两个对象应该是相等的。如果两个引用指向的是同一
25、对象,那么这两个引用是相等的。条件(p=q)可用于测试引用 p 和 q 的相等性,但不能测试它们所引用的对象的相等性。你可以声明一个方法 equals()来测试对象的相等性。大工Java 程序设计期末考试复习题 第10页 共16页 8、说明 this 引用的用法。(1)指代对象本身:this 用于指代调用成员方法的当前对象自身。(2)访问本类的成员变量和成员方法:使用 this 引用当前对象的成员变量,调用当前对象的成员方法。(3)调用本类重载的构造方法:this 引用还可用在重载的构造方法中,调用本类已定义的构造方法。9、说明 Java 两种实现多线程的方式,并分别对两种方式做简单的说明。继
26、承线程 Thread 类:声明一个线程类继承 Thread 类,并且覆盖 Thread 类的 run()方法,说明线程对象所执行的操作。这种方式的优点是,Thread 类的子类对象就是线程对象,具有 Thread 类说明的方法,且具有线程体。缺点是,不适用于多重继承。实现 Runnable 接口:当一个类已继承一个父类,还要以线程方式运行时,就需要实现Runnable 接口和 Thread 类。一个实现 Runnable 接口的对象本身不是线程对象,它作为一个线程对象的目标对象使用,因此,同时需要声明一个 Thread 线程对象。10、简述什么是继承?并说明继承在面向对象语言中的优点。继承是面
27、向对象程序设计中两个类之间的一种关系。当一个类获取另一个类中所有非私有的数据和操作的定义作为它自己的部分或全部成分时,就称这两个类之间具有继承关系。被继承的类称为父类或超类,继承了父类或超类的所有数据和操作的类称为子类。面向对象程序设计中的继承,可使得程序结构更加清晰,降低了编码和维护的工作量。11、方法重载和方法覆盖有什么不同?方法重载,指的是在类中创建多个具有相同名称,但使用不同参数的方法,Java 虚拟机根据传递给方法的参数个数和类型决定调用哪个重载方法。方法的覆盖指在子类中重新定义父类中已有的方法,对于重写的方法,运行时系统根据调用该方法的实例的类型来决定选择哪个方法调用。12、什么是
28、类方法和实例方法?它们的区别是什么?用修饰符 static 说明的方法是类方法,其它的是实例方法。当一个类创建了一个对象后,这个对象就可以调用该类的方法。区别在于类方法不仅可以由对象调用而且还可以直接由类名调用,而实例方法不能由类名调用。13、怎样区分 Java 的应用程序和小程序?Java应用程序必须有且只有一个类含有main方法,这个类称为应用程序的主类,其main方法必须被说明为 public static void;一个 JavaApplet 小程序不需要 main 方法,但必须有一个类扩展了 Applet 类,即是主类。14、Java 中如何定义和使用接口?使用关键字 interfa
29、ce 来定义一个接口,接口的定义和类的定义很相似,分为接口的声明和接口体。一个类通过关键字 implements 声明自己使用一个或多个接口,如果使用多个接口,则用逗号隔开接口。如果一个类使用某个接口,那么这个类必须实现该接口的所有方法。15、Java 中结构化程序设计有哪三种基本流程,及分别对应 Java 中的哪些语句?结构化程序设计有顺序、分支、循环三种基本流程。大工Java 程序设计期末考试复习题 第11页 共16页 Java 中的分支语句包括 if 语句、switch 语句;循环语句包括 while 语句、do-while语句、for 语句;其它如对象、变量定义语句、赋值语句、方法调用
30、语句等都是顺序语句。16、简述什么是类的继承机制。继承是一种由已有的类创建新类的机制,利用继承可以创建一个共有属性的一般类,根据该一般类再创建具有特殊属性的新类,新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为,由继承而得到的类称为子类,被继承的类称为父类。17、用向量类的对象存储数据与用数组表示数据有什么区别?数组元素可以是任何类型的数据,向量中的元素不能是基本数据类型的数据;数组一旦用 new 运算符创建后,其大小不可以改变,向量对象的大小可根据元素的增加自动增加。四、读程序题(本大题共 8 小题,每小题 10 分,共 80 分)1、定义类 A 和类 B 如下:class
31、A int a=1;double d=2.0;void show()System.out.println(Class A:a=+a+td=+d);class B extends A float a=3.0f;String d=Java program;void show()super.show();System.out.println(Class B:a=+a+td=+d);若在应用程序的 main()方法中有以下语句:A a=new A();a.show();则输出结果如何?【答案】class A:a=1 d=2.0 2、下面程序段的运行结果是什么?public class test sta
32、tic String s1=new String(Test);static String s2=new String(Test);public static void main(String args)大工Java 程序设计期末考试复习题 第12页 共16页 if(s1=s2)System.out.println(Same);if(s1.equals(s2)System.out.println(Equals);【答案】Equals 3、读下面程序,写出程序的运行结果。import java.io.*;public class UseLabel public static void main(S
33、tring args)Loop:for(int i=2;i10;i+)for(int j=2;j0)System.out.println(n0);六、综合题(本大题 1 小题,共 20 分)通过对本门课程的学习,从复杂性、语言性质、结构、安全性、适应性、线程特点等方面谈谈你对 Java 程序设计语言的理解。【答案】(1)简单。因 Java 语言的语法与 C 语言特别是 C+语言很接近,使得大多数程序员很容易学习和使用 Java。另一方面,Java 丢弃了 C+中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别是,Java 语言不使用指针,并提供了自动的
34、垃圾回收机制,使得程序员不必为内存管理而担忧。(2)面向对象。Java 语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。(3)分布式。Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。(4)健壮。Java 的强类型机制、异常处理、废料的自动收集等
35、是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。(5)安全。Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了 Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。(6)体系结构中立。Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节
36、码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。(7)可移植。这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的。(8)解释型。Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。(9)是多线程。在 Java 语言中,线程是一种特殊的对
37、象,它必须由 Thread 类或其子(孙)大工Java 程序设计期末考试复习题 第16页 共16页 类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable)的构造子将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。(10)动态。Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。