《Java语言程序设计》课程期末复习.docx
- 文档编号:30129311
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:18
- 大小:23.64KB
《Java语言程序设计》课程期末复习.docx
《《Java语言程序设计》课程期末复习.docx》由会员分享,可在线阅读,更多相关《《Java语言程序设计》课程期末复习.docx(18页珍藏版)》请在冰豆网上搜索。
《Java语言程序设计》课程期末复习
《Java语言程序设计》课程期末复习题
一、单项选择题
1.下列哪个类声明是正确的?
(D)
A.abstractfinalclassHI{···}B.abstractprivatemove(){···}
C.protectedprivatenumber;D.publicabstractclassCar{···}
2.异常包含下列那些内容?
(C)
A.程序中的语法错误
B.程序的编译错误
C.程序执行过程中遇到的事先没有预料到的情况
D.程序事先定义好的可能出现的意外情况
3.下列哪个属于容器的构件?
(AD)
A.FrameB.Button
C.PanelD.Applet
4.Java语言中创建一个对象使用的关键字为(C)
A.classB.interface
C.newD.create
5.设x=5则y=x--和y=--x的结果,使y分别为(C)
A.5,5B.5,6
C.5,4D.4,4
6.下面哪种不是Java的数据类型(D)
A.基本类型B.数组类型
C.类D.界面类型
7.用abstract定义的类(C)
A.可以被实例化B.不能派生子类
C.不能被继承D.只能被继承
8.设有对象x具有属性a则访问该属性的方法为(C)
A.a.xB.a.x()
C.x.aD.x.a()
9.设数组Array由以下语句定义
intage=newint[10];
则数组的第一个元素的正确引用方法为(D)
A.age[1]B.Age[0]
C.age[]D.age[0]
10.在Applet中显示文字、图形等信息时,应使用的方法是(A)
A.paint()B.init()
C.start()D.destroy()
11.下面关于Applet的说法正确的是(C)
A.Applet也需要main方法
B.Applet必须继承自java.awt.Applet
C.Applet能访问本地文件
D.Applet程序不需要编译
12.下列描述中,错误的是(A)
A.Java要求编程者管理内存
B.Java的安全性体现在多个层次上
C.Applet要求在支持Java的浏览器上运行
D.Java有多线程机制
13.下列方法中,不属于WindowListener接口的是(D)
A.windowOpened()
B.windowClosed()
C.windowActivated()
D.mouseDragged()
14.在程序读入字符文件时,能够以该文件作为直接参数的类是(A)
A.FileReader
B.BufferedReader
C.FileInputStream
D.ObjectInputStream
15.下列描述中,正确的是(C)
A.在Serializable接口中定义了抽象方法
B.在Serializable接口中定义了常量
C.在Serializable接口中没有定义抽象方法,也没有定义常量
D.在Serializable接口中定义了成员方法
16.编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。
A..javaB..class
C..htmlD..exe
17.以下(A)不是Java的关键字。
A.FALSEB.const
C.thisD.void
18.在JavaApplet程序用户自定义的Applet子类中,一般需要重载父类的(C)方法来完成一些画图操作。
A.start()B.stop()
C.init()D.paint()
19.以下关于构造函数的描述错误的是(D)。
A.构造函数的返回类型只能是void型
B.构造函数是类的一种特殊函数,它的方法名必须与类名相同
C.构造函数的主要作用是完成对类的对象的初始化工作
D.一般在创建新对象时,系统会自动调用构造函数
20.在编写JavaApplet程序时,若需要对发生的事件做出响应和处理,一般需要在程序的开头写上(D)语句。
A.importjava.awt.*;B.importjava.applet.*;
C.importjava.io.*;D.importjava.awt.event.*;
21.类ABC定义如下:
1.publicclassABC{
2.publicintf(inta,intb){}
3.
4.}
以下不能插入到第3行的方法是(B)。
A.publicfloatf(floata,floatb,floatc){}
B.publicintf(intc,intd){}
C.publicfloatf(floata,floatb){}
D.privateintf(inta,intb,intc){}
22.要使类中的某个成员变量只能被同一个包中的类访问,该变量(D)。
A.只能用protected修饰B.只能用public修饰
C.只能用private修饰D.应不加修饰符
23.A类定义如下:
classA
{inti;
staticStrings;
voidmethod1(){}
staticvoidmethod2(){}
}
设a是A类的一个实例,下列语句错误的是(C)。
A.System.out.println(a.i);B.a.method1();
C.A.method1();D.A.method2()
24.不允许作为类及类成员的访问控制符的是(C)。
A.publicB.private
C.staticD.protected
25.以下关于继承的叙述正确的是(D)。
A.在Java中类只允许单一继承
B.在Java中一个类只能实现一个接口
C.在Java中一个类不能同时继承一个类和实现一个接口
D.在Java中接口只允许单一继承
二、填空题
1.Java源文件和编译后的文件扩展名分别为JAVACLASS。
2.Applet是能够嵌入到HTML格式的文件中,并能够在浏览器中运行的Java。
3.Java语言中,有一个类是所有类或接口的父类,这个类的名称是java.lang.Object。
4.Java中类成员变量的限定词有以下几种:
private,public,protected和default。
其中,public的限定的范围最大。
5.布局管理器是用来管理那些放进容器的组件,使其被安排在合相应的位置,呈现合理的外观。
6.wait方法是线程交互时,如果线程对一个同步对象x发出一个该调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
7.使用数组的Length属性可以获取该数组的长度。
8.用final关键字修饰的变量是最终变量。
9.Java程序员不用担心内存管理,因为Java中有垃圾收集器会自动进行管理,回收内存。
10在Java中,与数据库连接的技术是JDBC
11.开发与运行Java程序需要经过的三个主要步骤为编辑、编译和运行。
12.abstract方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
13.在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。
14.设有数组定义:
intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是120。
ints=0;
for(inti=0;i if(i%2==1)s+=MyIntArray[i]; System.out.println(s); 15.在Java语言中可通过继承Thread类和_Runneble_两种方式产生线程。 16.在Java程序里,异常对象是依靠try...catch__或_catach__语句来捕获和处理的。 17.一个客户程序可以通过Socket类的实例来建立一个到远程服务器端的连接;___ServerSocket,____则提供服务器端的Socket接口,用来监听某个端口上等待连接的Client。 18.Java语言中编写一个JDBC程序,一般是: 登记并加载JDBC驱动程序,___DriverManager, 传送一个SQL查询,获得结果集等四个步骤。 19.Java的多线程机制中提供了关键字____synchronized__来说明同步方法。 20.注释的作用是对程序进行说明,一个好的程序应该包含足够的注释。 Java中单行注释是使用//。 三、简答题 1.写出Java两种类型的程序: Java小程序和Java应用程序的区别。 Java应用程序可以单独执行,java小应用程序。 Java应用程序执行的入口是main方法,而java小应用程序是init方法。 Java应用程序可以通过java运行,而java小应用程序需要嵌入浏览器或者通过appletviewer运行。 2.Java编译和运行的基本方法 (1)编译阶段 使用指令: javac 这个阶段,Java编译器(也就是JVM: java虚拟机,后称JVM),首先把你的代码加载完成,然后开始检查语法。 如果出现语法错误则提示错误。 这个阶段提示的错误我们一般称为编译器错误! (2)运行阶段 使用指令: java 这个阶段,JVM将执行java代码,这个时期出现的错误我们一般称为运行期错误! 3.面向对象的基本思想。 答: 面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。 这些程序设计语言可以归纳为以下几类: 系统中一切皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。 4.什么是JDBC-ODBC桥。 就是搭建jdbc与odbc之间的桥梁,JDBC--JavaDataBaseConnectivity,是对各种各样数据库进行访问的最主要API之一。 它包括两个部分: 一是访问数据库的高层接口,一是由数据库厂家提供的使Java程序能够与数据库连接通信的驱动程序,即JDBCDatabaseDriver(JDBC数据库驱动程序)jdbc-odbc桥是JDBC驱动程序的一种。 它利用ODBC驱动程序提供JDBC访问) 5.Java程序分为哪两类? 各有什么特点? Application和Applet Application和Applet是两个概念,前者指的是一个完整程序,后者指的是一个小程序,作为一个完整程序他具有一定的独立性,玩过手机游戏都知道一个手机游戏对应一个jar文件,这个jar文件就相当于一个Application,你运行游戏只需要选中它运行即可,不需要先启动另外一个程序后才能启动它。 而Applet则需要先启动浏览器后才能运行它。 Applet因为小可以被看作一个软件组件,他可以作为一个动态网站的一个组成部分,Applet的主要用途是完成复杂的逻辑,这个是在JAVASCRIPT等脚本语言和JSP和ASP等动态网页技术还没出现时负责动态的显示数据的作用,类似微软的ActiveX组件。 在JAVA领域有三个“let”: MIDlet: 移动设备应用程序 Servlet: 服务器程序 Applet: 浏览器小程序 他们共同特点就是小可当作一个完整Application的一个组件来用。 6.Java程序如何实现多态? 有哪些实现方式? Java程序通过覆盖和重载两种方式来实现多态。 覆盖是子类重新定义父类中已有的方法,重载是在一个类内部定义与已存在的方法同名但是参数列表不同的方法。 7.简述Java的事件处理机制。 就是事件的“处理方”向事件的“发出方”先行注册,当事件发生时,事件的“发生方”负责通知事件的“处理方”。 8.Java中创建线程有哪几种方式? 第一种方式: 使用Runnable接口创建线程 第二种方式: 直接继承Thread类创建对象 使用Runnable接口创建线程 1.可以将CPU,代码和数据分开,形成清晰的模型 2.线程体run()方法所在的类可以从其它类中继承一些有用的属性和方法 3.有利于保持程序的设计风格一致 直接继承Thread类创建对象 1.Thread子类无法再从其它类继承(java语言单继承)。 2.编写简单,run()方法的当前对象就是线程对象,可直接操作 四、程序阅读题 1.阅读下列代码,写出运行结果。 publicclassTest{ publicstaticvoidmain(Stringargs[]){ System.out.println((3>2)? 4: 5); } } 其运行结果是4 2.下列程序中,指定变量b=50为字节类型,变量f=0.55F为单精度实型,变量1=0xfffL为64位整型,并将该三个变量打印输出.请将程序补充完整. importjava.io.*; publicclassAssign{ publicstaticvoidmain(Stringargs[]){ [2]_____byte_b=50; [3]___floatf=0.55F; [4]__doublel=0xfffL; System.out.println("b="+b); System.out.println("f="+f); System.out.println("l="+l); } } 3.阅读下列代码,写出运行结果。 classTT{ publicTT(){ System.out.println("Whatapleasure! "); } publicTT(Strings){ this(); System.out.println("Iam"+s); } } publicclassTestextendsTT{ publicvoidmain(Stringargs[]){ Testt=newTest("Tom"); } publicTest(Strings){ super(s); System.out.println("Howdoyoudo? "); } publicTest(){ this("IamTom"); } } 结果: IamWhatapleasure! Howdoyoudo? 4.下列程序的功能是判断某一年是否为闰年.请在横线处填入适当内容,使程序能够正确运行. importjava.io.*; publicclassLeapYear{ publicstaticvoidmain(Stringarge[])throwsIOException{ InputStreamReaderir; BufferdeReadwein; ir=newInputStreamReader(System.in); in=newBufferedReader(ir); System.out.println(“输入年份是: ”); Strings=in.readLine(); intyear=Integer.parseInt(s); if(year%4==0&&year%100! =0//year%400== 0) { System.out.println(""+year+"年是闰年."); } else { System.out.println(""+year+"年不是闰年.."); } } } 5.写出以下程序的运行结果。 classFirst{ First(){ System.out.println("inFirst");} } public classSecondextendsFirst{ Second(){ System.out.println("inSecond");} publicstaticvoidmain(String[]args){ Secondmine=newSecond();} 结果: in First __ in Second 6.写出下列程序完成的功能 importjava.awt.*; publicclassabc {publicstaticvoidmain(Stringargs[]) {newFrameOut();} } classFrameOutextendsFrame//Frame为系统定义的窗框类 {Buttonbtn; FrameOut() {super("按钮"); btn=newButton("按下我"); setLayout(newFlowLayout()); add(btn); setSize(300,200); show(); } }在窗体中添加一个按钮控件 7.写出下列程序完成的功能 importjava.io.*; publicclassC{ publicstaticvoidmain(String[]args)throwsIOException{ FileinputFile=newFile(“s.txt"); FileoutputFile=newFile(“d.txt"); FileReaderin=newFileReader(inputFile); FileWriterout=newFileWriter(outputFile); intc; while((c=in.read())! =-1) out.write(c); in.close(); out.close();} }将s.txt文本中的内容复制到d.txt文本中 8.写出以下程序的运行结果。 publicclassABC { publicstaticvoidmain(Stringargs[]){ inti,j; inta[]={9,7,5,1,3}; for(i=0;i intk=i; for(j=i;j if(a[j]>a[k])k=j; inttemp=a[i]; a[i]=a[k]; a[k]=temp;} for(i=0;i System.out.print(a[i]+""); System.out.println();} } 97531 9.写出以下程序的运行结果。 importjava.io.*; publicclassabc {publicstaticvoidmain(Stringargs[]) {ABs=newAB("Hello! ","IloveJAVA."); System.out.println(s.toString()); } } classAB{ Strings1; Strings2; AB(Stringstr1,Stringstr2) {s1=str1;s2=str2;} publicStringtoString() {returns1+s2;} } Hello! IloveJava! 五、编程题 1.写一个Applet程序,其功能是在GUI中接收用户输入的两个整数“请先输入两个待比较的整数”,比较它们的大小,并在用户按下“比较”按钮后,在Applet中显示“两个整数中最大值是: x”,其中x是两个数中的最大值。 importjava.applet.*; importjava.awt.*; importjava.awr.event.*; publicclassFindMaxextendsAppletimplementsActionListener{ Labelresult; TextFieldin1,in2; Buttonbtn; inta=0,b=0,max; publicvoidinit(){ result=newLabel"请先输入两个待比较的整数"); in1=newTextField(5); in2=newTextField(5); btn=newButton("比较"); add(in1); add(in2); add(btn); add(result); btn.addActionListener(this); } publicvoidactionperformed(ActionEvente){ a=in1; n=in2; if(a>b) max=a; else max=b; btn.setText("两个数中最大值是: "+max);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言程序设计 Java 语言程序设计 课程 期末 复习