Java语言程序设计二级考试上机指导扩充版.docx

上传人:b****7 文档编号:11137586 上传时间:2023-02-25 格式:DOCX 页数:119 大小:168.77KB
下载 相关 举报
Java语言程序设计二级考试上机指导扩充版.docx_第1页
第1页 / 共119页
Java语言程序设计二级考试上机指导扩充版.docx_第2页
第2页 / 共119页
Java语言程序设计二级考试上机指导扩充版.docx_第3页
第3页 / 共119页
Java语言程序设计二级考试上机指导扩充版.docx_第4页
第4页 / 共119页
Java语言程序设计二级考试上机指导扩充版.docx_第5页
第5页 / 共119页
点击查看更多>>
下载资源
资源描述

Java语言程序设计二级考试上机指导扩充版.docx

《Java语言程序设计二级考试上机指导扩充版.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计二级考试上机指导扩充版.docx(119页珍藏版)》请在冰豆网上搜索。

Java语言程序设计二级考试上机指导扩充版.docx

Java语言程序设计二级考试上机指导扩充版

Java语言程序设计二级上机考试指导

Java语言程序设计上机考试主要是考核考生阅读程序、分析程序及亲自动手调试程序的能力,要求考生能够采用面向对象技术编写应用程序,在J2SDK环境下,熟练调试Java语言程序。

1、上机考试时间和题型

上机考试时间为90分钟,满分100分。

上机考试题型主要有改错题和填空题。

改错题主要是考核考生阅读应用程序的能力。

题型通常是要求考生按照题目要求将程序中的错误改正过来,使之输出正确的运行结果。

填空题主要是考核考生编写应用程序的能力。

题型通常是要求考生按照题目要求将程序补充完整,并调试程序使之输出正确的运行结果;或说明程序要实现的功能,相关方法内容空缺,让考生填上,调试通过并输出正确的运行结果。

2、使用J2SDK编写和调试Java程序

Java语言程序开发平台可用J2DSK,它是由SUN公司开发的一整套用于Java程序设计的平台工具。

J2SDK中包含有Java编译器、Java解释器、Java小程序查看器等。

一般使用J2sdk1.4.2版本,近年来Java语言版本的更新也比较快,1.5以上的版本也不断推出。

而ITAT上机考试则要求使用Eclipse3.3或MyEclipse7.0相关的集成环境。

要参加ITAT考试的考生考试前需要注意熟悉Eclipse3.3或MyEclipse7.0相关的集成环境。

Java有两类应用程序,基于命令提示符的JavaApplication程序和基于浏览器的JavaApplet程序。

前者是基于命令行提示符环境下的独立程序,后者是嵌入HTML文件在浏览器中解释执行的非独立程序。

下面将对它们分别进行归纳总结。

JavaApplication程序的编写和运行可以分为三个步骤。

(1)编写源代码

首先要选择一个无格式的文本编辑器,如Windows的记事本、UtraEdit等。

其次,要创建一个文件夹,用编辑器录入编写好的Java源程序,然后将录入的Java源程序存入该文件夹,其文件后缀应是.java。

(2)编译源代码

在安装好J2SDK系统后,还要对环境进行配置,关于具体配置请参阅《Java语言程序设计实训》(二版)的实验部分的实验2。

如果在考试中总是出现““Javac”不是内部和外部命令,也不是可运行程序和批处理文件。

”或“Error:

cannotread:

XXXXXX.java1error”。

也可以在查找到Java安装文件夹后进行如下设置:

假设Java安装文件路径是D:

\jdk1.6.0。

在命令提示符环境下,在D盘根目录下创建一个文件夹Java或指定的文件夹。

D:

\>cdJava

D:

Java\>pathD:

\jdk1.6.0\bin

D:

Java\>setclasspath=.

在调试程序时一定要将源程序存入D盘的Java文件夹中。

若是考试对文件夹有要求,就将用所以求的文件夹替代Java文件夹名。

例如。

在Java文件夹中有编辑好的Example1.java源程序文件,对其编译。

D:

\Java>javacExample1.java

如果命令提示符下没有错误提示信息,系统将迅速回到“D:

\Java>”状态下,表明程序编译已经通过,在“D:

\Java>”文件夹下将出现一个“Example1.class”文件。

如果有错误信息出现,要注意查看前面的错误,将其改正,再一次对其进行编译,如此反复,直到程序编译通过为止。

注意:

若是在编译时出现许多的错误,此时要冷静不要急躁,要按照上述要求从第一个错误改起,一步一步进行,一般都会得到解决。

(3)解释执行

编译通过也只能说完成程序调试的一半,还要解释执行、分析结果是否正确。

对于上述Exampl.java程序键入如下命令行:

D:

\Java>javaExample1

一般会有结果出现,此时需要仔细分析输出结果是否正确。

如果运行结果正确,程序的调试工作也就结束了。

注意:

有时程序有输出,但不是预期的结果。

此时要仔细分析源程序的解题算法、流程控制是否与预期相悖,要逐步改进程序代码,用可以预测的结果运行该程序,直到程序运行结果正确为止。

JavaApplet程序的编写和运行可以分为四个步骤。

(1)编写源程序

本步与JavaApplication程序相同。

编辑一个源代码文件存入指定的文件夹中。

注意:

除了图形界面的Application程序外,一般Applet程序不含main()方法。

(2)编译源程序

本步与JavaApplication程序相同。

(3)编写HTML文件,

一般用最简单的HTML文件结构即可。

例如有“AppletExample.java”JavaApplet程序,其HTML文件可以为:

以AppletExample1.html存盘即可。

(4)解释执行

对于Java Applet程序的解释执行方法有三种。

其一是用Java小程序查看器appletviewer解释执行。

以上述JavaApplet程序为例,其命令行如下:

D:

\Java>appletviewerAppletExample1.html

程序中无错误,将输出正确的运行结果;如果有错误信息,按照JavaApplication程序那样反复调试,直到调试通过,输出结果正确为止。

其二是用Web浏览器解释执行。

用浏览器打开AppletExample1.html文件,其中嵌入的Applet程序将被解释执行,若有错误,也要不断改错调试,直到调试通过,输出结果正确为止。

其三是直接双击html文件图标。

另外也可以使用appletviewer小程序查看器,而不用html文件,但是有如下要求:

将html文件中的“”语句以“/**/”形式放到Java源程序的包引入语句的后面。

在运行该Applet小程序时用如下命令行:

D:

\Java>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

System.out.println(year+"不是闰年。

");

year=2000;

booleanleap;

if(year%4==0)

leap=false;

elseif(year%100!

=0)

leap=true;

elseif(year%400!

=0)

leap=false;

else

leap=true;

if(leap==true)

System.out.println(year+"是闰年。

");

else

System.out.println(year+"不是闰年。

");

year=2050;

if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

leap=true;

else

leap=false;

}

else

leap=false;

}

leap=false;

if(leap==true)

System.out.println(year+"是闰年。

");

else

System.out.println(year+"不是闰年。

");

}

}

(2)如下程序在编译时出现错误,请改正程序中的错误,使之能通过编译及运行。

importjava.io.*;

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()方法中的错误,使程序运行时能输出正确的结果。

importjava.io.*;

classA

{

privateinta;

publicvoidsetA(intx)

{a=x;}

publicintgetA()

{returna;}

}

publicclassOpExample03

{

publicstaticvoidmain(Stringargs[])

{

Aa=A();

a.getA(34);

inti=a.getA();

System.out.println("i="+i);

}

}

(4)在当前文件夹中生成一个名为File1.txt的文件,在D盘生成一个名为myDir的文件夹,并在该文件夹中生成一个名为File2.txt的文件,最后输出文件File2.txt的完整路径。

改正下列程序中的错误,使之能够正确运行。

importjava.io.*;

publicclassOpExample04

{

publicstaticvoidmain(Stringargs[])

{

FiledirObj=newFile(d:

\\myDir)

FilefileObj1=newFile("d:

\\myDir","File1.txt");

FilefileObj2=newFile("d:

/myDir","File2.txt");

System.out.println(fileDirObj2);

try

{

dirObj.mkdir();

}

catch(SecurityExceptione)

{}

try

{

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=;

System.out.print(s+"");

}

System.out.println("\ns2有单词"+n2+"个。

");

}

}

(6)下面是一个Applet程序,其功能是接收用户输入的两个整数,比较它们的大小,并在用户按下“比较”按钮后,将Applet中显示的“请先输入两个待比较的整数”改为“两个整数中比较大的数值:

x”,x是两个数中的比较大的值。

改正如下程序,使之能够通过编译并输出正确的结果。

importjava.awt.*;

importjava.awt.event.*;

importjava.applet.Applet;

/**/

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)阅读如下程序,写出程序的运行结果。

importjava.io.*;

publicclassOpExample07

{

publicstaticvoidmain(Stringargs[])

{

Stringstr="Javaisgreat.";

Stringstr1=str.toString();

if(str==str1)

System.out.println("stristhesameasstr1");

else

System.out.println("strisnotthesameasstr1");

//至此,程序的输出为;

if(str.equals(str1))

System.out.println("strequalsstr1");

else

System.out.println("stridoesnotequalsstr1");

//至此,程序的输出为;

}

}

(8)下面程序是冒泡(从小到大)排序程序,请填写空行内容,使程序实现其功能。

importjava.io.*;

publicclassOpExample08

{publicstaticvoidmain(Stringargs[])

{

inti,j;

intarr[]={3,-66,11,88,-3,999};

intL=arr.length;

for(i=0;i

for(j=i+1;j

if()

{

intt=arr[i];

arr[i]=arr[j];

arr[j]=t;

}

for(i=0;i

System.out.print(arr[i]+"");

}

}

(9)在下面的类中,有两个下拉列表,一个显示月份,一个显示(2000~2010)年份,填写空格,使程序正常运行,其用户界面如下所示。

importjavax.swing.*;

publicclassOpExample09extendsJFrame

{

JComboBoxmonthBox=newJComboBox();

;

publicOpExample09()

{super("组合框应用举例");//将"组合框应用举例"显示在标题栏上

setSize(350,70);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanelpane=newJPanel();

JLabelexp=newJLabel("组合框应用举例");

for(inti=0;i<13;i++)

monthBox.addItem(""+i);

for(inti=2000;i<2010;i++)

yearBox.addItem(""+i);

pane.add(exp);

pane.add(yearBox);

;

setContentPane(pane);

}

publicstaticvoidmain(Stringargs[])

{OpExample09

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

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

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

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