java期末复习试题Word文件下载.docx
- 文档编号:17460292
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:11
- 大小:21.15KB
java期末复习试题Word文件下载.docx
《java期末复习试题Word文件下载.docx》由会员分享,可在线阅读,更多相关《java期末复习试题Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
=2)的值是【】
A.0B.1C.trueD.false
6、下列程序片段的输出结果是【】
intX=0;
if(X>
0)X=1;
switch(x)
{
break;
}
A.0B.4C.2D.1
2330
7、在Java中定义常量的正确语句是【c】
A.intvalue=20;
B.constintVALUE=20;
C.finalintVALUE=20;
D.intVALUE=20;
8、设有如下的程序代码,在执行完后x和y的值各是多少?
【】
intx=8,y=3,z;
z=x+++--y;
A.x=8,y=3B.x=10,y=2C.x=9,y=1D.x=9,y=2
9、对于名为Myclass的类,以下哪种方式是定义无参数构造方法的正确形式?
【C】
A.intMyclass(){…}B.voidMyclass(){…}
C.Myclass(){…}D.Myclass(intmyClassObject){…}
10、已有:
Stringstr="
12.345"
;
现欲将str转换为对应的双精度浮点数,正确的语句为【D】
A.Integer.parseInt(str);
B.Double.valueOf(str);
C.Float.parseFloat(str);
D.Double.parseDouble(str);
11、基类中具有【】访问权限的成员,不允许在子类中直接对其进行访问或调用
A.publicB.privateC.protectedD.缺省的(即package)
12、对于字符串s="
java"
,下面哪个选项可以返回字符'
v'
在字符串中的位置?
A.s.charAt('
);
B.s.indexOf('
C.indexOf('
D.indexOf(s,'
13、以下哪一项是创建抽象类X的引用的正确方式?
A.Xx;
x=newX();
B.Xx=newX();
C.Xx;
D.以上均不正确
14、接口X声明了两个空方法m1()和m2(),当实现接口X时,以下哪个语法是正确的?
A.classYextendsX{B.classYextendsX{
publicvoidm1(){...}publicvoidm1(){...}
publicvoidm2(){...}}
C.classYimplementsX{D.classYimplementsX{
三、根据题目要求,把下面的程序补充完整
1、以下程序片段的功能是计算分段函数的值:
输入x,求相应的y值
……
Doublex,y;
//将变量x和y声明为double类型
Strings=JOptionPane.showInputDialog("
请输入x的值:
"
x=Double.parseDouble(s);
if(x<
-5){
y=-x;
}elseif(x<
5){
y=Math.sin(x);
}else{
y=2*x-3;
JOptionPane.showMessageDialog(null,"
x="
+x+'
\n'
+"
函数值为:
"
+y);
……
2、以下程序片段实现的功能是对一维数组的元素求和:
intarray[]={85,68,12,33,91};
//声明一个名为array的int型一维数组
intsum=0;
//声明一个int型变量sum,初始值为0
for(inti=0;
i<
array.length;
i++)//利用循环计算数组中元素之和,并存放到sum中
sum=sum+array[i];
四、写出下列程序的运行结果
1、
//字符串的比较
publicclassStringCompare{
publicstaticvoidmain(Stringargs[]){
Strings1="
abc"
Strings2=newString("
s2));
}
程序运行结果:
__falsetrue0___
2、
//实现多态的程序
classAnimal{
publicvoiddisplay(){
classCatextendsAnimal{
classDogextendsAnimal{
publicclassAnimalTest{
publicstaticvoidmain(Stringargs[]){
Animalam=newAnimal();
am.display();
am=newDog();
am=newCat();
_我是一只可爱的动物,...
我是主人忠诚的卫士,...
___________________________
五、编程题
1.类的继承
(1)定义一个矩形类Rect,它封装了:
⏹两个成员变量(访问权限为private):
length //表示矩形的长度,double类型
width //表示矩形的宽度,double类型
⏹七个成员方法(访问权限为public):
Rect(doublel,doublew)//带参数的构造方法
voidsetLength(doublel)//设置矩形的长度
doublegetLength()//返回矩形的长度
voidsetWidth(doublew)//设置矩形的宽度
doublegetWidth()//返回矩形的宽度
doublegetArea()//返回矩形的面积
StringtoString()//返回形如:
“矩形的长度:
xxx,宽度:
xxx,面积:
xxx”
字符串(其中:
xxx表示相应的数值)
(2)再定义一个立方体类Cube,它继承了矩形类Rect(上一题已定义),并增加了:
⏹一个成员变量(访问权限为private):
height//立方体的高度,double类型
⏹三个成员方法(访问权限为public):
Cube(doublel,doublew,doubleh)//带参数的构造方法,需要调用基类带参数构造函数;
doublegetVolume()//返回立方体的体积(计算公式:
底面积×
高度)
StringtoString()//重写toString()方法,返回形如:
“立方体的长度:
xxx,高度:
xxx,体积:
字符串(其中:
(3)最后定义一个主类:
CubeTest,在它的main()方法中创建一个长度为4.5,宽度为5.5,高度为6.5的立方体对象cb,然后调用toString()方法输出其相应信息。
(4)、类似地,如果把矩形改成圆形,当作基类,在子类中增加一个成员变量高度,使其成为圆柱体的情况下将如何修改基类、子类和主程序?
请课后思考之,请组织程序记住步骤和方法。
2.用FileInputStream(文件输入流)读文件
(1)步骤
①引入相关的类
②创建一个文件输入流对象
InputStreamf=newFileInputStream(文件名);
//对象f关联源数据源
③f.read();
//读取文件一个字节,并返回0-255一个int数,若文件读取完毕或再无可读数据,返回-1
④f.available();
//可读取字节数
⑤f.close();
//关闭文件输入流
(2)完成下面用FileInputStream读文件示例
importjava.io.*;
publicclasstestFile{
publicstaticvoidmain(String[]args){
Filefname=newFile("
____myfile.txt_______________"
try{
InputStreamf=newFileInputStream(____fname________________);
intsize=f.__available_()____________;
for(inti=0;
i<
size;
i++)
System.out.print((char)f.___read()________________);
//强制类型
f._______________close()__________;
catch(IOExceptione){
System.out.println("
文件读取失败"
3.事件处理编程步骤:
①创建运行窗体和独立组件对象;
②确定事件源、事件;
③为事件源注册对应事件侦听器对象;
④实现事件侦听器接口方法;
⑤运行主程序引发相应事件,观察事件处理结果。
(1)利用监听器接口中的方法处理事件
实例10-2功能:
在文本框中输入“123张小明”,当点击“确认”按钮时,下面的标签中将显示:
“您输入了:
123张小明”字样。
//实例10-2
importjava.awt.*;
classButtonFrameextendsFrameimplementsActionListener
(1){
Buttonbtn=newButton("
确认"
Labellb=newLabel("
"
TextFieldtxt=newTextField(10);
ButtonFrame(){
super("
实例10-2"
setLayout(newFlowLayout());
setBackground(Color.blue);
setSize(200,100);
lb.setForeground(Color.red);
(2)btn.addActionListener(this);
//给按钮注册动作监听器
add(txt);
add(btn);
add(lb);
setVisible(true);
//对点击“确认”按钮所做的事件处理
publicvoid(3)ationPerformed(ActionEvente){
(4)lb.setText(“你输入了”+txt.getText());
publicclassTestButtonFrame{
publicstaticvoidmain(String[]args){
ButtonFramebuttonFrame=newButtonFrame();
(2)修改上面程序,拓展成为通过鼠标事件和键盘事件实现一个简单用户登录画面程序.操作过程:
当输入用户或密码不正确时光标留在对应文本框处,弹出请输入正确用户或密码提示对话框:
当输入用户和密码正确时弹出欢迎对话框.请组织程序记住步骤和方法.
4.采用JDBC-ODBC桥式的数据库连接的主要步骤:
①创建数据源(使用JDBC-ODBC桥式驱动程序时必需);
②注册、加载特定的驱动程序;
③创建连接--Connection对象;
④利用Connection对象生成Statement对象;
⑤利用Statement对象执行SQL语句,如查询、更新、插入、删除等;
⑥若是执行查询语句,还要从ResultSet读取数据;
⑦关闭ResultSet、Statement、Connection等。
(1)JDBC_ODBC桥方式查询数据库实例
import____java.sql.*__________;
//导入java.sql包中的所有类
publicclassQueryTest{
Stringurl="
______jdbc:
odbc:
mysql______________"
//根据数据源,设置数据库URL
StringuserName="
//登录数据库用户名
Stringpassword="
//用户密码
__connection_________conn=null;
//声明Connection对象
__statement_________stmt=null;
//声明Statement对象
try{
//加载JDBC-ODBC驱动程序
Class.__forNameJdbcOdbcDriver____________"
//创建连接
conn=DriverManager.___getconnection______________(url,userName,password);
//通过Connection对象,创建Statement对象
stmt=conn.____createStatement_____________();
//执行查询"
年龄为20岁的学生信息"
的SQL语句,得到结果集
_Resultset____rs=stmt._executeQuery_____("
select*fromstudentswhere___age=20_________"
//通过循环输出相关学生信息
+"
\t\t\t宿舍"
while(rs.__next______()){
Stringid=rs.getString("
学号"
Stringname=rs.____getstring______("
姓名"
Stringsex=rs.getString("
性别"
intage=rs.__getint______("
年龄"
Stringmajor=rs.getString("
专业"
Stringdormitory=rs.getString("
宿舍"
\t"
+major+"
+dormitory);
rs.___close________();
//关闭结果集
stmt.close();
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}catch(ClassNotFoundExceptionex){
ex.printStackTrace();
(2)思考题:
数据库查询、插入、更新、删除操作包含哪些步骤?
程序是怎样组织的?
5.TCP编程的主要步骤:
①服务器、客户端分别创建ServerSocket、Socket对象;
②服务器、客户端分别打开连接到socket的输入/输出流;
③按照一定的协议对socket进行读/写操作;
④关闭socket。
(1)编写一个最简单的C/S程序,请组织程序记住步骤和方法.
(2)说明如下:
①服务器程序能够处理多个客户的请求,并向客户端发送一个“你好”字符串;
②客户端与服务器连接后,读取一行服务器的信息,在屏幕上输出信息;
③
④本程序中使用端口号为2345(大于1024)。
(3)答:
1)服务器端代码主要片段:
2)客户端代码主要片段:
6.JUnit框架组成,即单元测试步骤和方法.
(1)常用类()接口说明如下:
①Test接口——运行测试和收集测试结果
②TestCase抽象类——定义测试中固定方法。
TestCase是Test接口的抽象实现,(不能被实例化,只能被继承)其构造函数TestCase(stringname)根据输入的测试名称name创建一个测试实例。
③Assert包含了一组静态的测试方法,用于期望值和实际值比对是否正确,即测试失败,Assert类就会抛出一个AssertionFailedError异常,JUnit测试框架将这种错误归入Failes并加以记录,同时标志为未通过测试。
④TestSuite类负责组装多个TestCases。
待测得类中可能包括了对被测类的多个测试,而TestSuit负责收集这些测试,使我们可以在一个测试中,完成全部的对被测类的多个测试。
⑤TestResult结果类集合了任意测试累加结果,通过TestResult实例传递个每个测试的Run()方法。
TestResult在执行TestCase是如果失败会异常抛出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 期末 复习 试题