1、1全国 2011 年 1 月高等教育自学考试Java 语言程序设计(一)试题课程代码:04747一、单项选择题(本大题共 10 小题,每小题 1 分,共 10 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.在 Java 语言中,int 类型数据的长度是( C )A.1 个字节 B.2 个字节C.4 个字节 D.8 个字节2.在 switch 语句中,switch 后面括号内的表达式的类型不能是( B )A.byte B.longC.char D.int3.以下关于接口的叙述中,正确的是( D )A.所有的接口都是公共接口,可被
2、所有的类和接口使用B.一个类通过使用关键字 interface 声明自己使用一个或多个接口C.接口中所有的变量都默认为 public abstract 属性D.接口体中不提供方法的实现4.以下代码段的输出结果是( A ) String s=“JavaWorld“; System.out.print(s.indexOf(“a“,4);A.-1 B.OC.1 D.45.以下不属于 AWT 库中定义的类是( C )A.Component B.ContainerC.Images D.Graphics6.鼠标单击列表中某个选项事件的相关接口是( B )A.ListActionListener B.Lis
3、tSelectionListenerC.ActionListener D.SelectionListener7.Java 语言规定,程序绘图区域的坐标原点位于整个区域的( A )A.左上角 B.右上角C.左下角 D.右下角8.以下关于线程互斥和同步的叙述中,正确的是( C )A.多线程互斥使用各自资源的程序段,在操作系统中称为临界段B.临界段的作用是使某线程能够使用其它线程的资源C.可以使用 notify()方法通知等待线程结束等待D.线程的互斥和同步可以很好地解决死锁问题9.当用户关闭文件对话框时,有可能返回的整数常量是( B )2A.JFileChooser.CLOSE_OPTION B.
4、JFileChooser.APPROVE_OPTION C.JFileChooser.SAVE_OPTION D.JFileChooser.OPEN_OPTION10.获取 InetAddress 对象的域名所用到的方法是( D )A.getByName() B.getHostAddress()C.getLocalHost() D.getHostName()二、填空题(本大题共 10 小题,每小题 2 分,共 20 分)请在每小题的空格中填上正确答案。错填、不填均无分。11.Java 源文件的扩展名是_.java_。12.表达式-4l 的十进制值是_-2_。13.在定义成员变量时,用关键字_s
5、tatic_修饰的是类变量。l4.布尔类型数组元素的默认初值是_false_。15.在 Swing 中,面板有两种,一种是 JPanel,另一种是_JScrollPane_。16.对话框的默认布局是_BorderLayout_。17.Java 语言的绘图模式有两种,它们是正常模式和_抑或模式_。18.当线程处于新建状态后,调用了 start()方法,该线程就处于_就绪_状态。19.如果要按行输入输出文件,需采用_缓冲式_输入输出方式。20.Java 程序与数据库连接的 API 被称为_JDBC(或 Java 数据库连接)_。三、简答题(本大题共 6 小题,每小题 3 分,共 18 分)21.请
6、写一个 if 语句,判断整数 n 是否同时满足“被 3 除余 2,被 7 除余 1”的条件,满足时输出“OK” ,否则输出“NO”。 答:if(n%3=2ElseSystem.out.print(“NO”);22.请写出在面向对象系统中,类和对象的关系。答:类是对一组相同对象的描述,类概括了同类对象的共有性质:数据和方法。对象是类的一个实例。23.请写出 JFrame、Frame 以及 Window 这三个类的继承关系(按照从父类到子类顺序排列)。答:Window Frame JFrame24.请写出 java.applet.AudioClip 控制声音播放的三个方法。答:play()播放声音
7、、loop()循环播放、stop()停止播放。25.请写出在使用 FileFilter 类设置筛选条件时,方法 accept()以及 getDescription()的作用。答:当目录中的文件与筛选条件相符时,方法 accept()返回 true,并将此文件史显示在对话框中,而getDescription()方法则是对筛选条件的描述。26.请写出 Java 程序实现数据库更新可以使用的三种对象。答:Statement 对象、ResultSet 对象、PrepareStatement 对象。3四、程序填空题(本大题共 5 小题,每空 2 分,共 20 分)27.方法 int numberOfDi
8、gits(int n)的功能是计算十进制正整数 n 的位数。int numberOfDigits(int n)int c=0:do n=10;c+_; while(_n!=0_); return c;28.以下程序创建了一个窗口,窗口内设置一个按钮,单击该按钮,其标题会显示单击的次数。import java.awt.*;import java.awt.event.*; import javax.swing.*;public class BottonGUIpublic static void main(Stringargs)CountButton myButtonGUI=new CountBut
9、ton();myButtonGUI.setVisible(true);class CountButton extends JFrame implements ActionListenerpublic static final int Width=250;public static final int Height=200;public int i=0;JButton myBtn=new JButton(String.valueOf(i);CountButton()setSize(Width,Height); setTitle(“计数按钮“);Container conPane=getConte
10、ntPane();conPane.setLayout(new FlowLayout();myBtn.addActionListener(this); conPane._add(myBtn)_; public void actionPerformed(ActionEvent e)if(e.getSource()=myBtn)myBtn._setText_(String.valueOf(+i); 29.以下小应用程序设置了一个文本区,用于显示鼠标单击的坐标。importjava.applet.*;importjava.awt.*;importjavax.swing.*;importjava.awt
11、.event.*;class MyWindow extends JFrame implements MouseListener4JTextArea text;JPanel panel;int x,y;MyWindow(String s)_super(s)_; Container con=this.getContentPane();con.setLayout(new GridLayout(2,1);this.setSize(200,300);panel=new JPanel(); con.add(panel);text=new JTextArea(10,20);con.add(text); ad
12、dMouseListener(this);this.setVisible(true);public void paint(Graphics g)text.append(“当前鼠标单击的位置是: “+x+“,“+y+“n“);public void mousePressed(MouseEvent e)public void mouseReleased(MouseEvent e)public void mouseEntered(MouseEvent e)public void mouseExited(MouseEvent e)public void_mouseClicked(MouseEvente
13、)x=e.getX();y=e.getY();repaint(); public class MouseDemo extends Appletpublic void init()MyWindow myWndow=new MyWindow(“鼠标演示程序“);30.以下小应用程序利用 Graphics2D 绘制一条直线。import java.applet.*; import java.awt.*: import java.awt.geom.*;public class DrawLine extends Appletpublic void paint(Graphics g)Graphics2D
14、g2d=(Graphics2D)g; Line2D line=new Line2D.Double(30.0,30.0,180.0,30.0);g2d.draw(line)_; 31.方法 readByURL()的功能是已知网址,创建 URL 对象,设置网络连接,获取网址上的内容并显示。其中获取网址上的内容并显示的代码已被省略。public void readByURL(String urlName)try5URL url=new URL(urlName);URLConnection tc=url._openConnection()_; Tc.connect()_; connectInputSt
15、reamReader in=new InputStreamReade(tc.getInputStream();BufferedReader dis=new BufferedReader(in);String inLine;这里的代码实现逐行输入网址上的内容并显示dis.close();catch(MalformedURLException e)e.printStackTrace();catch(IOException e) e.printStackTrace();)五、程序分析题(本大题共 5 小题,每小题 4 分,共 20 分)32.阅读下列程序,请写出该程序的输出结果。class Bint
16、 b;B(int x)b=x;System.out.println(“b=“+b); class A extends Bint a;A(int x,int y)super(x); a=y; System.out.println(“b=“+b+“,a=“+a);public class a32public static void main(Stringargs)A obj=new A(1,2);答:b=1,a=233.阅读下列程序,请写出该程序的输出结果。public class Test33public static void main(Stringargs)inta=2,3,1,6; int
17、b=4,2,3,5;intc=new int22; int i,j;for(i=0;i0)sum+=ai;n+ave=sum/n;retun ave;38.一个小应用程序,界面如题 38 图所示,其功能为比较两个文本框中输入的字符串是否相同,如果相同,那么在下方显示“两个字符串相同” ,否则,显示“两个字符串不同” 。按下“重置”按钮后清空文本框里面的内容。以下是程序的大部分,请编写其中的监视器方法。import java.applet.*; import javax.swing.*;import java.awt.event.*;public class a38 extends Applet
18、 implements ActionListenerJTextField textl,text2;JButton button1,button2; JLabel label1;public void init()text1=new JTextField(12);text2=new JTextField(12);buttonl=new JButton(“比较“);button2=new JButton(“重置“):label1=new JLabel(“此处显示比较结果“):9add(text 1);add(text2);add(button1);add(button2);add(1abel1);
19、text1.requestFocus();/将光标自动定位到第一个文本框button 1.addActionListener(this);button2.addActionListener(this);public void actionPerformed(ActionEvent e)/请在以下位置编写代码题 38 图 答:if(e.getSource()=button1)if(text1.getText().equals(text2.getText()label1.setText(“两个字符串相同”);elselabel1.setText(“两个字符串不同”);else if(e.getSource()=button2)text1.setText(null);text2.setText(null);