Java程序设计课程考核大纲
一、适应对象
修读完Java程序设计课程规定内容的信息与计算科学专业的本科学生;
提出并获准免修本课程、申请进行课程水平考核的信息与计算科学专业的本科学生。
二、考核目的
考核学生对Java程序设计基础知识、基本理论的掌握情况,考核学生编程能力,以及运用程序设计解决实际问题的能力。
三、考核形式与方法
考核分由平时考核与期末考试两部分组成。平时考核主要考核学生平时到课率和完成作业的情况。期末考核是本课程全部所学内容的考核,采用闭卷考试方法或课程设计形式。
四、课程考核成绩构成
课程考核成绩由平时成绩和期末考试成绩两部分构成,其中平时成绩占30%,期末考试成绩占70%。
五、考核内容与要求
第1章  Java语言简介
考核内容:Java的特点;Java程序的开发过程;Java 应用程序组成
考核要求:掌握Java的特点,了解Java应用程序的组成。
第2章  基本类型、数组和枚举类型
考核内容:标识符和关键字;Java语言的基本数据类型;从命令行输入、输出数据;数组;枚举类型 考核要求:掌握Java语言的基本数据类型,掌握数组的定义和使用。
第3章  运算符、表达式和语句
考核内容:运算符与表达式;控制语句;循环语句;break和continue语句;数组与for语句;枚举类型与for、switch语句
考核要求:掌握Java程序设计的基本控制语句,并灵活运用。
第4章  类与对象
考核内容:类;对象;参数;static关键字;this关键字;包;访问权限;基本类型的类包装;反编译和文档生成器;JAR文件
考核要求:掌握类和对象的定义和使用,掌握数据成员的访问权限,static关键字和this关键字含义和使用。
第5章  继承与接口
考核内容:子类与父类;子类的继承性;子类对象的构造过程;成员变量的隐藏和方法的重写;abstract类和abstract方法;final关键字;对象的上转型对象;继承与多态;super关键字;接口。
考核要求:掌握子类的定义和使用,多态的定义和实现,接口的定义和功能。
第6章  内部类与异常类
考核内容:内部类;匿名类;异常类;断言;Class类 考核要求:掌握内部类,匿名类,异常类的定义和使用。
第7章  常用实用类
考核内容:tring类; StringBuffer类;StringTokenizer 类;Date类;Calendar类;Math类;BigInteger类;模式类。
考核要求:掌握String类,StringBuffer类,StringTokenizer 类,Date类,Calendar类,Math类的定义和使用。
第8章  常用组件及事件处理
考核内容:常用组件的设计及事件处理;
考核要求:掌握常用组件的设计及事件处理,能灵活应用。
java程序设计主要内容第9章  对话框
考核内容:常对话框的设计和编程
考核要求:掌握常对话框的设计和编程。
第10章  ava Applet基础
考核内容:Java Applet的运行原理与应用。
考核要求:了解Applet的运行原理。
第11章  ava多线程机制
考核内容:线程的概念,掌握线程的创建,恢复和终止以及同步方法。
考核要求:了解线程的概念,掌握线程的创建,恢复和终止以及同步方法。
第12章  入输出流
考核内容:常用Java的输入输出流类的定义和使用。
考核要求:掌握常用Java的输入输出流类的定义和使用。
第13章  Java网络的基本知识
考核内容:超链接,套接字,UDP数据报等概念。
164
考核要求:了解超链接,套接字,UDP数据报等概念。
第14章  泛型与集合框架
考核内容:泛型;链表;堆栈;散列映射;树集;树映射;自动装箱与拆箱
考核要求:了解泛型的概念和常见泛型。
第15章  图形与图像
考核内容与要求:掌握文本和基本图形的绘制,清除,能按要求绘制图形和图像。
六、样卷
数学学院《Java程序设计》课程考试试卷
学年第 学期 各班级 时量:120分钟 总分:100分,考试形式:闭卷
一、选择题(每小题2分,共30分)
1、在创建某类的对象时 应该( )
A、先声明对象,然后才能使用对象
B、先声明对象,为对象分配内存空间,然后才能使用对象
C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
D、以上述说法都对
2、以下说法中对Java中 定义的父类与子类的关系描述正确是的( )
A、一个子类可以有多个父类,一个父类也可以有多个子类
B、一个子类可以有多个父类,但一个父类只可以有一个子类
C、一个子类可以有一个父类,但一个父类可以有多个子类
D、上述说法都不对
3、给定如下Java 程序片断:
class A
{ public A()
{ System.out.println("pido"); }
}
class B extends A
{ public B()
{ System.out.println(" online"); }
public static void main(String[] args)
{ B b=new B(); }
}上述程序将( )
A、不能通过编译
B、通过编译,输出为: pido online
C、通过编译,输出为: online
D、通过编译,输出为: pido
4、给定以下程序段,如下:
int i=0,j=-1;
switch(i)
{ case 0:j=1; case 2:j=2; default:j=5; }
System.out.print("j="+j); 编译运行,正确的是( )
A、j=-1
B、j=1
C、j=2
D、j=5
5、下面关于Java构造函数的描述正确的是 ( )
A、类必须有显式定义构造函数
B、它的返回类型是void
C、它和类有相同的名称,但它不能带任何参数
D、以上描述都是错误的
6、在Java编程中,用来执行Java类文件的命令是( )
A、javac
B、java
C、appletviewer
D、以上都不对
7、如下程序片段,体现了Java的( )概念
public void aMethod(String s) {........}
public void aMethod(int i) {........}
public void aMethod(int I,float f) {........}
A、多继承
B、重载
C、重写
D、多态
8、如下Java升序片段
Integer a = new Integer(3); Integer b = new Integer(3); System.out.println(a==b);
运行后,该程序段的输出结果是( )
A、true
B、false
C、0
D、1
9、分析下面的Java程序段:
class testException
{
public static void main(String args[])
{ int n[]={0,1,2,3,4}; int sum=0;
try
{ for(int i=1;i<5;i++) sum=sum+n[i];
System.out.println("sum="+sum);
}
catch(ArrayIndexOutOfBoundsException e)
{ System.out.println("数组越界"); }
finally
{ System.out.println("程序结束"); }
}
}输出结果将是( )
A、10 数组越界 程序结束
165
B、10 程序结束
C、数组越界 程序结束
D、程序结束
10、有如下Java程序声明
String s1=new String(“pido”);
String s2=new String(“online”);
String s3=new String("0"); 以下选项中能够通过编译的是( )
A、s3=s1+s2
B、s3=s1&s2
C、s3=s1||s2
D、s3=s1&&s2
11、从下面的布局管理器中选择按行放置控件、从左到右、从上到下,当一行装满时开始新的一行的布局管理器 ( )
A、CardLayout
B、FlowLayout
C、BorderLayout
D、GridLayout
12、选择正确生成text field的代码,此text field最多能够显示10个字符(假定其字体有固定大小)并最初显示“pido”串( )
A、new TextField("pido", 10) ;
B、new TextField(10,"pido");
C、new TextField("pido",max,10);
D、new TextField("pido",10,max);
13、在子类构造方法内可以对超类的构造方法(super())进行调用的位置是( )
A、子类构造方法的任何地方
B、子类构造方法的第一条语句处
C、子类构造方法的最后一条语句处
D、不能对超类的构造方法进行调用
14、传递4,0来运行下列代码中的方法divide(int a, int
b)
public void divide(int a, int b)
{ try { int c = a / b; }
catch (Exception e) { System.out.print("Exception "); }
finally { System.out.println("Finally"); }
}程序的输出结果是( )
A、打印输出: Exception Finally
B、打印输出: Finally
C、打印输出: Exception
D、没有任何输出
15、在单一文件中import、class和package的正确出现顺序是( )
A、package, import, class
B、class, import, package
C、import, package, class
D、package, class, import
二、填空题(每空2分,共30分)
16、Java中用于明确抛出一个异常的关键字是__________;
17、设x=2.5,a=7,y=4,则表达式x+a%3*(int)7的值为__________;
18、面向对象程序设计的三大特性为__________、继承性、__________;
19、int a[]={1,2},b=2,i=0;则a[i++]+=b;执行后:i=__________ ,a[i]= __________;
20、如下程序段
class A
{ int var1=1; int var2;
public static void main(String args[])
{ int var3=3; A a=new A();
System.out.println(a.var1+a.var2+var3);
}
}的运行结果是__________;
21、程序段String s= "Jessica "; char c=s.charAt(6); 运行后c的值是__________;
22、”mypido".equals(new Button("mypido"))的返回结果是__________(填true或false);
23、在Java语言中,Panel默认的布局管理器是__________;
24、程序段int i=1; int j=i++; if((i>++j)&&(i++==j)) i+=j; 运行后i的值是__________;
25、如下Java程序段
char c=’a’;
switch (c)
{ case ’a’: System.out.println("pido");
default: System.out.println(" online");
}的运行结果是__________;
26、Java的字符类型采用的是Unicode编码方案,每个字符的Unicode码占用__________b;
27、有如下语句:public static PidoStr定义,则变量PidoStr是一个_________变量(填写
全局或局部);
28、如果一个抽象类中的所有方法都是抽象的,就可以用另一种方式________来定义;
三、程序分析题(每小题5分,共20分)
166
29、写出下列程序的运行结果。
public class Arithmetic
{
public static void main(String args[])
{
int a,b,c; a=b=c=2; a=++b - ++c;
System.out.println(“a=”+a+”b=”+b+”c=”+c); a=b++ + c++;
System.out.println(“a=”+a+”b=”+b+”c=”+c); a=b-- + c—;
System.out.println(“a=”+a+”b=”+b+”c=”+c); }
}
30、写出以下程序的运行结果。
public class EqualOrNot
{
public static void main(String[] args)
{
B b1=new B(5);
B b2=new B(5);
System.out.println(b1==b2);
System.out.println(b1.equals(b2));
}
}
class B
{
int x;
B( int y)
{ x=y; }
}
31、写出以下程序的运行结果。
class TestString
{ public static void main(String args[ ])
{
StringC s = new StringC ("pido ","online!"); System.out.println(s);
}
}
class StringC
{
String s1; String s2;
StringC( String str1 , String str2 )
{ s1 = str1; s2 = str2; }
public String toString( )
{ return s1+s2; }
}
32、写出以下程序的功能。
class Test
{ public static void main(String[] args)
{
String s = "pIdo oNlinE";
char c;
int upper,lower;
upper=lower=0;
for (int i=0;i<s.length();i++)
{ c=s.charAt(i);
if(c>=’a’ && c<=’z’) lower++;
if(c>=’A’ && c<=’Z’) upper++; }
System.out.println(upper+","+lower); }
}
四、程序填空题(每空2分,共10分)
33、填充下列程序空白,输出如图图案。
class mathtest {
public static void main(String[] args) {
for(int i=0; ① ;i++) {
for(int j=0; ② ;j++)
System.out.print(" ");
for(int k=0; ③ ;k++)
System.out.print("*");
System.out.println();
}
}
} *********
*******
*****
***
第33题图
34、以下程序完成统计整个程序中创建的对象的个数的功能,试根据题中环境完成空白。
class ObjectCount
{
④ ;
public static void main(String [] args)
167
{
ObjectCount oc1 = new ObjectCount (); ObjectCount oc2 = new ObjectCount (); }
public ObjectCount ()
{ ⑤;
System.out.println(n);
}
}
五、 综合分析题(共10分,第35题每小题2分,第36题4分)
35、根据以下各小题错误提示分析错误原因(每小题2分,共6分)
①.cannot assign a value to final variable number;
②.java.lang.ArithmeticException: / by zero;
③.non-static variable c cannot be referenced from a static context;
36、试用Java语言阐述弱耦合、强内聚的基本概念。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。