Java语言程序设计二级考试上机指导扩充版文档格式.doc
《Java语言程序设计二级考试上机指导扩充版文档格式.doc》由会员分享,可在线阅读,更多相关《Java语言程序设计二级考试上机指导扩充版文档格式.doc(94页珍藏版)》请在冰点文库上搜索。
D:
\>
cdJava
Java\>
pathD:
\jdk1.6.0\bin
setclasspath=.
在调试程序时一定要将源程序存入D盘的Java文件夹中。
若是考试对文件夹有要求,就将用所以求的文件夹替代Java文件夹名。
例如。
在Java文件夹中有编辑好的Example1.java源程序文件,对其编译。
\Java>
javacExample1.java
如果命令提示符下没有错误提示信息,系统将迅速回到“D:
”状态下,表明程序编译已经通过,在“D:
”文件夹下将出现一个“Example1.class”文件。
如果有错误信息出现,要注意查看前面的错误,将其改正,再一次对其进行编译,如此反复,直到程序编译通过为止。
注意:
若是在编译时出现许多的错误,此时要冷静不要急躁,要按照上述要求从第一个错误改起,一步一步进行,一般都会得到解决。
(3)解释执行
编译通过也只能说完成程序调试的一半,还要解释执行、分析结果是否正确。
对于上述Exampl.java程序键入如下命令行:
javaExample1
一般会有结果出现,此时需要仔细分析输出结果是否正确。
如果运行结果正确,程序的调试工作也就结束了。
有时程序有输出,但不是预期的结果。
此时要仔细分析源程序的解题算法、流程控制是否与预期相悖,要逐步改进程序代码,用可以预测的结果运行该程序,直到程序运行结果正确为止。
JavaApplet程序的编写和运行可以分为四个步骤。
(1)编写源程序
本步与JavaApplication程序相同。
编辑一个源代码文件存入指定的文件夹中。
除了图形界面的Application程序外,一般Applet程序不含main()方法。
(2)编译源程序
(3)编写HTML文件,
一般用最简单的HTML文件结构即可。
例如有“AppletExample.java”JavaApplet程序,其HTML文件可以为:
<
html>
body>
appletcode=AppletExample1.classwidth=350height=80>
<
/applet>
/body>
/html>
以AppletExample1.html存盘即可。
(4)解释执行
对于Java Applet程序的解释执行方法有三种。
其一是用Java小程序查看器appletviewer解释执行。
以上述JavaApplet程序为例,其命令行如下:
appletviewerAppletExample1.html
程序中无错误,将输出正确的运行结果;
如果有错误信息,按照JavaApplication程序那样反复调试,直到调试通过,输出结果正确为止。
其二是用Web浏览器解释执行。
用浏览器打开AppletExample1.html文件,其中嵌入的Applet程序将被解释执行,若有错误,也要不断改错调试,直到调试通过,输出结果正确为止。
其三是直接双击html文件图标。
另外也可以使用appletviewer小程序查看器,而不用html文件,但是有如下要求:
将html文件中的“<
appletcode=AppletExample1.classwidth=350height=80>
”语句以“/*<
*/”形式放到Java源程序的包引入语句的后面。
在运行该Applet小程序时用如下命令行:
appletviewerAppletExample1.java
3、上机考试的基本内容
Java语言程序设计设计考试的基本要求为:
(1)掌握Java语言中面向对象程序设计的特性
掌握面向对象方法是一种认知方法;
面向对象程序设计语言的对象、消息、类、继承和多态性;
对象的属性、对象的相互关系;
面向对象程序设计语言的系统资源的可重用性、功能的可扩展性和系统的可管理性;
面向对象系统的分析方法、面向对象系统的设计方法和面向对象系统的实现方法;
J2SDK的的安装、J2SDK的设置、开发与运行Java程序的步骤等。
(2)数据类型、数组、运算符及其表达式
变量的数据类型、变量的名称和变量的作用域是变量的三大属性。
在一个变量被声明时,常常是指明它的数据类型和名称;
而变量声明所在的物理位置往往决定了变量的作用域。
Java数据类型分为基本数据类型和复杂数据类型。
基本数据类型可分为数值类型、字符类型(char)和布尔类型(boolean)。
数值类型又分为整数类型(byte、short、int、long)和实数类型(float,double)。
复杂数据类型可分为类类型(class)、数组和接口类型(interface)等。
一维数组、多维数组、字符串和向量的声明、创建、引用及其应用举例。
Java语言有多达40余个运算符,其使用也很灵活。
表达式是操作数和运算符的结合体,它产生一个值。
操作数在表达式中是被运算的对象,它可以是简单变量,也可以是带有下标表达式的下标变量,即数组元素。
每个操作数所代表的值都具有一种数据类型,在运算的过程中,该类型可以一次性地转换为另一种数据类型。
(3)Java语言的基本语句
掌握java语言的三种基本结构:
Java语言的顺序结构语句、选择结构语句和循环结构语句以及转移控制语句。
(4)Java语言的接口、异常处理及包
接口是为了解决Java语言不支持多重继承而设立的,通过接口可以实现多重继承的需求。
程序运行中出现错误是不可避免的,能够处理运行中错误的程序才能稳定地运行,异常处理就是用来处理程序运行中可能出现错误的技术方法。
程序包是类和接口的集合。
利用程序包可以把常用的类或功能相似的类放在一个程序包中。
Java语言还提供了系统程序包,其中包含了大量的类,可以在编写Java程序时直接引用它们。
(5)Java语言的方法及基础类库的应用
掌握Java的return语句,Java方法的定义、返值和调用,Java方法之间的数据传递,Java方法的嵌套调用和递归调用以及Java语言的命令行参数。
掌握Object类,数据类型类,Math类、System类和Class类及其应用方法。
(6)Java语言类的声明、对象的实例化、继承性和多态性
掌握Java类的声明、类的成员变量、类的成员方法、内部类、匿名类和Java对象的实例化。
面向对象语言的继承性、多态性以及在一个类的内部,同名方法之间的关系;
Java语言构造方法的缺省、继承与重载等问题。
(7)Java语言的数据流及其对象序列化
掌握Java数据流的输入/输出、Java输入/输出流类的层次结构、流类的常用方法、常用流类应用举例、File类、RandomAccessFile类及其举例和对象序列化。
(8)Java语言多线程的优先级设置、多线程的具体实现
掌握线程的基本概念,线程的生命期,Thread类创建线程、Runnable接口创建线程,线程的同步问题等。
(9)Java语言的AWT组件及用户图形界面编程
掌握Java语言的Frame框架、组件的布局管理、事件及其事件的处理、Java语言的其它容器、菜单和对话框等内容。
Java可视化编程中经常使用的标签、按钮和滚动条,单选按钮、复选框和选择框,文本框、文本区和列表框,Swing按钮和标签,Swing边界和滑动条,Swing单选按钮、复选按钮和列表框,GUI的文字输出、颜色控制、绘制图形、显示图像和画布的应用等内容。
(10)Java语言的网络编程及数据库编程
掌握、网络通信协议介绍、URL类及其应用、URLConnection类及其应用、Socket接口、Datagram数据报以及如何编写能在Internet环境上运行的Java应用程序和Applet程序的方法和技巧。
JDBC接口、驱动程序及ODBC,DriverManager类、Connection类、Statement类、ResultSet类,结构化查询语言SQL的数据定义语句、数据操纵语句,创建数据源、连接Access数据库、数据库创建、插入、修改和删除举例,数据库的顺序查询、单项查询
、排序查询和模糊查询等。
(11)常见数据结构的Java实现
在ITAT考试中,要求了解Java集合架构(JavaCollectionFramework),了解Collection接口、Map接口及其子接口,了解Set接口,学会使用HashSet和Treeset,了解List接口,学会使用ArrayList类、LinkedList类和Stack类,了解HashMap类和TreeMap类。
学会使用Collection类和Arrays类中的静态方法,还要求掌握用Java语言的一些类实现链表、栈、树集、树映射、散列集、散列表等应用。
4、模拟题目
(1)下面代码判断一年是否为闰年程序,改正程序中的错误,使之能够输出正确的结果。
[判断闰年的条件是:
年份能够被4整除,但不能被100整除;
能够被400整除]
不能改动程序结构,不得增加行也不能删除行。
importjava.io.*;
publicclassOpExample01
{publicstaticvoidmain(Stringargs[])
{intyear=1989;
if((year%4==0)||(year%100!
=0)||(year%400==0))
System.out.println(year+"
是闰年。
"
);
else
不是闰年。
year=2000;
booleanleap;
if(year%4==0)
leap=false;
elseif(year%100!
=0)
leap=true;
elseif(year%400!
if(leap==true)
year=2050;
{
if(year%100==0)
if(year%400==0)
}
(2)如下程序在编译时出现错误,请改正程序中的错误,使之能通过编译及运行。
classSubClassextendsBaseClass
{}
classBaseClass
{
Stringstr;
publicBaseClass()
{System.out.println("
Ok"
}
publicBaseClass(Stringstr)
{this.str=str;
}
publicclassOpExample02
publicstaticvoidmain(Stringargs[])
{
SubClassa=newSubClass("
Hello"
BaseClassb=newBaseClass("
world"
(3)下面程序的功能是为变量赋值,程序运行后,输出“i=34”。
请改正main()方法中的错误,使程序运行时能输出正确的结果。
classA
{
privateinta;
publicvoidsetA(intx)
{a=x;
publicintgetA()
{returna;
publicclassOpExample03
Aa=A();
a.getA(34);
inti=a.getA();
System.out.println("
i="
+i);
(4)在当前文件夹中生成一个名为File1.txt的文件,在D盘生成一个名为myDir的文件夹,并在该文件夹中生成一个名为File2.txt的文件,最后输出文件File2.txt的完整路径。
改正下列程序中的错误,使之能够正确运行。
publicclassOpExample04
{
FiledirObj=newFile(d:
\\myDir)
FilefileObj1=newFile("
d:
\\myDir"
"
File1.txt"
);
FilefileObj2=newFile("
/myDir"
File2.txt"
System.out.println(fileDirObj2);
try
{
dirObj.mkdir();
}
catch(SecurityExceptione)
{}
fileDirObj1.createNewFile();
fileDirObj2.createNewFile();
}
catch(IOExceptione)
{}
(5)分析两个字符串,分别输出每个字符串的单词并统计出单词的个数。
阅读程序代码,填写空行位置的Java语句,使之能够正常编译运行。
importjava.util.*;
publicclassOpExample05
publicstaticvoidmain(Stringargs[])
{
Strings1="
IamChinese,sheismyyoungerbrother"
;
Strings2="
Hello,Really,verygood"
StringTokenizerfenxi01=newStringTokenizer(s1,"
"
StringTokenizerfenxi02=newStringTokenizer(s2,"
intn1=fenxi01.countTokens();
intn2=fenxi02.countTokens();
while(fenxi01.hasMoreTokens())
{
Strings=fenxi01.nextToken();
System.out.print(s+"
"
System.out.println("
\ns1有单词"
+n1+"
个。
while(fenxi02.hasMoreTokens())
{
Strings=;
"
}
\ns2有单词"
+n2+"
(6)下面是一个Applet程序,其功能是接收用户输入的两个整数,比较它们的大小,并在用户按下“比较”按钮后,将Applet中显示的“请先输入两个待比较的整数”改为“两个整数中比较大的数值:
x”,x是两个数中的比较大的值。
改正如下程序,使之能够通过编译并输出正确的结果。
importjava.awt.*;
importjava.awt.event.*;
importjava.applet.Applet;
/*<
appletcode=OpExample06.classwidth=280height=89>
*/
publicclassOpExample06extendsAppletimplementsActionListener
{
Labelresult;
TextFieldfile1,file2;
Buttonbtn;
inta=0,b=0,max;
publicvoidinit()//初始化操作
result=newLabel("
请先输入两个待比较的整数"
file1=newTextField(6);
file2=newTextField(6);
btn=newButton("
比较"
add(file1);
add(file2);
add(btn);
add(result);
btn.addActionListener(this);
publicvoidactionPerformed(ActionEvente)//处理按钮事件
a=file1;
b=file2;
if(a>
b)
max=a;
else
max=b;
btn.setText("
两个数中比较大的值:
+max);
}
(7)阅读如下程序,写出程序的运行结果。
publicclassOpExample07
publicstaticvoidmain(Stringargs[])
Stringstr="
Javaisgreat."
Stringstr1=str.toString();
if(str==str1)
System.out.println("
stristhesameasstr1"
else
strisnotthesameasstr1"
//至此,程序的输出为;
if(str.equals(str1))
strequalsstr1"
stridoesnotequalsstr1"
//至此,程序的输出为;
}
(8)下面程序是冒泡(从小到大)排序程序,请填写空行内容,使程序实现其功能。
importjava.io.*;
publicclassOpExample08
{publicstaticvoidmain(St