1、Java语言程序设计二级考试上机指导扩充版Java语言程序设计二级上机考试指导Java语言程序设计上机考试主要是考核考生阅读程序、分析程序及亲自动手调试程序的能力,要求考生能够采用面向对象技术编写应用程序,在J2SDK环境下,熟练调试Java语言程序。1、 上机考试时间和题型上机考试时间为90分钟,满分100分。上机考试题型主要有改错题和填空题。改错题主要是考核考生阅读应用程序的能力。题型通常是要求考生按照题目要求将程序中的错误改正过来,使之输出正确的运行结果。填空题主要是考核考生编写应用程序的能力。题型通常是要求考生按照题目要求将程序补充完整,并调试程序使之输出正确的运行结果;或说明程序要实
2、现的功能,相关方法内容空缺,让考生填上,调试通过并输出正确的运行结果。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有两类应用程
3、序,基于命令提示符的Java Application程序和基于浏览器的Java Applet程序。前者是基于命令行提示符环境下的独立程序,后者是嵌入HTML文件在浏览器中解释执行的非独立程序。下面将对它们分别进行归纳总结。Java Application程序的编写和运行可以分为三个步骤。(1) 编写源代码首先要选择一个无格式的文本编辑器,如Windows的记事本、UtraEdit等。其次,要创建一个文件夹,用编辑器录入编写好的Java源程序,然后将录入的Java源程序存入该文件夹,其文件后缀应是.java。(2) 编译源代码在安装好J2SDK系统后,还要对环境进行配置,关于具体配置请参阅Jav
4、a语言程序设计实训(二版)的实验部分的实验2。如果在考试中总是出现“Javac”不是内部和外部命令,也不是可运行程序和批处理文件。”或“Error:cannot read:XXXXXX. java 1 error”。也可以在查找到Java安装文件夹后进行如下设置:假设Java安装文件路径是D:jdk1.6.0。在命令提示符环境下,在D盘根目录下创建一个文件夹Java或指定的文件夹。D:cd JavaD: Java path D:jdk1.6.0binD: Java set classpath=.在调试程序时一定要将源程序存入D盘的Java文件夹中。若是考试对文件夹有要求,就将用所以求的文件夹替
5、代Java文件夹名。例如。在Java文件夹中有编辑好的Example1.java源程序文件,对其编译。D:Javajavac Example1.java如果命令提示符下没有错误提示信息,系统将迅速回到“D:Java”状态下,表明程序编译已经通过,在“D:Java”文件夹下将出现一个“Example1.class”文件。如果有错误信息出现,要注意查看前面的错误,将其改正,再一次对其进行编译,如此反复,直到程序编译通过为止。注意:若是在编译时出现许多的错误,此时要冷静不要急躁,要按照上述要求从第一个错误改起,一步一步进行,一般都会得到解决。(3) 解释执行编译通过也只能说完成程序调试的一半,还要解
6、释执行、分析结果是否正确。对于上述Exampl.java程序键入如下命令行:D:Javajava Example1一般会有结果出现,此时需要仔细分析输出结果是否正确。如果运行结果正确,程序的调试工作也就结束了。注意:有时程序有输出,但不是预期的结果。此时要仔细分析源程序的解题算法、流程控制是否与预期相悖,要逐步改进程序代码,用可以预测的结果运行该程序,直到程序运行结果正确为止。Java Applet程序的编写和运行可以分为四个步骤。(1) 编写源程序本步与Java Application程序相同。编辑一个源代码文件存入指定的文件夹中。注意:除了图形界面的Application程序外,一般App
7、let程序不含main()方法。(2) 编译源程序本步与Java Application程序相同。(3)编写HTML文件,一般用最简单的HTML文件结构即可。例如有“AppletExample.java”Java Applet程序,其HTML文件可以为: 以AppletExample1.html存盘即可。(4)解释执行对于JavaApplet程序的解释执行方法有三种。其一是用Java小程序查看器appletviewer解释执行。以上述Java Applet程序为例,其命令行如下:D:Javaappletviewer AppletExample1.html程序中无错误,将输出正确的运行结果;如果
8、有错误信息,按照Java Application程序那样反复调试,直到调试通过,输出结果正确为止。其二是用Web浏览器解释执行。用浏览器打开AppletExample1.html文件,其中嵌入的Applet程序将被解释执行,若有错误,也要不断改错调试,直到调试通过,输出结果正确为止。其三是直接双击html文件图标。另外也可以使用appletviewer小程序查看器,而不用html文件,但是有如下要求:将html文件中的“ ”语句以“/* */”形式放到Java源程序的包引入语句的后面。在运行该Applet小程序时用如下命令行:D:Javaappletviewer AppletExample1.
9、java3、 上机考试的基本内容Java语言程序设计设计考试的基本要求为:(1)掌握Java语言中面向对象程序设计的特性掌握面向对象方法是一种认知方法;面向对象程序设计语言的对象、消息、类、继承和多态性;对象的属性、对象的相互关系;面向对象程序设计语言的系统资源的可重用性、功能的可扩展性和系统的可管理性;面向对象系统的分析方法、面向对象系统的设计方法和面向对象系统的实现方法;J2SDK的的安装、J2SDK的设置、开发与运行Java程序的步骤等。(2)数据类型、数组、运算符及其表达式变量的数据类型、变量的名称和变量的作用域是变量的三大属性。在一个变量被声明时,常常是指明它的数据类型和名称;而变量
10、声明所在的物理位置往往决定了变量的作用域。Java数据类型分为基本数据类型和复杂数据类型。基本数据类型可分为数值类型、字符类型(char)和布尔类型(boolean)。数值类型又分为整数类型(byte、short、int、long)和实数类型(float, double)。复杂数据类型可分为类类型(class)、数组和接口类型(interface)等。一维数组、多维数组、字符串和向量的声明、创建、引用及其应用举例。Java语言有多达40余个运算符,其使用也很灵活。表达式是操作数和运算符的结合体,它产生一个值。操作数在表达式中是被运算的对象,它可以是简单变量,也可以是带有下标表达式的下标变量,即
11、数组元素。每个操作数所代表的值都具有一种数据类型,在运算的过程中,该类型可以一次性地转换为另一种数据类型。(3)Java语言的基本语句掌握java语言的三种基本结构:Java语言的顺序结构语句、选择结构语句和循环结构语句以及转移控制语句。(4)Java语言的接口、异常处理及包接口是为了解决Java语言不支持多重继承而设立的,通过接口可以实现多重继承的需求。程序运行中出现错误是不可避免的,能够处理运行中错误的程序才能稳定地运行,异常处理就是用来处理程序运行中可能出现错误的技术方法。程序包是类和接口的集合。利用程序包可以把常用的类或功能相似的类放在一个程序包中。Java语言还提供了系统程序包,其中
12、包含了大量的类,可以在编写Java程序时直接引用它们。(5)Java语言的方法及基础类库的应用掌握Java的return 语句,Java方法的定义、返值和调用,Java方法之间的数据传递,Java方法的嵌套调用和递归调用以及Java语言的命令行参数。掌握Object类,数据类型类,Math类、System类和Class类及其应用方法。(6)Java语言类的声明、对象的实例化、继承性和多态性掌握Java 类的声明、类的成员变量、类的成员方法、内部类、匿名类和Java 对象的实例化。面向对象语言的继承性、多态性以及在一个类的内部,同名方法之间的关系;Java语言构造方法的缺省、继承与重载等问题。(
13、7)Java语言的数据流及其对象序列化掌握Java数据流的输入/输出、Java输入/输出流类的层次结构、流类的常用方法、常用流类应用举例、File类、RandomAccessFile类及其举例和对象序列化。(8)Java语言多线程的优先级设置、多线程的具体实现掌握线程的基本概念,线程的生命期,Thread类创建线程、Runnable接口创建线程,线程的同步问题等。(9)Java语言的AWT组件及用户图形界面编程掌握Java语言的Frame框架、组件的布局管理、事件及其事件的处理、Java语言的其它容器、菜单和对话框等内容。Java可视化编程中经常使用的标签、按钮和滚动条,单选按钮、复选框和选择
14、框,文本框、文本区和列表框,Swing按钮和标签,Swing边界和滑动条,Swing单选按钮、复选按钮和列表框,GUI的文字输出、颜色控制、绘制图形、显示图像和画布的应用等内容。(10)Java语言的网络编程及数据库编程掌握、网络通信协议介绍、URL类及其应用、URLConnection类及其应用、Socket接口、Datagram数据报以及如何编写能在Internet环境上运行的Java应用程序和Applet程序的方法和技巧。JDBC接口、驱动程序及ODBC,DriverManager类、Connection 类、Statement类、ResultSet类,结构化查询语言SQL的数据定义语句
15、、数据操纵语句,创建数据源、连接Access数据库、数据库创建、插入、修改和删除举例,数据库的顺序查询 、单项查询、排序查询和模糊查询等。(11)常见数据结构的Java实现在ITAT考试中, 要求了解Java集合架构(Java Collection Framework),了解Collection接口、Map接口及其子接口,了解Set接口,学会使用HashSet和Treeset,了解List接口,学会使用ArrayList类、LinkedList类和Stack类,了解HashMap类和TreeMap类。学会使用Collection类和Arrays类中的静态方法,还要求掌握用Java语言的一些类实
16、现链表、栈、树集、树映射、散列集、散列表等应用。4、 模拟题目(1)下面代码判断一年是否为闰年程序,改正程序中的错误,使之能够输出正确的结果。 判断闰年的条件是:年份能够被4整除,但不能被100整除;能够被400整除注意:不能改动程序结构,不得增加行也不能删除行。import java.io.*;public class OpExample01 public static void main(String args) int year=1989;if( year%4=0) | (year%100 !=0) | (year%400=0)System.out.println(year+是闰年。);
17、elseSystem.out.println(year+不是闰年。);year=2000;boolean leap;if(year%4=0)leap=false;else if(year%100!=0)leap=true;else if(year%400!=0)leap=false;elseleap=true;if(leap=true)System.out.println(year+是闰年。);elseSystem.out.println(year+不是闰年。);year=2050;if(year%4=0)if(year%100=0)if(year%400=0)leap=true;elsele
18、ap=false;elseleap=false;leap=false;if(leap=true)System.out.println(year+是闰年。);elseSystem.out.println(year+不是闰年。);(2)如下程序在编译时出现错误,请改正程序中的错误,使之能通过编译及运行。import java.io.*;class SubClass extends BaseClassclass BaseClass String str; public BaseClass() System.out.println(Ok); public BaseClass(String str) t
19、his.str=str; public class OpExample02 public static void main(String args) SubClass a=new SubClass(Hello); BaseClass b=new BaseClass(world); (3)下面程序的功能是为变量赋值,程序运行后,输出“i=34”。请改正main() 方法中的错误,使程序运行时能输出正确的结果。import java.io.*;class A private int a; public void setA(int x) a=x; public int getA() return a
20、; public class OpExample03 public static void main(String args) A a= A(); a.getA(34); int i=a.getA(); System.out.println(i=+i); (4)在当前文件夹中生成一个名为File1.txt的文件,在D盘生成一个名为myDir的文件夹,并在该文件夹中生成一个名为File2.txt的文件,最后输出文件File2.txt的完整路径。改正下列程序中的错误,使之能够正确运行。import java.io.*;public class OpExample04 public static v
21、oid main(String args) File dirObj=new File(d:myDir) File fileObj1=new File(d:myDir,File1.txt); File fileObj2=new File(d:/myDir,File2.txt); System.out.println(fileDirObj2); try dirObj.mkdir(); catch(SecurityException e) try fileDirObj1.createNewFile(); fileDirObj2.createNewFile(); catch( IOException
22、e) (5)分析两个字符串,分别输出每个字符串的单词并统计出单词的个数。阅读程序代码,填写空行位置的Java语句,使之能够正常编译运行。import java.util.*;public class OpExample05 public static void main(String args) String s1=I am Chinese,she is my younger brother ; String s2=Hello,Really,very good; StringTokenizer fenxi01=new StringTokenizer(s1, ,); StringTokenize
23、r fenxi02=new StringTokenizer(s2, ,); int n1=fenxi01.countTokens(); int n2=fenxi02.countTokens(); while(fenxi01.hasMoreTokens() String s=fenxi01.nextToken( ); System.out.print(s+ ); System.out.println(ns1有单词+n1+个。); while(fenxi02.hasMoreTokens() String s= ; System.out.print(s+ ); System.out.println(
24、ns2有单词+n2+个。); (6)下面是一个Applet程序,其功能是接收用户输入的两个整数,比较它们的大小,并在用户按下“比较”按钮后,将Applet中显示的“请先输入两个待比较的整数”改为“两个整数中比较大的数值:x”,x是两个数中的比较大的值。改正如下程序,使之能够通过编译并输出正确的结果。import java.awt.*;import java.awt.event.*;import java.applet.Applet;/*/public class OpExample06 extends Applet implements ActionListener Label result;
25、TextField file1,file2; Button btn;int a=0,b=0,max;public void init()/初始化操作 result=new Label(请先输入两个待比较的整数); file1=new TextField(6); file2=new TextField(6); btn=new Button(比较); add(file1); add(file2); add(btn); add(result); btn.addActionListener(this);public void actionPerformed(ActionEvent e)/处理按钮事件
26、a=file1; b=file2; if(ab) max=a; else max=b; btn.setText(两个数中比较大的值:+max); (7)阅读如下程序,写出程序的运行结果。import java.io.*;public class OpExample07 public static void main(String args) String str=Java is great.; String str1=str.toString(); if(str=str1) System.out.println(str is the same as str1); else System.out
27、.println(str is not the same as str1); /至此,程序的输出为 ; if(str.equals(str1) System.out.println(str equals str1); else System.out.println(str idoes not equals str1); /至此,程序的输出为 ; (8)下面程序是冒泡(从小到大)排序程序,请填写空行内容,使程序实现其功能。import java.io.*;public class OpExample08 public static void main(String args) int i , j
28、; int arr=3,-66,11,88,-3,999; int L=arr.length; for(i=0;iL-1;i+) for(j=i+1;jL;j+) if( ) int t=arri; arri=arrj; arrj=t; for(i=0;iL;i+) System.out.print(arri+ ); (9)在下面的类中,有两个下拉列表,一个显示月份,一个显示(20002010)年份,填写空格,使程序正常运行,其用户界面如下所示。import javax.swing.*;public class OpExample09 extends JFrame JComboBox mont
29、hBox=new JComboBox(); ; public OpExample09() super(组合框应用举例);/将组合框应用举例显示在标题栏上setSize(350,70);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JPanel pane=new JPanel();JLabel exp=new JLabel(组合框应用举例);for(int i=0;i13;i+) monthBox.addItem( +i);for(int i=2000;i2010;i+) yearBox.addItem( +i);pane.add(exp); pane.add(yearBox); ; setContentPane(pane); public static void main(String args) OpExample09
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1