广州大学华软软件学院《Java程序设计》期末复习.docx

上传人:b****7 文档编号:9372713 上传时间:2023-02-04 格式:DOCX 页数:14 大小:25.22KB
下载 相关 举报
广州大学华软软件学院《Java程序设计》期末复习.docx_第1页
第1页 / 共14页
广州大学华软软件学院《Java程序设计》期末复习.docx_第2页
第2页 / 共14页
广州大学华软软件学院《Java程序设计》期末复习.docx_第3页
第3页 / 共14页
广州大学华软软件学院《Java程序设计》期末复习.docx_第4页
第4页 / 共14页
广州大学华软软件学院《Java程序设计》期末复习.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

广州大学华软软件学院《Java程序设计》期末复习.docx

《广州大学华软软件学院《Java程序设计》期末复习.docx》由会员分享,可在线阅读,更多相关《广州大学华软软件学院《Java程序设计》期末复习.docx(14页珍藏版)》请在冰豆网上搜索。

广州大学华软软件学院《Java程序设计》期末复习.docx

广州大学华软软件学院《Java程序设计》期末复习

广州大学华软软件学院《Java程序设计》期末复习

随堂测验、考勤卷

期末考试题型

一、填空题

1、Java源程序文件的扩展名是__________,编译源程序的命令是___________。

2、Java程序可分为_________________和______________两种类型。

3、声明静态成员的关键字是_______________,定义一个接口的关键字是______________。

4、创建pack1.pack2包的语句是__________________________,importx.y.Myclass;语句的功能是_________

___________________________。

5、_________类是所有Java类的直接或者间接父类。

6、转义字符_____能够实现“将输出内容跳到下一个制表位”的功能。

7、假设在程序中已执行:

Calendarcurrent=newGregorianCalendar();语句,则current.get(Calendar.YEAR)

返回的是____________________________。

二、单项选择题

1、以下哪个是应用程序main()方法的正确形式,【】

A.publicstaticintmain(Stringargs[])B.publicstaticvoidmain(Stringargs[])

C.publicstaticvoidMAIN(Stringargs[])D.publicstaticvoidmain(charargs[])

2、请在Java预定义了的数据类型中,为“姓名”选择一种合适的数据类型:

【】

A(intB(StringC(booleanD(float

3、short型数据的取值范围为【】

77161615153131A.-2~2-1B.-2~2-1C.-2~2-1D.-2~2-14、下列标识符中,哪一个是合法的,【】

A.$personB.2abC.*pointD.this5、已知x=10,则条件表达式(x>=5)&&(x<=2)的值是【】

A.0B.1C.trueD.false

6、下列程序片段的输出结果是【】

intX=0;

if(X>0)X=1;

switch(x)

{

case1:

System.out.println

(1);

case0:

System.out.println(0);

case2:

System.out.println

(2);

break;

case3:

System.out.println(3);

default:

System.out.println(4);

break;

}

-1-

A.0B.4C.2D.1

2330

7、在Java中定义常量的正确语句是【】

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=29、对于名为Myclass的类,以下哪种方式是定义无参数构造方法的正确形式,【】

A.intMyclass(){„}B.voidMyclass(){„}

C.Myclass(){„}D.Myclass(intmyClassObject){„}10、已有:

Stringstr="12.345";现欲将str转换为对应的双精度浮点数,正确的语句为【】

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'在字符串中的位置,【】

(s.charAt('v');B.s.indexOf('v');C.indexOf('v');D.indexOf(s,'v');A

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{

publicvoidm1(){...}publicvoidm1(){...}

publicvoidm2(){...}}

}

三、根据题目要求,把下面的程序补充完整

1、以下程序片段的功能是计算分段函数的值:

输入x,求相应的y值

x(x,,5),,sin(x)(,5,x,5)y,,

2x,3(x,5),

„„

(1);//将变量x和y声明为double类型

Strings=JOptionPane.showInputDialog("请输入x的值:

");

x=Double.parseDouble(s);

-2-

随堂测验、考勤卷

if(x<-5){

y=-x;

}elseif(

(2)){

y=Math.sin(x);

}else{

y=(3);

}

JOptionPane.showMessageDialog(null,"x="+x+'\n'+"函数值为:

"+y);

„„

2、以下程序片段实现的功能是对一维数组的元素求和:

„„

int

(1)={85,68,12,33,91};//声明一个名为array的int型一维数组

(2);//声明一个int型变量sum,初始值为0

for(inti=0;(3);i++)//利用循环计算数组中元素之和,并存放到sum中

sum=(4);

System.out.println("累加结果:

"+sum);

„„

四、写出下列程序的运行结果

1、

//字符串的比较

publicclassStringCompare{

publicstaticvoidmain(Stringargs[]){

Strings1="abc";

Strings2=newString("abc");

System.out.println(s1==s2);

System.out.println(s1.equals(s2));

System.out.println(pareTo(s2));

}

}

程序运行结果:

____________________________2、

//实现多态的程序

classAnimal{

publicvoiddisplay(){

System.out.println("我是一只可爱的动物,...");

}

}

classCatextendsAnimal{

publicvoiddisplay(){

System.out.println("我是能捉老鼠的好猫,...");

-3-

}

}

classDogextendsAnimal{

publicvoiddisplay(){

System.out.println("我是主人忠诚的卫士,...");

}

}

publicclassAnimalTest{

publicstaticvoidmain(Stringargs[]){

Animalam=newAnimal();

am.display();

am=newDog();

am.display();

am=newCat();

am.display();

}

}

程序运行结果:

____________________________

五、编程题

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)//带参数的构造方法,需要调用基类带参数构造函数;

-4-

随堂测验、考勤卷

doublegetVolume()//返回立方体的体积(计算公式:

底面积×高度)

StringtoString()//重写toString()方法,返回形如:

“立方体的长度:

xxx,宽度:

xxx,高度:

xxx,体积:

xxx”

字符串(其中:

xxx表示相应的数值)

(3)最后定义一个主类:

CubeTest,在它的main()方法中创建一个长度为4.5,宽度为5.5,高度为6.5的立方体对

象cb,然后调用toString()方法输出其相应信息。

(4)、类似地,如果把矩形改成圆形,当作基类,在子类中增加一个成员变量高度,使其成为圆柱体

的情况下将如何修改基类、子类和主程序?

请课后思考之,请组织程序记住步骤和方法。

2.用FileInputStream(文件输入流)读文件

(1)步骤

?

引入相关的类

importjava.io.IOException;importjava.io.InputStream;

importjava.io.FileInputStream;

?

创建一个文件输入流对象

InputStreamf=newFileInputStream(文件名);//对象f关联源数据源?

f.read();//读取文件一个字节,并返回0-255一个int数,若文件读取完毕或再无可读数据,返回

-1

f.available();//可读取字节数?

?

f.close();//关闭文件输入流

(2)完成下面用FileInputStream读文件示例

importjava.io.*;

publicclasstestFile{

publicstaticvoidmain(String[]args){

Filefname=newFile("___________________");

try{

InputStreamf=newFileInputStream(____________________);

intsize=f._______________;

for(inti=0;i

System.out.print((char)f.___________________);//强制类型

f._________________________;

}

catch(IOExceptione){

System.out.println("文件读取失败");

}

}

}

3.事件处理编程步骤:

?

创建运行窗体和独立组件对象;

-5-

?

确定事件源、事件;

?

为事件源注册对应事件侦听器对象;

?

实现事件侦听器接口方法;

?

运行主程序引发相应事件,观察事件处理结果。

(1)利用监听器接口中的方法处理事件

2功能:

在文本框中输入“123张小明”,当点击“确认”按钮时,下面的标签中将显示:

“您输入了:

实例10-

123张小明”字样。

//实例10-2

importjava.awt.*;

importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;

classButtonFrameextendsFrameimplements{

(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);//给按钮注册动作监听器

add(txt);

add(btn);

add(lb);

setVisible(true);

}

//对点击“确认”按钮所做的事件处理

publicvoid(3)(ActionEvente){

(4);

}

}

publicclassTestButtonFrame{

-6-

随堂测验、考勤卷

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包中的所有类

publicclassQueryTest{

publicstaticvoidmain(String[]args){

Stringurl="____________________";//根据数据源,设置数据库URL

StringuserName="";//登录数据库用户名

Stringpassword="";//用户密码

___________conn=null;//声明Connection对象

___________stmt=null;//声明Statement对象

try{

//加载JDBC-ODBC驱动程序

Class.__________("sun.jdbc.odbc.______________");

//创建连接

conn=DriverManager._________________(url,userName,password);

//通过Connection对象,创建Statement对象

stmt=conn._________________();

//执行查询"年龄为20岁的学生信息"的SQL语句,得到结果集

___________rs=stmt.__________________("select*fromstudentswhere____________");

//通过循环输出相关学生信息

System.out.println("学号"+"\t\t姓名"+"\t性别"+"\t年龄"+"\t专业"

+"\t\t\t宿舍");

while(rs.________()){

Stringid=rs.getString("学号");

Stringname=rs.__________("姓名");

Stringsex=rs.getString("性别");

-7-

intage=rs.________("年龄");

Stringmajor=rs.getString("专业");

Stringdormitory=rs.getString("宿舍");

System.out.println(id+"\t"+name+"\t"+sex+"\t"+age

+"\t"+major+"\t"+dormitory);

}

rs.___________();//关闭结果集

stmt.close();

conn.close();

}catch(SQLExceptione){

e.printStackTrace();

}catch(ClassNotFoundExceptionex){

ex.printStackTrace();

}

}

}

(2)思考题:

数据库查询、插入、更新、删除操作包含哪些步骤,程序是怎样组织的,

5.TCP编程的主要步骤:

服务器、客户端分别创建ServerSocket、Socket对象;?

?

服务器、客户端分别打开连接到socket的输入/输出流;

?

按照一定的协议对socket进行读/写操作;

?

关闭socket。

(1)编写一个最简单的C/S程序,请组织程序记住步骤和方法.

(2)说明如下:

?

服务器程序能够处理多个客户的请求,并向客户端发送一个“你好”字符串;?

客户端与服务器连接后,读取一行服务器的信息,在屏幕上输出信息;?

若客户端和服务器是同一台计算机,则可使用127.0.0.1代表本机IP地址。

若不是,则将IP改为服务器实际配

置的IP地址。

?

本程序中使用端口号为2345(大于1024)。

(3)答:

1)服务器端代码主要片段:

2)客户端代码主要片段:

6.JUnit框架组成,即单元测试步骤和方法.

(1)常用类()接口说明如下:

?

Test接口——运行测试和收集测试结果

?

TestCase抽象类——定义测试中固定方法。

TestCase是Test接口的抽象实现,(不能被实例化,只能被继承)

其构造函数TestCase(stringname)根据输入的测试名称name创建一个测试实例。

?

Assert包含了一组静态的测试方法,用于期望值和实际值比对是否正确,即测试失败,Assert类就会抛出一

个AssertionFailedError异常,JUnit测试框架将这种错误归入Failes并加以记录,同时标志为未通过测试。

?

TestSuite类负责组装多个TestCases。

待测得类中可能包括了对被测类的多个测试,而TestSuit负责收集这些

-8-

随堂测验、考勤卷

测试,使我们可以在一个测试中,完成全部的对被测类的多个测试。

?

TestResult结果类集合了任意测试累加结果,通过TestResult实例传递个每个测试的Run()方法。

TestResult在执行TestCase是如果失败会异常抛出

-9-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1