1、Java 语言程序设计(一)自考题模拟 14 及答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:10,分数:10.00)1.下面不是合法 Java 标识符的是_(分数:1.00)A.abB.MYM_3C.3abD.ab32.若有定义 int x =3,y;则执行语句 y=(+x)+(+x)+(+x);后 y=_(分数:1.00)A.12B.18C.9D.153.下列不是构造方法特征的是_(分数:1.00)A.名字与类相同B.是无参数的C.是 void 型D.是一种特殊方法4.在 Java 语言中,执行下列哪一语句能够使当前循环结束,并进入到下一次循环_(分数:1
2、.00)A.breakB.nextC.continueD.switch5.关于 super,下面说法中错误的是_(分数:1.00)A.用来访问父类被隐藏的成员变量B.用于调用父类中被重写的方法C.用于定义父类D.用于调用父类的构造函数6.程序执行完的输出结果是_ String s1=“abc“, s2=“ab“, s3; s3=s2.concat(“c“); System.out.println(s1=s3);(分数:1.00)A.0B.trueC.1D.false7.Graphics 类有一坐标系统,其原点在_(分数:1.00)A.图形空间中心B.图形空间左下方C.图形空间左上方D.用户配置
3、的坐标系统8.一个线程处于运行状态,该线程就会执行的方法是_(分数:1.00)A.init( )B.sleep( )C.stop( )D.run( )9.InputStream 类或 Reader 类的子类是所有的_(分数:1.00)A.输入流B.输出流C.输入/输出流D.Java 通信类10.创建一个 URL 对象时,可能会产生的异常是_(分数:1.00)A.IOExceptionB.IndexOutOfBoundsExceptionC.InterruptedExceptionD.MalformedURLException二、第部分 非选择题(总题数:10,分数:20.00)11.JDK 开
4、发 Java 程序需三个步骤,分别为 1,编译 Java 源程序,运行 Java 源程序。 (分数:2.00)12.在 switch 语句中,通过 1 语句跳出整个 switch 语句,开始执行整个 switch 语句后面的语句。 (分数:2.00)13.用修饰符 1 说明的成员变量是类变量。 (分数:2.00)14.一维数组通过下标符访问自己的元素,需要注意的是下标从 1 开始。 (分数:2.00)15.可以使用 java.lang 包中的 1 类将形如“12387”的字符串转化为 int 型数据。 (分数:2.00)16.一个完整的 Java Applet 的生命周期包含 init( )、
5、 1、stop( )、destroy( )、pamt(Graphics g)方法。 (分数:2.00)17.Java 中 1 类是专门用来建立文本区的,即它的一个对象就是一个文本区。 (分数:2.00)18.在 Java Applet 小程序中画圆环,可以使用 Graphics 类的 1 方法。 (分数:2.00)19.鼠标事件类 MouseEvent 中的方法 1 是获取鼠标被单击的次数。 (分数:2.00)20.IP 地址和端口号的组合称为 1。 (分数:2.00)三、简答题(总题数:6,分数:18.00)21.简述 Java 语言的特点。 (分数:3.00)_22.设有整型变量 x 和
6、y 的值分别为 6 和 120。阅读下列程序,写出程序执行后,x,y 的值为多少? dox=y/x; y=y-x; while(y=1); (分数:3.00)_23.类及类成员的访问控制符有哪些?并说明私有权限和公有权限的使用方法。 (分数:3.00)_24.如何处理 MouseMotionListener 接口事件? (分数:3.00)_25.在 GUI 中哪几种窗口?并简述它们的特点。 (分数:3.00)_26.简述在 Java 中连接数据库的步骤。 (分数:3.00)_四、程序填空题(总题数:5,分数:20.00)27.阅读并完成程序。 public class ClassDemo in
7、t m,n, public 1 public 2m=a; public static void main(String args ) ClassDemo t1,t2; int j=0; t1=new ClassDemo( ); t2=new ClassDemo(j); (分数:4.00)28.回文是指正读和反读都一样的字符串。方法 f28(String s)的功能是判断一个字符串是否为回文。例如:s=“abccba“,该方法返回值为 true,n=“abc“,返回值为 false。 boolean f28(String s) int i =0; while(i s.length( )/2) S
8、tring s1,s2; s1=s.substring(i,i+1); s2=s.substring( 1); if(!(s1.equals(s2)break; i+; return 2; (分数:4.00)29.程序的功能是在第一个文本框中输入一个整数,按回车键后,在第二个文本框中显示该数的平方和。 import java.applet.*; import javax.swing.*; import java.awt.event.*; public class Class29 extends Applet implements ActionListener JTextField t1,t2;
9、 public void init( ) t1=new JTextField(10); t2=new JTextField(10); setSize(200,100); add(t1); add(t2); text1. 1; public void actionPerformed(Action Evnet e) long n; if(e.get Source( )=t1) n=Long.parseLong(t1.getText( ); t2. 2(String.valueOf(n*n); (分数:4.00)30.下面程序段是创建一个文件对话框类,请完成填空。 class Mydialog ex
10、tends 1 Button button1,button2; Mydialog(Frame F,String s) super (F,s); button1=new Button(“open“); button2=new Button(“close“); 2 (new FlowLayout( ); setSize(90,90); setVisible (true); setModal (false); add(button);add(button2); (分数:4.00)31.以下程序使字符串“文字的特殊输出效果演示”中的所有文字每隔 300 毫秒显示一个。 public class Cla
11、ss31 public static void main (String args) String s=“文字的特殊输出效果演示“; for(inti=0;is.length( );i+) System.out.print(s.substring(i,i+1); try 1; catch( 2) (分数:4.00)五、程序分析题(总题数:5,分数:20.00)32.请将以下程序段表示的计算 e 的公式写出来(假设 x 的值已给出)。 float a,e; e=1; a=1; for(int n=1;n=10;n+) a=a*x/n; e=e+a; 写出所表示的公式 e=_。 (分数:4.00)
12、_33.阅读以下程序代码,写出程序的输出结果。 public class Class33 public static void main(String args) int m,n,k; m=n=k=1; boolean w; w=m+1 System.out.println(m+“,“+n+“,“+k+“,“+w); (分数:4.00)_34.阅读下列程序,写出程序运行结果。 public class C34 public static void main(String args) int a=1,2,3,4,5,6; System.out.println(a.length+“,“+a0.le
13、ngth+“,“+a11); String s=“a“,“b“; func(s0,s1); System.out.println(s0+“,“+s1); String s1=“abc“,s2=“123“; s1+=“xyz“; s2.concat(“xyz“); System.out.println(s1+“,“+s2); static void func(String x,String y) String z=x;x=y;y=z; (分数:4.00)_35.写出下面程序的运行结果。 public class Class35 public static void main(String arg
14、s ) Hello h=new Hello_; Thread t=new Thread(h); t.start_; class Hello implements Runnable int i; public void run_ while (true) System.out.println(“Hello“+i+); if(i=5) break; (分数:4.00)_36.阅读下列程序,请写出程序的运行结果。 import java.applet.*; import javax.swing.*; import java.awt.event.*; public class C extends Ap
15、plet implements ActionListener int n=0; JButton button,button1; public void init( ) setSize(400,100); button=new JButton(“); button1=new JButton(“显示次数“); add(button);add(button1); button.addActionListener(this); public void actionPerformed(ActionEvent e) m+; button1.setText(m+“); (分数:4.00)_六、程序设计题(总
16、题数:2,分数:12.00)37.编写一个 Java Application 应用程序,求分数序列 2/1,3/2,5/3,13/8,21/13,前 50 项之和。 (分数:6.00)_38.编写一个小应用程序,在小应用程序中有两个线程,一个负责模仿圆运动,另一个模仿椭圆运动。已给出部分代码,请完成程序。 import java.awt.*; import java.applet.*; public class Class38 extends Applet implements Runnable Thread thread1,thread2; Graphics g; public void i
17、nit( ) setSize(500,500); setBackground(Color.gray); g=getGraphics( ); g.setColor(Color.red); g.setXORMode(Color.blue); thread1=new Thread(this); thread2=new Thread(this); public void start( ) thread1.start( ); thread2.start( ); public void run( ) int x=0,y=0; while(true) /这里是你要编写的代码 (分数:6.00)_Java 语
18、言程序设计(一)自考题模拟 14 答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:10,分数:10.00)1.下面不是合法 Java 标识符的是_(分数:1.00)A.abB.MYM_3C.3ab D.ab3解析:考点 Java 标识符 解析 标识符只能由字母(包括英文字母、下画线、美元符号、文字字符)和数字组成。且不能以数字开头,所以 C 不对。2.若有定义 int x =3,y;则执行语句 y=(+x)+(+x)+(+x);后 y=_(分数:1.00)A.12B.18C.9D.15 解析:考点 自增运算 解析 +x 运算,前缀形式,表示在 x 加 1 后再引
19、用变量 x。三个括号的值都是取 x 加 1 之后的值,第一个括号 x 加 1 之后是 4,第二个是 5,第三个是 6,所以 y=4+5+6=15。3.下列不是构造方法特征的是_(分数:1.00)A.名字与类相同B.是无参数的C.是 void 型 D.是一种特殊方法解析:考点 构造方法 解析 构造方法不返回结果,不用添加 void 关键字。4.在 Java 语言中,执行下列哪一语句能够使当前循环结束,并进入到下一次循环_(分数:1.00)A.breakB.nextC.continue D.switch解析:考点 转移语句 continue 解析 continue 是结束本次循环并进入到下次循环;
20、break 是结束整个循环,是程序进入循环之后的语句。5.关于 super,下面说法中错误的是_(分数:1.00)A.用来访问父类被隐藏的成员变量B.用于调用父类中被重写的方法C.用于定义父类 D.用于调用父类的构造函数解析:考点 关键字 super 解析 super 用于子类中实现对父类方法的调用。6.程序执行完的输出结果是_ String s1=“abc“, s2=“ab“, s3; s3=s2.concat(“c“); System.out.println(s1=s3);(分数:1.00)A.0B.trueC.1D.false 解析:考点 字符串比较 解析 =在字符串中的使用,比较的是两
21、个对象是否相同,而不是对象的内容。要比较两个内容应使用s1.equals(s2),它的值为 true。本题 s1 和 s2 是相同的对象,s1 是在编译时就已产生的字符串“abc”的引用,而 s3 是在运行后才产生的字符串“abc”的引用,两者不相等。7.Graphics 类有一坐标系统,其原点在_(分数:1.00)A.图形空间中心B.图形空间左下方C.图形空间左上方 D.用户配置的坐标系统解析:考点 Graphics 绘图基础 解析 要在平面上显示文字和绘图,首先要确定一个平面坐标系,这个坐标系的原点位于整个区域的左上角。8.一个线程处于运行状态,该线程就会执行的方法是_(分数:1.00)A
22、.init( )B.sleep( )C.stop( )D.run( ) 解析:考点 线程生命周期 解析 run( )方法是线程运行状态方法,sleep( )是阻塞线程运行。没有 init( )和 stop( )方法。9.InputStream 类或 Reader 类的子类是所有的_(分数:1.00)A.输入流 B.输出流C.输入/输出流D.Java 通信类解析:考点 输入/输出流。 解析 InputStream 类或 Reader 类分别是字节输入流和字符输入流。10.创建一个 URL 对象时,可能会产生的异常是_(分数:1.00)A.IOExceptionB.IndexOutOfBounds
23、ExceptionC.InterruptedExceptionD.MalformedURLException 解析:考点 URL 类 解析 在创建 URL 对象的时候有可能出现网址错误异常 MalformedURLException。二、第部分 非选择题(总题数:10,分数:20.00)11.JDK 开发 Java 程序需三个步骤,分别为 1,编译 Java 源程序,运行 Java 源程序。 (分数:2.00)解析:编写源文件 考点 Java 程序开发过程 解析 开发 Java 程序需三个步骤,分别为编写源文件,编译 Java 源程序,运行 Java 源程序。12.在 switch 语句中,通
24、过 1 语句跳出整个 switch 语句,开始执行整个 switch 语句后面的语句。 (分数:2.00)解析:hreak 考点 转移语句 解析 在 switch 执行过程中,如果遇到 break,则结束 switch 语句,执行 switch 之后的语句。13.用修饰符 1 说明的成员变量是类变量。 (分数:2.00)解析:static 考点 静态变量 解析 程序中用 static 声明的变量称为静态变量。14.一维数组通过下标符访问自己的元素,需要注意的是下标从 1 开始。 (分数:2.00)解析:0 考点 一维数组引用 解析 数组的下标范围是 0 到数组名.length-1。15.可以使
25、用 java.lang 包中的 1 类将形如“12387”的字符串转化为 int 型数据。 (分数:2.00)解析:Integer 考点 String 类型与 int 类型转换 解析 通过 Integer.parseInt(String s)可以将数值型字符串 s 转为 int 类型。16.一个完整的 Java Applet 的生命周期包含 init( )、 1、stop( )、destroy( )、pamt(Graphics g)方法。 (分数:2.00)解析:start( ) 考点 Java Applet 的生命周期 解析 一个完整的 Java Applet 的生命周期包含 init( )
26、、start( )、stop( )、destroy( )、paint(Graphics g)方法。17.Java 中 1 类是专门用来建立文本区的,即它的一个对象就是一个文本区。 (分数:2.00)解析:TextArea 考点 文本区 解析 TextField 是文本框;TextArea 是文本区。两者的区别是文本区可以放多行文本。18.在 Java Applet 小程序中画圆环,可以使用 Graphics 类的 1 方法。 (分数:2.00)解析:drawRoundRect 考点 Graphics 绘图 解析 drawRoundRect 是用线围起来的圆角矩形,可以通过将矩形的宽、高、圆弧的
27、横向直径和纵向直径设为相等来使圆角矩形变为一个圆环。19.鼠标事件类 MouseEvent 中的方法 1 是获取鼠标被单击的次数。 (分数:2.00)解析:getClickCount( ) 考点 鼠标事件 解析 getClickCount( )用于获得鼠标被点击的次数。20.IP 地址和端口号的组合称为 1。 (分数:2.00)解析:网络套接字 考点 网络编程网络套接字 解析 将 IP 地址+端口号的组合称为网络套接字。三、简答题(总题数:6,分数:18.00)21.简述 Java 语言的特点。 (分数:3.00)_正确答案:()解析:Java 语言是目前使用最为广泛的网络编程语言之一,具有面
28、向对象、与平台无关性、多线程性、动态性等特点。22.设有整型变量 x 和 y 的值分别为 6 和 120。阅读下列程序,写出程序执行后,x,y 的值为多少? dox=y/x; y=y-x; while(y=1); (分数:3.00)_正确答案:()解析:x=15,y=023.类及类成员的访问控制符有哪些?并说明私有权限和公有权限的使用方法。 (分数:3.00)_正确答案:()解析:控制符有 4 种:public、protected、private、default。 其中 private 权限的成员只能在本类中使用;public 权限的成员不但能在本类中使用,还可在类外使用。24.如何处理 Mo
29、useMotionListener 接口事件? (分数:3.00)_正确答案:()解析:鼠标移动事件有两种:拖动鼠标和移动鼠标。 产生的事件类型 MouseEvent。 获得监视器的方法是 addMouseMotionListener( )。 事件接口中的方法为 mouseDragged(MouseEvent e)和 mouseMoved(MouseEvent e)。25.在 GUI 中哪几种窗口?并简述它们的特点。 (分数:3.00)_正确答案:()解析:CUI 主要有三类窗口。 (1)Applet 窗口,Applet 类管理这个窗口,当小应用程序启动时,由系统创建和处理。 (2)框架窗口(
30、JFram),支持窗口周边的框架,标题栏以及最小化、最大化和关闭按钮。用 Swing 中的JFrame 类或它的子类创建的对象就是 JFrame 窗口。 (3)Panel 窗口:用于创建一个默认布局管理器的面板对象。26.简述在 Java 中连接数据库的步骤。 (分数:3.00)_正确答案:()解析:(1)装载数据库驱动程序类。 (2)调用 DriverManager 的方法 getConnection( ),并确定用于连接数据库的驱动程序,数据库文件名以及可选的用户 ID 和密码。四、程序填空题(总题数:5,分数:20.00)27.阅读并完成程序。 public class ClassDem
31、o int m,n, public 1 public 2m=a; public static void main(String args ) ClassDemo t1,t2; int j=0; t1=new ClassDemo( ); t2=new ClassDemo(j); (分数:4.00)解析:ClassDemo( ) ClassDemo(int a) 考点 类的构造方法 解析 程序分别定义了一个无参数的构造方法和一个只有一个参数的构造方法。28.回文是指正读和反读都一样的字符串。方法 f28(String s)的功能是判断一个字符串是否为回文。例如:s=“abccba“,该方法返回值为
32、 true,n=“abc“,返回值为 false。 boolean f28(String s) int i =0; while(i s.length( )/2) String s1,s2; s1=s.substring(i,i+1); s2=s.substring( 1); if(!(s1.equals(s2)break; i+; return 2; (分数:4.00)解析:s.length( )-i-1,s.length( )-i is.length( )/2? false:true 考点 String 截取子串 解析 程序的思路是取第一个字符和最后一个字符进行比较,第二个和倒数第二个进行比
33、较,依次类推,直到循环比较到中间字符串则说明是回文。Substring(int i,int j)截取第 i 到第 j 个字符作为子串。29.程序的功能是在第一个文本框中输入一个整数,按回车键后,在第二个文本框中显示该数的平方和。 import java.applet.*; import javax.swing.*; import java.awt.event.*; public class Class29 extends Applet implements ActionListener JTextField t1,t2; public void init( ) t1=new JTextFiel
34、d(10); t2=new JTextField(10); setSize(200,100); add(t1); add(t2); text1. 1; public void actionPerformed(Action Evnet e) long n; if(e.get Source( )=t1) n=Long.parseLong(t1.getText( ); t2. 2(String.valueOf(n*n); (分数:4.00)解析:addActionListener(this) setText 考点 文本框和键盘事件 解析 程序在添加文本框之后,通过 addActionListener
35、(this)给相应的文本框添加事件。在计算出平方和之后通过 setText 将其设为第二个文本框的值。30.下面程序段是创建一个文件对话框类,请完成填空。 class Mydialog extends 1 Button button1,button2; Mydialog(Frame F,String s) super (F,s); button1=new Button(“open“); button2=new Button(“close“); 2 (new FlowLayout( ); setSize(90,90); setVisible (true); setModal (false); a
36、dd(button);add(button2); (分数:4.00)解析:Dialog setLayout 考点 对话框 解析 文件对话框首先要继承于对话框类 Dialog。Dialog 是一种容器,可以通过 setLayout( )设置布局。31.以下程序使字符串“文字的特殊输出效果演示”中的所有文字每隔 300 毫秒显示一个。 public class Class31 public static void main (String args) String s=“文字的特殊输出效果演示“; for(inti=0;is.length( );i+) System.out.print(s.sub
37、string(i,i+1); try 1; catch( 2) (分数:4.00)解析:Thread.sleep(300) InterruptedException e 考点 线程 解析 程序通过线程的 Thread.sleep(300)方法控制每隔 300 毫秒执行一次循环,在循环中每次截取字符串的一个字符输出。在调用线程的 sleep( )方法时可能会产生线程中断,需要捕获该异常。五、程序分析题(总题数:5,分数:20.00)32.请将以下程序段表示的计算 e 的公式写出来(假设 x 的值已给出)。 float a,e; e=1; a=1; for(int n=1;n=10;n+) a=a
38、*x/n; e=e+a; 写出所表示的公式 e=_。 (分数:4.00)_正确答案:()解析:e=1+x/1!+x 2 /2!+x 3 /3!+.+x10/10! 考点 for 循环 解析 第一次循环时,a=1*x/1=x,e=1+1;第二次循环时,a=x*x/2=x 2 /2!,e=1+x+x 2 /2!,依次类推得到 e 的公式。33.阅读以下程序代码,写出程序的输出结果。 public class Class33 public static void main(String args) int m,n,k; m=n=k=1; boolean w; w=m+1 System.out.pri
39、ntln(m+“,“+n+“,“+k+“,“+w); (分数:4.00)_正确答案:()解析:2,1,1,false 考点 Java 数据运算 解析 x+运算是先使用 x 的值,然后使 x 的值加 1;+x,是先使 x 的值加 1,然后再使用 x 的值。逻辑与运算,当 System.out.println(a.length+“,“+a0.length+“,“+a11); String s=“a“,“b“; func(s0,s1); System.out.println(s0+“,“+s1); String s1=“abc“,s2=“123“; s1+=“xyz“; s2.concat(“xyz
40、“); System.out.println(s1+“,“+s2); static void func(String x,String y) String z=x;x=y;y=z; (分数:4.00)_正确答案:()解析:2,3,5 a.b abcxyz,123(4.1) 考点 数组和字符串 解析 对于二维数组来说,有两种长度,一种是二维数组的长度(a.length),一种是二维数组元素的长度(a0.length),数组的下标都是从 0 开始。 方法 func( )中的交换只是交换了形参(局部变量)x 和 y 的值,并没有使实参 s0和 s1发生交换。 +和 concat( )都能完成字符串的
41、连接。s2.concat(“xyz“)连接得到的新字符串并没有赋值,它和s2=s2.concat(“xyz“)是不同的。35.写出下面程序的运行结果。 public class Class35 public static void main(String args ) Hello h=new Hello_; Thread t=new Thread(h); t.start_; class Hello implements Runnable int i; public void run_ while (true) System.out.println(“Hello“+i+); if(i=5) break; (分数:4.00)_