首页   > 教学科研 > 考级考证

考级考证

全国高等学校计算机水平考试二级《Java程序设计》考试大纲及样题(试行)

作者:云智信息技术学院 时间:2020-04-11

一、考试目的与要求

       Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java应用程序设计考试是为了检查学生是否具备Java程序设计基本知识和初步应用能力的考试,通过本课程的学习,考生要求达到以下“知识”和“技能”两方面的目标:

知识方面:掌握面向对象程序设计的基本知识,掌握Java语言的编程语法和常用类的使用。

技能方面:能正确阅读和理解简单的Java程序,能编写和调试简单功能需求的Java程序。

考试基本要求如下:

1.  掌握Java语言的语法成份及其使用方法

2.  掌握面向对象程序设计的基础知识

3.  掌握Java类库的常用类

4.  掌握简单Java应用程序的阅读、理解和编写

5.  掌握简单Java Applet程序的阅读、理解和编写

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、CardLayout

3.事件处理模型与常见事件的处理

(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-finally

4.异常的抛出: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、OutputStreamWriter

3.系统标准输入输出操作

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-32 V19+java aip 1.5中文文档

 

六、考试样题

(一)、选择题

1. 下列属于合法的Java标识符是(  )。

A)float         

B)+ok       

C)_test      

D)5file

2.(  )是换行符的正确转义字符。

A)/n           

B)\r          

C)\n           

D)/r

3.关于异常的含义,下列描述中最正确的一个是( )。

A)程序编译错误           

B)程序语法错误

C)程序自定义的异常事件   

D)程序运行时发生的非正常事件

4.编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(   )。

A).java                      

B).class        

C).html                      

D).exe

5.设int x = 1 , y = 2则表达式x+=++y的值是( )。

A)4                    

B)3        

C)2                     

D)1

6.能构成多分支的语句是(  )。

A)while语句      

B)do-while语句  

C)for语句   

D)switch语句

7.在Java中,调用Math.random()方法可能返回的结果是( )。

A)13.2       

B)0.52      

C)112.23    

D)1.009

8.下列关于注释语句的描述中,正确的一项是( )。

A)以//开始的是多行注释语句          

B)以/*开始、*/结束的是单行注释          

C)以/**开始、*/结束的是可以用于生成帮助文档的注释语句      

D)以/**开始、*/结束的是单行注释语句

9.启动一个线程所调用的方法是( )。

A)start()  

B)run()    

C)new()   

D)init()

10.有程序片段如下:

Float  s=new  Float(0.1f);

Float  t=new  Float(0.1f);

Double  u=new  Double(0.1);

表达式(  )的结果为true。

A)s==t  

B)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的值是( )。

int count=1;

for(int i=1;i<=5;i++)

{ count=count+i; System.out.println(count); }

A)5        

B)1        

C)15           

D)16

15.已知数组arrayInt由以下语句定义

int[] arrayInt = new int[9];

则正确引用数组的最后一个元素的方法是( )。

A)arrayInt[9]

B)arrayInt[0]

C)arrayInt[8]  

D)arrayInt[]

16.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,返回值的类型也可以不相同。这种面向对象程序设计的特性称为(  )。

A)隐藏          

B)覆盖          

C)重载     

D)封装

17.以下( )的接口定义是正确的。

A)interface  A

{  void print()  {  } ;}

B)final  interface  B

{ void print() ;}

C)abstract  interface  C  extends  A,B 

{ abstract  void  print(){  };}

D)interface  D

     {  void  print();}

18.以下关于继承的叙述正确的是( )。

A)在Java中类只允许单一继承

B)在Java中一个类只能实现一个接口

C)在Java中一个类不能同时继承一个类和实现一个接口

D)在Java中接口只允许单一继承

19.以下关于构造方法的描述错误的是( )。

A)构造方法的返回类型只能是void型

B)构造方法是类的一种特殊方法,它的方法名必须与类名相同

C)构造方法的主要作用是完成对类的对象的初始化工作

D)一般在创建新对象时,系统会自动调用构造方法

20.现有2个char类型的变量x=’a’,y=3,当执行x=(char)(x+y);语句之后,x的值应该是( )。

A)’a’          

B)’d’          

C)a3         

D)13

21.Java中定义常量必须使用的关键字是(  )。

A)static            

B)void           

C)final   

D)public

22.在浏览器中执行Applet程序,(  )方法将被最后执行。

A)init()    

B)start()  

C)destroy()  

D)stop()

23.有语句String s=”hello world”;,以下(  )操作是不合法的。

  A)s>>>=1;   

B)int i=s.length(); 

C)String  ts=s.trim();     

D)String t=s+”!”;

24.假设A类的定义如下:

class  A{

int  i;

static  String  s;

        void  method1() {   }

        static  void  method2()  {   }

}

设a是A类的一个实例,下列语句中(  )是错误的。

A)System.out.println(a.i);

  B)a.method1(); 

C)A.method1();  

D)A.method2()

25.以下程序段执行后将有( )个字节被写入到文件afile中。

         try{

            FileOutputStream  fos=new FileOutputStream(“afile.txt”);

            DataOutputStream  dos=new DataOutputStream(fos);

            dos.writeInt(3);

            dos.writeDouble(0.01);

            dos.close();

            fos.close( );

            }

            catch(IOException  e) {   }

A)2    

B)8    

C)12    

D)16

26.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用(  )个比特位。

A)8      

B)16       

C)32            

D)64

27.以下( )可能包含菜单条。

A)JPanel

B)JFrame   

C)JApplet          

D)JDialog

28.在Java的类库中,提供图形用户界面基本功能的是(   )包。

A)java.io        

B)java.applet

C)java.awt.event       

D)java.awt

29.(  )修饰符可以使在一个类中定义的成员变量可以被所有类访问。

A)private         

B)无修饰符  

 C)public  

D)protected

30.在Java中,所有类的根类是( )。

A)java.lang.Class   

B)java.applet.Applet

C)java.lang.Object  

D)java.awt.Frame

(二)、编程题

1、基本操作题

(1)下面的程序声明了代表圆的类CCircle,它的成员变量radius代表圆的半径。在类T11_C的main方法中,先创建一个CCircle对象,然后设置其半径为5.0,最后输出半径的值。请把程序补充完整。

class CCircle {

private double radius;

public double getRadius(){

               radius;

}

public void setRadius(double radius){

this.radius = radius;

}

}

public class T11_C{

public static void main(String args[]){

CCircle circle =new CCircle();

circle.setRadius(5.0);

System.out.println("radius="+ circle.                );

}

}

 

(2)Greeting类是一个Applet,在横坐标为20、纵坐标为30的位置显示字符串“祝您考试成功!”。网页Greeting.html用于包含Applet。请把Greeting.java和Greeting.html补充完整。

Greeting.java:

import java.awt.Graphics;

import javax.swing.JApplet;

public class Greeting                      {

  public void paint(Graphics g) {

           g.              ("祝您考试成功!",20,30);

}

}

 

Greeting.html:

<HTML>

  <APPLET CODE=              WIDTH=300 HEIGHT=120>

  </APPLET>

</HTML>

 

2、简单应用题

编一个Student类,类体包括:

(1)表示学生号的String类型的成员变量sNo,访问权限是private;

(2)表示学生姓名的String类型的成员变量sName,访问权限是private;

(3)表示学生年龄的int类型的成员变量sAge,访问权限是private;

(4)一个带3个参数的构造方法,给3个成员变量赋初值,访问权限是public;

(5)给这3个成员变量分别编写getXxx、setXxx方法,访问权限都是public(注意:这里要求编写6个方法)。

 

3、综合应用题

下面窗口应用程序的功能是:在文本框中输入指定个数的整数(各整数之间用空格分隔),并按回车键,则在下方的标签显示最大整数的值。请在程序中有下划线的地方填上正确的内容,并编写findMax方法的方法体,以把程序补充完整。


import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.Scanner;

 

public class FindMaxApp extends        implements ActionListener {

  private final int INT_COUNT = 8;   

      

  private JTextField tf = new JTextField("", 40);

  private JLabel resultLbl = new JLabel("最大的整数是:", SwingConstants.CENTER);

 

  public FindMaxApp(){

    super("求最大整数");

   

       JPanel p1 = new JPanel();

    p1.add(new JLabel("请输入"+INT_COUNT+"个整数:"));

    p1.add(tf);

 

       Container c =                 ;

       c.add(p1, BorderLayout.NORTH);

       c.add(resultLbl, BorderLayout.CENTER);

 

    tf.addActionListener(        );

      

       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

       setSize(600, 120);

       setVisible(true);

  }

   

  public void              (ActionEvent e) {

    Scanner sc = new Scanner(tf.getText());

    int[] a = new int[INT_COUNT];

              {

        for (int i=0;i<a.length;i++) {

             a[i] = sc.nextInt();

        }

    } catch (RuntimeException ee) {

        resultLbl.setText("输入数据有误!");

        return;

    }

    int result = findMax(a);

    resultLbl.setText("最大的整数是:"+result);

  }

   

  public int findMax(int[] a){

    //返回参数数组a中所有元素的最大值

     

  }

   

  public static void main(String args[]) {

      new FindMaxApp();

  } 

}

 

 

版权所有:广州华南商贸职业学院 粤ICP备18019536号-1 粤ICP备18019536号-2
关注官方微信
Copyright © 2012 华南商贸职业学院 | 京公网安备:110402430033
关注官方微信

Copyright © 华南商贸职业学院

京公网安备:110402430033号