1、Java 语言程序设计(一)自考题-2 及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:10,分数:10.00)1.下列 Java 整型常量错误的是( )A007 B008COx3AA DOx3AB(分数:1.00)A.B.C.D.2.下列 Java 语句中,错误的是( )A连续出现多个分号 Btrycatch 语句Cinclude 语句 Dswitch 语句(分数:1.00)A.B.C.D.3.下列有关抽象类及抽象方法的叙述错误的是( )A使用 final 修饰的类是抽象类B使用 abstract 修饰的方法是抽象方法C抽象类必须被继承才能使用,抽象类不可能有实
2、例D抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类(分数:1.00)A.B.C.D.4.有 Java 语句如下,则说法正确的是( )int a,b=new int3;A此语句是错误的 Ba.length 的值为 3Cb.length 的值为 3 Da.length 和 b.length 的值都为 3(分数:1.00)A.B.C.D.5.下列有关事件监视器的说法正确的是( )A一个组件上不可以注册多个事件监视器B一个事件监视器可以被注册到多个组件上C一个组件上注册多个事件监视器会发生冲突,不会起作用D一个组件上注册多个事件监视器,只有最后一个事件监视器会起作用(分数:1.00)A.B.C.
3、D.6.能处理鼠标拖动和移动两种事件的接口是( )AActionListener BItemListenerCMouseListener DMouseMotionListener(分数:1.00)A.B.C.D.7.在 Java 语言中,基本类型 char 对应的基本类是( )AChar BStringCCharacter DByte(分数:1.00)A.B.C.D.8.一个实现 Runnable 接口的类必须要实现的方法是( )Astart() Brun()Csleep() Dinit()(分数:1.00)A.B.C.D.9.在 Java 程序中,已将 FileWriter 对象接到 Buf
4、feredWriter 对象上,要实现缓冲式输出,可对BufferedWriter 对象使用的方法是( )Aread() Bwrite()CreadLine() DWriteLong()(分数:1.00)A.B.C.D.10.在编写 Java 程序访问数据库的过程中,用来处理与特定数据库连接的类是( )AConnection 类 BResultSet 类CDriverManager 类 DStatement 类(分数:1.00)A.B.C.D.二、填空题(总题数:10,分数:20.00)11.Java 应用程序和小应用程序都由一个或多个扩展名为 1 的文件组成。(分数:2.00)填空项 1:_
5、12.在 Java 语言中,算术右移运算符是 1。(分数:2.00)填空项 1:_13.在 Java 语言中,定义一个接口,在接口名前面需要 1 关键字。(分数:2.00)填空项 1:_14.Date 类在 Java 语言的 1 包中。(分数:2.00)填空项 1:_15. 1 将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中。(分数:2.00)填空项 1:_16.当在一个容器中放入多个选择框之前,可以先用 1 对象将多个选择框分组,使得同一时刻组内的多个选择框只允许有一个被选中。(分数:2.00)填空项 1:_17.Java 语言提供一个 Graphics2D 类,这个类
6、定义了几种方法用于添加或改变图形的状态属性,其中 1属性用来控制线条的宽度、笔形样式、线段连接方式或短划线图案。(分数:2.00)填空项 1:_18.Java 程序实现多线程应用的途径之一是:定义一个实现 1 接口的类,并在类中提供该接口的所有方法。(分数:2.00)填空项 1:_19.Java 语言中需要采用随机方式对文件进行读写,可利用 1 类来实现。(分数:2.00)填空项 1:_20.Java 语言在实现 C/S 模式中,套接字分为两类,其中在 Server 端, 1 类支持底层的网络通信。(分数:2.00)填空项 1:_三、简答题(总题数:6,分数:18.00)21.用一个 Java
7、 语句完成下面的要求:将变量 ab 和 c 中最大的数值赋值给变量 d。(分数:3.00)_22.在类的方法名前面和成员变量名前面加上 public 和 protected 有何区别?(分数:3.00)_23.简述 java.awt.event 包中用来检测并对事件做出反应的模型的组成元素。(分数:3.00)_24.写出下面方法的功能和方法参数的含义。fillRoundheight,int x,int y,int width,int height,int arcWidth,int arcHeight)(分数:3.00)_25.请写出一条 Java 语句,要求建立一个文件对象 f,其对应的磁盘文
8、件是“d:/gzq.txt”。(分数:3.00)_26.简述使用 Java 语言进行数据库操作,删除数据表记录的方案。(分数:3.00)_四、程序填空题(总题数:5,分数:20.00)27.方法 f2701(int n)返回十进制整数 n 的位数。_f2701(int n)int c;for(c=0;_;c+)n/=10;return C;(分数:4.00)填空项 1:_28.下面程序运行后显示一个窗口,在窗口中有一个按钮和一个标签,单击按钮,标签中显示按钮被单击的次数,请完成程序。import java. awt.*;import javax. swing.*;import java. aw
9、t. event.*;class myFrame extends JFrame implements ActionListenerJButton button;JLabel label;myFrame(String s)super(s);Container con=_;setLayout(new FlowLayout();setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);setSize(300,400);button=new JButton(“OK“);label=new JLabel(“0“);con. add(button);con.add(l
10、abel);button. addActionListener(this);setVisible(true);public void actionPerformed(ActionEvent e)int n=_;n+;label. setText(“ “+n);public class C2801public static void main(String args)new myFrame(“我的窗口“);(分数:4.00)填空项 1:_29.设计一个面板,该面板中有四个运动项目单选按钮和一个文本框。当某个选择项目被选中时,在文本框中显示该选择项目。请完成程序。irnport java. app
11、let.*;import java. awt.*;import javax. swing.*;import java. awt. event.*;public class C0601 extends Applet implements ItemListener_;String s=“足球“,“排球“,“篮球“,“乒乓球“;JRadioButton box=new JRadioButton4;JTextField text=new JTextField(20);public void init()setSize(400,70);ButtonGroup group=new ButtonGroup(
12、);for(int i=0;i4;i+)boxi=new JRadioButton(si);group.add(boxi);pan.add(boxi);boxi.addItemListener(this);add(pan);add(text);text.setBackground(Color.cyan);public void_(ItemEvent e)text.setText(“你选择了:“+(JRadioButton)e.getItemSelectable().getText();(分数:4.00)填空项 1:_30.小应用程序启动后自动播放一个“2.wav”声音文件。请完成程序。impo
13、rt java.applet.*;public class C3001 extends Appletpublic void start()_clip=getAudioClip(getCodeBase(),“2.wav“);_play();(分数:4.00)填空项 1:_31.下列程序的功能是每隔一秒钟输出一个字符串“Hello!”。public class C3101 implements Runnablepublic static void main(String args)C3101 t=new C3101();Thread tt=new Thread(t);tt.start();publ
14、ic void run()for(;)try_;catch(_)System.out.println(“Hello“);(分数:4.00)填空项 1:_五、程序分析题(总题数:5,分数:20.00)32.阅读下列程序,写出程序运行结果。class A1public void f(int aa,int bb)System.out.println(aa+bb);class A2 extends A1public void f(int aa,int bb)System. out. println(aa-bb);public class C3201 extends A2public void f(in
15、t aa,int bb)System. out. println(aa*bb);public static void main(String args)A1 a=new Al();A1 a1=new A2();A2 a2=new C3201();a.f(20,10);a1.f(20,10);a2.f(20,10);(分数:4.00)_33.阅读下列程序,写出程序运行结果。import java.util.StringTokenizer;public class C3301public static void main(String args)String ss=“public static v
16、oid main“;StringTokenizer pas=new StringTokenizer(ss,“ “);int n=pas. countTokens();System. out. println(n);String s=pas.nextToken();for(pas.nextToken();pas.hasMorcTokens();s=pas.nextToken()System.out.println(s);(分数:4.00)_34.阅读下列程序,写出程序功能 。import java. awt.*;import javax. swing.*;import java. awt. ev
17、ent.*;public class C3401 implements ActionListenerJFrame frmFrame;JButton btnUp,btnDown;public C3401()frmFrame=new JFrame(“按钮应用“);frmFrame.setLayout(new CridLayout(2,1);btnUp=new JButton(“上“);btnUp.setActionCommand(“btnUp“);btnUp. addActionListener(this);btnDown=new JButton(“下“);btnDown.setActionCom
18、mand(“btnDown“);btnDown.addActionListener(this);frmFrame.add(btnUp);frmFrame.add(btnDown);frmFrame. pack();frmFrame.setVisible(true);public void actionPerformed(ActionEvent e)String cmd=e.getActionCommand();if(cmd.equals(“btnDown“)if(btnUp.getBackground()=Color.BLUE)btnUp.setBackground(Color.red);el
19、sebtnUp. setBackground(Color.blue);elseif(btnDown. getBackground()=Color. BLUE)btnDown.setBackground (Color.red);elsebtnDown.setBackground(Color.blue);public static void main(String args)new C3401();(分数:4.00)_35.阅读下列程序,写出程序功能。import javax. swing.*;public class C3501public static void main(String arg
20、s)JFrame myWin=new JFrame(“C3501“);myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JMenuBar jmb=new JMenuBar();myWin. setJMenuBar(jmb);myWin.setBounds(100,200,300,300);JMenu jm=new JMenu(“AAA“);jmb.add(jm);JMenuItem jmi=new JMenuItem(“AA1“);jm.add(jmi);JMenu jm2=new JMenu(“AA2“);jm. add(jm2);JM
21、enuItem jmi2=new JMenuItem(“AA21“);jm2. add(jmi2);myWin.setVisible(true);(分数:4.00)_36.阅读下列程序,写出程序功能。import java.applet.*;import java. awt.*;import java. awt. event.*;public class C3601 extends Applet implements ActionListenerAudioClip clip;Button buttonPlay,buttonLoop,buttonStop;public void init()cl
22、ip=getAudioClip(getCodeBase(),“1.wav“);buttonPlay=new Button(“start“);buttonLoop=new Button(“loop“);buttonStop=new Button(“stop“);buttonPlay. addActionListener(this);buttonStop.addActionListener(this);buttonLoop. addActionListener(this);setSize(300,100);add(buttonPlay);add(buttonLoop);add(buttonStop
23、);public void stop()clip.stop();public void actionPerformed(ActionEvent e)if(e.get.Source()=buttonPlay)clip.play();else if(e. getSource()=buttonLoop)clip.loop();if(e. getSource()=buttonStop)clip. stop();(分数:4.00)_六、程序设计题(总题数:2,分数:12.00)37.编写一个方法 f3701(),要求该方法有一个字符串参数 s,方法的功能是统计 s 中连续相同的字符构成的子串的最大长度,
24、方法返回这个最大长度值,若没有,则返回 1。例如 s=“103300002222223333“,其中连续相同的字符构成的子串有 4 个,长度依次为 2、4、6、4,则最大长度为 6。(分数:6.00)_38.创建一个有文本框和三个按钮的程序。当按下某个按钮时,使不同的文字(“Java“,”编程“,“不难学“)显示在文本框中。已经给出部分代码,请完成事件处理部分。import javax. swing.*;import Java. awt. event.*;class MiYal extends JPanelJButton button=new JButton3;JTextField text;
25、MiYal()for(int i=0;i3;i+)buttoni=new JButton(“button0“+(i+1);add(buttoni);text=new JTextField(10);text. setHorizontalAlignment(JTextField. CENTER);add(text);public class C3801 implements ActionListenerJFrame myWin:MiYal panel;C3801()panel=new MiYal();myWin=new JFrame(“C3801“);myWin. add(panel);myWin
26、. setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);for(int i=0;i3;i+)panel. buttoni.addActionListener(this);myWin. pack();myWin. setVisible(true);public stalic void main(String args)new C3801();public void actionPerformed(ActionEvent e)/这里是你要编写的代码(分数:6.00)_Java 语言程序设计(一)自考题-2 答案解析(总分:100.00,做题时间:90 分
27、钟)一、单项选择题(总题数:10,分数:10.00)1.下列 Java 整型常量错误的是( )A007 B008COx3AA DOx3AB(分数:1.00)A.B. C.D.解析:解析 主要考查的知识点为 Java 基本数据类型整数类型。要点透析 0 开头的整数是八进制数,八进制数中能够使用的数字只有 0、1、7 这八个;0x 开头的整数是十六进制数,十六进数数中能够使用的数字有 0、1、9、A、B、C、D、E、F。2.下列 Java 语句中,错误的是( )A连续出现多个分号 Btrycatch 语句Cinclude 语句 Dswitch 语句(分数:1.00)A.B.C. D.解析:解析 主
28、要考查的知识点为 Java 语句。要点透析 在 Java 语言中连续出现多个分号不是一种错误,编译系统认为每个单独的分号都是一个空语句。B 选项是捕获异常的语句。D 选项是多分支选择语句。在 Java 中没有 include 语句。3.下列有关抽象类及抽象方法的叙述错误的是( )A使用 final 修饰的类是抽象类B使用 abstract 修饰的方法是抽象方法C抽象类必须被继承才能使用,抽象类不可能有实例D抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类(分数:1.00)A. B.C.D.解析:解析 主要考查的知识点为 Java 抽象类及抽象方法。要点透析 抽象类和抽象方法都是使用 abs
29、tract 进行修饰。抽象类只声明一个模板,没有具体实现的代码,只有它的子类才可能有实际意义。抽象方法只能出现在抽象类中,抽象方法在抽象类中只声明了一个方法头部就用分号结束了,没有实现方法功能的代码。使用 final 修饰的类、方法和变量都是不可以再改变的。final 类不能被继承,final 方法不能被子类的方法覆盖,final 变量相当于一个常量。4.有 Java 语句如下,则说法正确的是( )int a,b=new int3;A此语句是错误的 Ba.length 的值为 3Cb.length 的值为 3 Da.length 和 b.length 的值都为 3(分数:1.00)A.B.C.
30、 D.解析:解析 主要考查的知识点为 Java 数组的定义及 length 成员的使用。要点透析 此语句是正确的,a,b 都为数组,但 a 没有初始化分配空间,不能求长度。5.下列有关事件监视器的说法正确的是( )A一个组件上不可以注册多个事件监视器B一个事件监视器可以被注册到多个组件上C一个组件上注册多个事件监视器会发生冲突,不会起作用D一个组件上注册多个事件监视器,只有最后一个事件监视器会起作用(分数:1.00)A.B. C.D.解析:解析 主要考查的知识点为监视器注册。要点透析 如果多个事件监视器被注册到一个组件上,这些事件监视器一般都会起作用,但各个事件的处理顺序不确定。6.能处理鼠标
31、拖动和移动两种事件的接口是( )AActionListener BItemListenerCMouseListener DMouseMotionListener(分数:1.00)A.B.C.D. 解析:解析 主要考查的知识点为鼠标事件接口。要点透析 Mouse MotionListener 接口能处理拖动鼠标和鼠标移动两种事件。要实现的接口方法有两个:(1)mouseDragged(MouseEvent),负责处理鼠标拖动事件。(2)mouseMoved(MouseEvent),负责处理鼠标移动事件。7.在 Java 语言中,基本类型 char 对应的基本类是( )AChar BStringC
32、Character DByte(分数:1.00)A.B.C. D.解析:解析 本题主要考查的知识点为基本类。要点透析 基本类型值与对应基本类对象能相互转换,基本类型 char 对应的基本类是 Character、基本类型 int 对应的基本类是 Integer、基本类型 long 对应的基本类是 Long、基本类型 boolean 对应的基本类是 Boolean。8.一个实现 Runnable 接口的类必须要实现的方法是( )Astart() Brun()Csleep() Dinit()(分数:1.00)A.B. C.D.解析:解析 主要考查的知识点为 Runnable 接口的使用。要点透析
33、实现一个接口必须实现接口中的所有方法,而 Runnable 接口只有一个方法 run()。9.在 Java 程序中,已将 FileWriter 对象接到 BufferedWriter 对象上,要实现缓冲式输出,可对BufferedWriter 对象使用的方法是( )Aread() Bwrite()CreadLine() DWriteLong()(分数:1.00)A.B. C.D.解析:解析 本题主要考查的知识点为缓冲式输出。要点透析 BufferedWriter 对象使用 write()方法能实现缓冲式输出。10.在编写 Java 程序访问数据库的过程中,用来处理与特定数据库连接的类是( )A
34、Connection 类 BResultSet 类CDriverManager 类 DStatement 类(分数:1.00)A. B.C.D.解析:解析 主要考查的知识点为访问数据库所涉及到的 Java 类要点透析 DriverManager 类处理驱动程序的加载和建立新数据连接;Statement 类用于在指定的连接中处理 SQL 语句;Connection 类用于处理与特定数据库的连接;ResultSet 类用于处理 SQL 语句执行后的查询结果。二、填空题(总题数:10,分数:20.00)11.Java 应用程序和小应用程序都由一个或多个扩展名为 1 的文件组成。(分数:2.00)填空
35、项 1:_ (正确答案:class)解析:12.在 Java 语言中,算术右移运算符是 1。(分数:2.00)填空项 1:_ (正确答案:)解析:13.在 Java 语言中,定义一个接口,在接口名前面需要 1 关键字。(分数:2.00)填空项 1:_ (正确答案:interface)解析:14.Date 类在 Java 语言的 1 包中。(分数:2.00)填空项 1:_ (正确答案:javautil)解析:15. 1 将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中。(分数:2.00)填空项 1:_ (正确答案:GridLayout)解析:16.当在一个容器中放入多个选择框
36、之前,可以先用 1 对象将多个选择框分组,使得同一时刻组内的多个选择框只允许有一个被选中。(分数:2.00)填空项 1:_ (正确答案:ButtonGroup)解析:17.Java 语言提供一个 Graphics2D 类,这个类定义了几种方法用于添加或改变图形的状态属性,其中 1属性用来控制线条的宽度、笔形样式、线段连接方式或短划线图案。(分数:2.00)填空项 1:_ (正确答案:stroke)解析:18.Java 程序实现多线程应用的途径之一是:定义一个实现 1 接口的类,并在类中提供该接口的所有方法。(分数:2.00)填空项 1:_ (正确答案:Runnable)解析:19.Java 语
37、言中需要采用随机方式对文件进行读写,可利用 1 类来实现。(分数:2.00)填空项 1:_ (正确答案:RandomAccessFile)解析:20.Java 语言在实现 C/S 模式中,套接字分为两类,其中在 Server 端, 1 类支持底层的网络通信。(分数:2.00)填空项 1:_ (正确答案:ServerSocket)解析:三、简答题(总题数:6,分数:18.00)21.用一个 Java 语句完成下面的要求:将变量 ab 和 c 中最大的数值赋值给变量 d。(分数:3.00)_正确答案:(d=(ab? a:b)c? (ab? a:b):c;或者 d=ab? a:bc? ab? a:b
38、:c;)解析:22.在类的方法名前面和成员变量名前面加上 public 和 protected 有何区别?(分数:3.00)_正确答案:(加上 public,类外的任何方法都能访问它们。加上 protected 后,对于不是这个类的子类和不在同一包中的别的类来说,不能访问它们。)解析:23.简述 java.awt.event 包中用来检测并对事件做出反应的模型的组成元素。(分数:3.00)_正确答案:(1)源对象。(2)监视器对象。(3)事件对象。)解析:24.写出下面方法的功能和方法参数的含义。fillRoundheight,int x,int y,int width,int height,
39、int arcWidth,int arcHeight)(分数:3.00)_正确答案:(1)功能是:用预定的颜色填充圆角矩形。(2)方法参数的含义是:x 和 y 指定矩形左上角的位置,width 和 height 是矩形的宽和高,arcWidth 和arcHeight 分别是圆角弧的横向直径和纵向直径。(3)可以用画圆角矩形方法画圆形,当矩形的宽高相等,圆角弧的横向直径和圆角弧的纵向直径也相等,并等于矩形的宽和高时,画的就是圆形。)解析:25.请写出一条 Java 语句,要求建立一个文件对象 f,其对应的磁盘文件是“d:/gzq.txt”。(分数:3.00)_正确答案:(File f=new F
40、ile(“d:/gzq.txt“);)解析:26.简述使用 Java 语言进行数据库操作,删除数据表记录的方案。(分数:3.00)_正确答案:(删除数据表记录有 3 种方案。(1)使用 Statement 对象。删除数据表记录的 SQL 语句的语法是:delete from 表名 where 特定条件(2)使用 ResultSet 对象。先创建一个 SQL 语句,然后调用 Statement 对象的 executeUpdate()方法。(3)使用 PrepareStatement 对象。创建 SQL 语句时,暂时用参数?表示值,然后由 SQL 语句对象生成PrepareStatement 对象
41、,接着通过设定实际参数实现特定记录的删除。)解析:四、程序填空题(总题数:5,分数:20.00)27.方法 f2701(int n)返回十进制整数 n 的位数。_f2701(int n)int c;for(c=0;_;c+)n/=10;return C;(分数:4.00)填空项 1:_ (正确答案:intn!=0)解析:28.下面程序运行后显示一个窗口,在窗口中有一个按钮和一个标签,单击按钮,标签中显示按钮被单击的次数,请完成程序。import java. awt.*;import javax. swing.*;import java. awt. event.*;class myFrame extends JFrame implements ActionListenerJButton button;JLabel label;myFrame(String s)super(s);Container con=_;setLayout(new FlowLayout();setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);setSize(300,400);button=new JButton(“OK“);label=new JLabel(“0“);con. add(button);con.add(la