您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 《Java技术》课程2019年春季期末考试复习题
第一部分:多项选择题题1.下面关于Java类文件的说法正确的是(AC)。A.Java编译器会为源程序中的每个类单独生成一个类文件B.Java类文件中存储的代码必须符合JVM规范C.Java类文件中存储的代码是二进制形式的代码D.Java类文件必须用Java语言编写得到题2.关于Eclipse视景说法正确的是(ABD)。A.每个视景都定义了工作台中各个视图的初始设置和布局B.一个工作台窗口包含多个独立的视景,但同一时刻只有一个视景是对用户可见的C.视景的布局是可以改变的,但改变多次后无法再恢复到初始设置D.每个视景都有自己的视图和编辑器,用户可以在各个视景间切换题3.下面说法正确的有(ABCD)。A.如果某公共接口被声明在一个源文件中,则接口必须与源文件具有相同名字B.如果源文件包含import语句,则该语句要放在文件的接口声明和类声明之前C.如果某源文件包含package语句,则该语句必须是第一个非空、非注释行D.接口中的方法必定是抽象方法,但可以不用关键字abstract修饰题4.下面关于java中输入/输出流的说法正确的是(ABCD)。A.FileInputStream与FileOutputStream类用读、写字节流B.Reader与Writer类用来读、写字符流C.RandomAccessFile既可以用来读文件,也可以用来写文件D.File类用来处理与文件相关的操作题5.下面说法正确的有(ACD)。A.Java中线程是抢占式的B.Java中线程是分时的C.Java中的线程可以共享数据D.Java中的线程可以共享代码第二部分:简答题题1.编译型语言和解释型语言有什么不同?Java程序执行前需要用编译器编译,但为什么却说Java是解释型语言呢?编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候就不用再进行翻译了。解释型语言是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。C/C++等都是编译型语言,而Java、C#等都是解释型语言。虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。在运行的时候,由JVM将字节码再翻译成机器语言。C/C++编译和链接后,可形成独立的可执行文件,而Java、C#等编译后只得到中间形式的二进制文件,它必须由专用的解释器换成本地机器代码后才能执行。此外,像JavaScript、VBScript、PHP、PERL等脚本语言一般也都由相应的脚本引擎来解释执行。题2.类变量和实例变量有哪些不同?在定义成员变量时,如果用static修饰符修饰,则该变量是类变量(也称“静态变量”),否则是实例变量。类变量不属于类的任何一个具体对象。它保存在类的内存区域的公共存储单元。类的任何一个对象对类变量的存取都是对同一个内存单元进行操作。与类变量相对,实例变量属于类的某个具体的对象。它在类的每个对象的内存区域中都保存一份。类的任何一个对象对实例变量的存取都是对自己内存区域内保存的实例变量的副本进行操作。题3.简述异常的传播途径。在“try…catch…finally”结构中,如果没有一个catch子句能够匹配已经产生的异常,则执行finally子句(如果存在)。此时,如果仍然没有程序能够处理这个异常,好像发出异常的语句根本没有嵌套在try语句中,控制流程将会立即离开当前方法,过早地返回调用当前方法的方法中。如果这个调用语句处于某一个try语句范围之内,则将开始执行新一轮的异常匹配操作。题4.JDBC的基本组成和实现原理是怎样的?(要求画图并说明)JDBC的基本组成和实现原理如下图所示:图11.4JDBC实现原理(1)JDBC驱动管理器:java.sql.DriverManager,负责注册JDBC驱动器,并为创建数据库连接提供支持。由SUN公司实现。(2)JDBC驱动器API:java.sql.Driver,由SUN公司实现。(3)JDBC驱动器:由数据库供应商或者第三方工具提供商创建,也称为JDBC驱动程序。JDBC驱动程序负责与特定的数据库连接,并处理通信细节。第三部分:编程题题1.按照下面要求编写程序:编写一个字符方式的Application程序。在程序中定义一个表示学生的类Student。Student类的属性为学号、姓名和成绩;方法为增加记录setRecord和得到记录getRecord。setRecord给出学号、姓名和成绩的赋值,getRecord通过学号得到学生的成绩。在程序的主类中创建一个Student类的对象objStu,调用setRecord方法为其属性赋值,然后输出该学生的成绩。请写出此Application程序的源程序代码。classStudent{privateintID;privateStringname;privatefloatscore;publicvoidsetRecord(intID,Stringname,floatscore){this.ID=ID;this.name=name;this.score=score;}publicfloatgetRecord(intID){if(ID==this.ID)returnthis.score;elsereturn-1;}}publicclassStudentApp{publicstaticvoidmain(String[]args){StudentobjStu=newStudent();objStu.setRecord(0,alex,100);floatSco=objStu.getRecord(0);System.out.print(Sco);}}题2.按照下面要求编写程序:编写一个JFrame窗口程序,要求窗口的内容面板上有一个按钮,点击按钮后,窗口的内容面板的颜色变为黄色。请写出源程序代码。importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;@SuppressWarnings(serial)classMyJFrameAextendsJFrameimplementsActionListener{ContainerconPane=null;JButtonbtn=null;publicMyJFrameA(Stringname,intw,inth){super();setTitle(name);setSize(w,h);conPane=getContentPane();conPane.setLayout(newFlowLayout());btn=newJButton(Button);btn.addActionListener(this);conPane.add(btn);}@OverridepublicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstubconPane.setBackground(Color.YELLOW);}}publicclassButtonColor{publicstaticvoidmain(String[]args){Stringstr1=Frame窗口;MyJFrameAmw=newMyJFrameA(str1,250,200);mw.setVisible(true);}}扩展题(占期末考试成绩40%)1.Java的三个版本JavaSEJavaEEJavaME2.对Java平台的理解Java是一个完整的计算平台,包括完整的程序开发环境和运行环境3.JVM的功能和作用Java虚拟机是整个Java平台的基石,是Java技术用以实现硬件无关以及操作系统无关的关键部分,其编译后的代码尺寸小,具备保护用户免受恶意程序攻击的能力。4.软件实现的Java虚拟机Java虚拟机可以看作是一台抽象的计算机。如同真实的计算机那样,它有自己的指令集以及各种运行时内存区域。而Java程序编译后得到的二进制形式的字节码实际上就是JVM指令。5.Eclipse开发Java程序的编辑、编译和运行先安装JDK,再安装Eclipse。Eclipse先调用JDK的编译器编译程序,然后再执行6.Eclipse开发环境的概念和基本使用方法Eclipse根据任务的不同把视图和编辑器预先划分为不同的类别,且预设好视图的排列方式,并把每一个类别称为一个视景每个视景是一组预定好的视图每个视景都定义了工作台中各个视图的初始设置和布局一个工作台窗口包含多个独立的视景,但同一时刻只有一个视景是对用户可见的每个视景都有自己的视图和编辑器,用户可以在各个视景间切换7.包的概念和命名规则概念:为了更好地组织类,Java提供了包机制。包有时也称类库。把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。包还可以有效地管理类名空间,位于不同包中的类即使同名也不会冲突。包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。Java的包本身没有子包的概念,所有包都是并列的关系,没有谁包含谁的问题。包的层次结构必须与文件目录的层次相同命名规则:包名具有层次结构,在包名中,用点(.)分隔了包名的层次结构包本身没有子包的概念,所以名字并不能说明包之间存在包含关系为了避免不同项目之间包名的冲突,Java官方标准规定使用程序开发组织的反向Internet域名作为包名的前缀8.访问控制修饰符Public;Private;Protected;无(package)9.声明对象变量与创建对象实体参考课程空间:4.4创建对象和使用对象,或最后一次实时指导课课程讲解10.Java类的继承的概念和特点参考课程空间:5.1继承的概念和实现和5.5继承的层次结构,或最后一次实时指导课课程讲解11.Java中多态的概念Java中的多态就是指一个程序中同名的不同方法共存的情况。分为编译时多态和运行时多态两类。12.接口的声明与实现[public]interfaceInterfaceName[extendslistOfSupgerInterface]{…}在接口中声明的常量默认具有public、final和static属性。在接口中声明的方法默认具有public和abstract属性。13.Java中“回调”模式的实现回调(callback)是一种常见的程序设计模式,这种程序设计模式在Java中通常是用接口来实现。14.Java中异常的概念Java把程序的运行时错误称为异常。15.自定义异常程序员使用throw语句抛出的异常16.流的概念和分类Java将程序输入输出的数据称为流。Java把各种实际设备的处理细节都封装在某个数据流类当中,所以虽然各种实际设备的差别很大,但是我们可以通过Java提供的数据流类,使用相同的方法来连接数据资源和应用程序。直观地说,流就是用于处理输入/输出的字节序列或字符序列。17.从一个输入流中读取一行内容的方法可以从一个输入流中读取一行内容的方法是nextLine()缓冲流的应用参考课程空间:8.2.2缓冲流的应用,或最后一次实时指导课课程讲解18.Java中的节点流与处理流节点流从一个特定的数据源读写数据。即节点流是直接操作文件,网络等的流,它们直接从文件中读取或往文件中写入字节流。处理流是“连接”在已存在的流(节点流或处理流)之上通过对数据的处理为程序提供更为强大的读写功能。19.创建线程的方法(1)java.lang包中有一个系统类Thread,用于创建线程,你可以在程序中创建Thread类的子类,然后用Thread类的子类创建线程对象(2)java.lang包中有一个Runnable接口,这个接口包含了一个run()方法。我们称实现了Runnable接口的类为线程化的类,称实现了Runnable接口的类的实例为可运行的对象。创建线程第二种办法就是:(i)创建一个实现Runnable接口的类(ii)然后创建该类的一个对象(iii)再把这个对象传递给Thread类的构造方法去创建
本文标题:《Java技术》课程2019年春季期末考试复习题
链接地址:https://www.777doc.com/doc-1864699 .html