..全国高等学校计算机水平考试Ⅱ级《Java程序设计》考试大纲及样题(试行)一、考试目的与要求Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java应用程序设计考试是为了检查学生是否具备Java程序设计基本知识和初步应用能力的考试,通过本课程的学习,考生要求达到以下“知识”和“技能”两方面的目标:知识方面:掌握面向对象程序设计的基本知识,掌握Java语言的编程语法和常用类的使用。技能方面:能正确阅读和理解简单的Java程序,能编写和调试简单功能需求的Java程序。考试基本要求如下:1.掌握Java语言的语法成份及其使用方法2.掌握面向对象程序设计的基础知识3.掌握Java类库的常用类4.掌握简单Java应用程序的阅读、理解和编写5.掌握简单JavaApplet程序的阅读、理解和编写6.掌握Java图形用户界面程序的编写7.了解Java语言的多线程编程、数据库编程8.掌握基本的常用算法和实现的方法9.掌握一种Java程序的编译和调试环境,能熟练地调试程序二、考试内容(一)基础知识【考试要求】了解Java语言的历史和特点;掌握Java的程序结构及开发环境的搭建;熟悉Java语言的各种数据类型;掌握变量和常量的定义方法;掌握基本数据类型的转换;掌握运算符与表达式的运用;熟悉Java的编码规范。【主要考点】1.Java语言的历史、现状、特点、基本程序结构以及编程环境的搭建。2.Java语言的数据类型:(1)基本数据类型:byte、short、int、long、float、double、char、boolean(2)引用数据类型:类、接口、数组3.常量和变量常量的各种表示形式和类型,变量的定义和初始化。4.数据类型转换显示转换,隐式转换5.运算符赋值运算符、算术运算符、自增/减运算符、关系运算符、逻辑运算符、位运算符、条件运算符等。6.表达式表达式的组成规则,表达式运算中的类型转换、优先级和结合性。7.Java编程规范..(二)流程控制结构【考试要求】熟悉流程控制分为顺序结构、选择结构和循环结构,掌握选择结构和循环结构的具体实现。【主要考点】1.Java程序的基本结构2.选择结构(1)if语句(2)switch语句3.循环结构(1)for语句(2)while语句(3)do-while语句4.跳转语句(1)break语句(2)continue语句(3)return语句5.循环语句与分支语句的嵌套(三)面向对象程序设计【考试要求】掌握面向对象程序设计的特点和基本概念;掌握类的声明;掌握对象的创建和使用;掌握继承和多态的概念和应用;掌握接口的声明和实现;掌握包的声明、包与类的引入;掌握Java类库常用类的使用。【主要考点】1.面向对象程序设计的基本概念类、对象、成员变量、成员方法、封装、继承、多态2.类的基本组成(1)类的声明(2)成员变量的声明(3)成员方法的声明与调用,方法的参数传递与返回值(4)方法的重载(5)静态变量和静态方法3.对象的创建和使用(1)对象的创建(2)构造方法与对象的初始化(3)成员变量、成员方法的访问(4)this(5)引用的赋值4.类的继承(1)子类的声明(2)super(3)变量覆盖和方法覆盖(4)final类和final方法5.类及成员的四种访问权限..(1)类的访问权限:默认权限、public(2)类成员的访问权限:public、private、protected、默认权限6.抽象类与接口(1)abstract类和abstract方法的声明(2)接口的声明与实现7.包(1)包的声明及package语句(2)包和类的引入及import语句8.常用类的使用(1)String类字符串的基本操作:对象创建,字符串的比较,字符的访问与查找,子串的查找,字符串的连接。(2)StringBuffer类字符串的基本操作:对象创建,字符串的修改,与String类字符串的相互转换。(3)Math类和Random类的常用方法。(4)基本类型的包装类及其常用方法。(5)了解Object类和Class类。(四)数组【考试要求】掌握一维数组、二维数组的声明、创建与使用。【主要考点】1.数组的声明、创建和初始化2.数组的大小和元素默认值3.数组元素的使用(五)图形用户界面程序设计【考试要求】掌握AWT和Swing常用组件与容器的使用方法;掌握窗口应用程序和小应用程序Applet的构建方法;掌握常用布局管理器的使用方法;掌握常用事件的处理方法;掌握颜色和字体的设置方法;掌握基本图形的绘制方法;掌握小应用程序Applet的生命周期及主要成员方法。【主要考点】1.常用组件和容器的创建和使用标签、文本框、按钮、文本区域、复选框、单选钮、下拉列表、列表、定时器、窗口、面板、对话框、小应用程序、文件选择器JFileChooser、颜色选择器JColorChooser等。2.常用布局管理器的使用FlowLayout、BorderLayout、GridLayout、CardLayout3.事件处理模型与常见事件的处理(1)事件、事件源、事件处理者及事件处理模型;(2)WindowEvent、ActionEvent、ItemEvent、KeyEvent、MouseEvent、FocusEvent、TextEvent的处理.4.颜色和字体的设置Color类、Font类5.基本图形的绘制绘制直线、矩形、椭圆、弧、多边形、字符串的方法6.Applet程序设计..(1)小应用程序Applet的程序结构与生命周期(2)Applet类常用的成员方法(3)在HTML页中包含Applet,Applet与HTML通信(六)异常处理【考试要求】理解异常处理机制;熟悉常用异常类;掌握用try-catch-finally语句捕获异常;掌握抛出异常和声明抛出异常;掌握自定义异常类的声明和使用。【主要考点】1异常的概念和分类2.常用的异常类3.异常的捕获与处理:try-catch-finally4.异常的抛出:throw语句,throws子句5.自定义异常(七)输入输出流及文件操作【考试要求】理解输入输出流的概念;熟悉流的分类;掌握常用流类的使用方法;掌握系统标准输入和输出的使用方法;掌握用Scanner类输入数据的方法;掌握用File类管理文件和目录的方法;掌握用RandomAccessFile类读写随机访问文件的方法。【主要考点】1.流的分类输入流与输出流,字节流与字符流,节点流与过滤流2.常用流(1)常用字节流:FileInputStream、FileOutputStream、ByteArrayInputStream、ByteArrayOutputStream、BufferedInputStream、BufferedOutputStream、DataInputStream、DataOutputStream、ObjectInputStream、ObjectOutputStream、PrintStream(2)常用字符流:FileReader、FileWriter、CharArrayReader、CharArrayWriter、StringReader、StringWriter、BufferedReader、BufferedWriter、InputStreamReader、OutputStreamWriter3.系统标准输入输出操作4.Scanner类5.File类文件创建、文件删除、文件夹创建、目录列表、文件属性获取和设置、文件重命名6.RandomAccessFile类(八)高级编程基础【考试要求】理解多线程程序设计的概念;掌握线程的创建、生命周期、调度和控制;了解线程的同步;熟悉数据库的基础知识;掌握JDBC的简单应用。【主要考点】1.多线程(1)多线程的概念(2)线程的创建(3)线程的生命周期、调度和基本控制(4)线程的同步2.数据库编程..(1)数据库基础知识(数据库、表、SQL语句)(2)JDBC结构与原理(3)JDBC简单应用三、考试方式机试,考试时间为105分钟,满分100分。四、考试题目类型考试分2种题型:单项选择题(30题,30分)和编程题(4题,70分)。其中编程题包括基本操作题(2题,25分)、简单应用题(1题,20分)及综合应用题(1题,25分)。五、考试环境:jdk1.5+ultraEdit-32V19+javaaip1.5中文文档六、考试样题(一)、选择题1.下列属于合法的Java标识符是()。A)floatB)+okC)_testD)5file2.()是换行符的正确转义字符。A)/nB)\rC)\nD)/r3.关于异常的含义,下列描述中最正确的一个是()。A)程序编译错误B)程序语法错误C)程序自定义的异常事件D)程序运行时发生的非正常事件4.编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。A).javaB).classC).htmlD).exe5.设intx=1,y=2则表达式x+=++y的值是()。A)4B)3C)2D)16.能构成多分支的语句是()。A)while语句B)do-while语句..C)for语句D)switch语句7.在Java中,调用Math.random()方法可能返回的结果是()。A)13.2B)0.52C)112.23D)1.0098.下列关于注释语句的描述中,正确的一项是()。A)以//开始的是多行注释语句B)以/*开始、*/结束的是单行注释C)以/**开始、*/结束的是可以用于生成帮助文档的注释语句D)以/**开始、*/结束的是单行注释语句9.启动一个线程所调用的方法是()。A)start()B)run()C)new()D)init()10.有程序片段如下:Floats=newFloat(0.1f);Floatt=newFloat(0.1f);Doubleu=newDouble(0.1);表达式()的结果为true。A)s==tB)s.equals(t)C)u.equals(s)D)t.equals(u)11.下面说法中,()是正确的。A)类是变量和方法的集合体B)数组是无序数据的集合C)抽象类可以实例化D)类成员变量必须是公有的12.要返回一个表示当前对象运行时类的Class对象,应使用的方法是()。A)GetClass()B)getclass()C)Getclass()D)getClass()13.Java语言有许多特点,()反映了Java程序并发机制的特点。A)安全性B)多线程C)跨平台D)可移植14.下面的代码段执行后,count的值是()。intcount=1;for(inti=1;i=5;i++)..{count=count+i;System.out.println(count);}A)5B)1C)15D)1615.已知数组arrayInt由以下语句定义int[]arrayInt=newint[9];则正确引用数组的最后一个元素的方法是()。A)arrayInt[9]B)arrayInt[0]C)arrayInt[8]D)arrayInt[]16.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,返回值的类型也可以不相同。这种面向对象程序设计的特性称为()。A)隐藏B)覆盖C)重载D)封装17.以下()的接口定义是正确的。A)interfaceA{voidprint(){};}B)finalinterfaceB{voidprint();}C)abstractinterfaceCextendsA,B{abstractvoidprint(){};}D)interfaceD{voidprint();}18.以下关于继承的叙述正确的是()。A)在Java中类只允许单一继承B)在Java中一个类只能实现一个接口C)在Java中一个类不能同时继承一个类和实现一个接口D)在Java中接口只允许单一继承19.以下关于构造方法的描述错