1、Java 语言程序设计(一)真题 2011 年 10 月及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:10,分数:10.00)1.下面供选字符序列中,不属于 Java 语言关键字的是( )Athrow BsynchronizedCprotect Dtry(分数:1.00)A.B.C.D.2.以下程序代码的输出结果是( )double x=25.6:System. out. println(int)x1);A48 B50C51 D52(分数:1.00)A.B.C.D.3.在以下供选择的概念中,不属于面向对象语言概念的是( )A类 B函数C动态联编 D抽象(分数:1
2、.00)A.B.C.D.4.在 Java 语言中,能够实现字符串连接的方法是( )AString substring(int startpoint) BString concat(String s)CString replace(char old,char new) DString trim()(分数:1.00)A.B.C.D.5.在以下供选择的容器类中,属于顶层容器的是( )AJDialog BJPanelCJScrollPane DJToolBar(分数:1.00)A.B.C.D.6.在以下选项中,属于 MouseListener 接口的方法是( )AmouseDoubleClicked(
3、MouseEvent) BmouseDragged(MouseEvent)CmouseMoved(MouseEvent) DmousePressed(MouseEvent)(分数:1.00)A.B.C.D.7.设已经有 Graphics2D 对象 g2d,Line2D 对象 line,绘制对象 line 的代码是( )Ag2d. draw(line) Bg2d. drawLine(line)Cline. draw() Dline. drawLine()(分数:1.00)A.B.C.D.8.设 Thread 对象 thd 的优先级为 7,thd 又创建了另一个 Thread 对象 chd,如果未
4、对 chd 的优先级进行修改,则 chd 的优先级为( )A1 B5C7 D10(分数:1.00)A.B.C.D.9.在以下供选择的操作中,File 对象能够提供的操作是( )A删除文件 B读写文件C打开文件 D查询文件属性(分数:1.00)A.B.C.D.10.在编写访问数据库的 Java 程序时,Statement 对象的作用是( )A建立新数据库连接 B设置查询命令C创建 SQL 语句对象 D存储查询结果(分数:1.00)A.B.C.D.二、填空题(总题数:10,分数:20.00)11.Java 语言是一种 1 语言,它约束程序员必须遵守规定编写程序,能让编译器检测出程序中尽可能多的错误
5、。(分数:2.00)填空项 1:_12.在 Java 语言中, 1 语句用于表示出现在该文件中的所有类都属于这个程序包。(分数:2.00)填空项 1:_13.在 Java 程序系统中,对象之间的交互通过相互发送 1 实现。(分数:2.00)填空项 1:_14.数组每个元素按存储顺序对应一个下标,下标从 1 开始顺序编号。(分数:2.00)填空项 1:_15.用 Swing 编写 GUI 程序时,通常用 1 类派生的子类创建窗口对象。(分数:2.00)填空项 1:_16.强制型对话框强制对话过程 1,直至对话过程结束,才让程序响应对话框以外的事件。(分数:2.00)填空项 1:_17.在 Gra
6、phics 类中,用于在指定的位置显示字符串的方法是 1。(分数:2.00)填空项 1:_18.在 Java 中,线程的调度策略采用 1,优先级高的线程比优先级低的优先执行。(分数:2.00)填空项 1:_19.字符流数据中使用的 Unicode 字符有 1 位二进制位。(分数:2.00)填空项 1:_20.java. net 包中有 1 类,它的对象用于存储 IP 地址和域名。(分数:2.00)填空项 1:_三、简答题(总题数:6,分数:18.00)21.请使用 for 循环语句实现计算 (分数:3.00)_22.请写出 Java 语言中编写事件处理程序的两种方案。(分数:3.00)_23.
7、请写出代码段,用来创建一个标签对象 lbl,显示文字为“Java”,背景色设为绿色。(分数:3.00)_24.请写出 JComboBox 对象上可能发生的两种事件类型的名字。(分数:3.00)_25.请写出线程从阻塞状态恢复到就绪状态的三种途径。(分数:3.00)_26.请写出 URLConnection 类提供的获得输入输出流对象的方法和实现网络连接的方法。(分数:3.00)_四、程序填空题(总题数:5,分数:20.00)27.方法 void moveOddForward(int a)的功能是将数组中的所有奇数移到所有偶数之前。void moveOddForward(int a) for(i
8、nt i=0,odd=0;_;i+)if(_) int t=ai;ai=aodd;aodd=t;odd+;(分数:4.00)填空项 1:_28.以下程序片段定义由 JFrame 类派生的子类 MyWindowDemoo 类 MyWindowDemo。的构造方法有五个参数:窗口的标题名,加入窗口的按钮,按钮的背景颜色,以及窗口的宽和高。class MyWindowDemo extends JFrame public MyWindowDemo(String name,JButton button,Color c,int w,int h) setTitle(name);setSize(w,h);Co
9、ntainer contentPane=_;contentPane._;button. setBackground(c);(分数:4.00)填空项 1:_29.小应用程序有一个按钮和一个文本区,按钮作为发生键盘事件的事件源,并对键盘事件实施监视。程序运行时,先点击按钮,让按钮激活。以后输入英文字母时,在文本区显示输入的字母。import java. applet.*;import javax. swing.*;import Java. awt. event.*;public class Test29 extends Applet implements_ JButton button=new J
10、Button();JTextArea text=new JTextArea(5,20);public void init() button. addKeyListener(this);add(button);add(text);public void keyPressed(KeyEvent e) int t=e._;if(t=KeyEvent. VK_A&t=KeyEvent. VK_Z) text. append(char)t+“ “);public void keyTyped(KeyEvent e) public void keyReleased(KeyEvent e) (分数:4.00)
11、填空项 1:_30.以下程序的界面有一个文本区 text,一个按钮 button。程序运行时,单击按钮,则将文本区中的内容输出到 out,其中 out 为 BufferWriter 类的一个对象。public void actionPerformed(ActionEvent e) String s;if(e._=button) tryout._(text. getText(),0,(text. getText().length();out. flush();text. setText(null);System. exit(0);catch(IOException exp)text. setTe
12、xt(“文件写出错!/n“);System. exit(-1);(分数:4.00)填空项 1:_31.数据库连接方法 connectByjdbcOdbc()按给定的数据库 URL、用户名和密码连接数据库,如果连接成功,方法返回连接对象,连接不成功,则返回空。public static Connection connectByjdbcOdbc(String url,String username,String password) Connection con=null;try Class._(“sun. jdbc. odbc. JdbcOdbcDriver“);catch(Exception e
13、) eprintStackTrace();return null;try con=_. getConnection(url,username,password);catch(SQLException e) e. printStackTrace();return null;return con;(分数:4.00)填空项 1:_五、程序分析题(总题数:5,分数:20.00)32.阅读下列程序,请写出该程序的输出结果。class Test32a String name;int age;long number;Test32a(long number,String name,int age) Syste
14、m. out. println(“Name:“+name);System. out. println(“Age:“+age);System. out. println(“Tel:“+number);class Test32b extends Test32aTest32b(long number,String name,int age,boolean b) super(number,name,age);System. out. println(“Married:“+b);public class Test32public static void main(String args) Test32b
15、 abc=new Test32b(4747,“Tony“,29,true);(分数:4.00)_33.阅读下列程序,请写出该程序的输出结果。class Test33 String myString=“1“;public static void main(String args) Test33 myObj=new Test33();myObj. stringModifier(myObj. myString);System. out. println(“ “+myObj. myString);void stringModifier(String theString) theString=theSt
16、ring+“2“;System. out. print(theString);(分数:4.00)_34.阅读下列程序,请写出该程序的功能。import java. awt. *;import java. awt. event. *;import java. applet. *;public class Test34 extends Applet implements ActionListener String msg=“ “;Button bList=new Button3;public void init() Button yes=new Button(“Yes“);Button no=ne
17、w Button(“No“);Button maybe=new Button(“Undecided“);bList0=(Button)add(yes);bList1=(Button)add(no);bList2=(Button)add(maybe);for(int i=0;i3;i+) bListi.addActionListener(this);public void actionPerformed(ActionEvent ae) for(int i=0;i3;i+) if(ae.getSource()=bListi) msg=“You pressed“+bListi.getLabel();
18、repaint(); public void paint(Graphics g)g.drawString(msg,6,100);(分数:4.00)_35.阅读下列程序,请写出该程序的功能 。import java. awt. event.*;import javax. swing. *;import java. awt.*;public class MenuWindow extends JFrame implements ActionListener JTextField text=new JTextField();JMenuBar menuBar;JMenu menuFruits;JMenu
19、Item menuIteml,menuItem2,menuItem3;public MenuWindow() menuBar=new JMenuBar();setJMenuBar(menuBar);menuFruits=new JMenu(“水果“);menuBar. add(menuFruits);menuItem1=new JMenuItem(“苹果“);menuItem1.addActionListener(this);menuFruits.add(menuItem1);menuItem2=new JMenuItem(“桔子“);menuItem2. addActionListener(
20、this);menuFruits. add(menuItem2);menuFruits. addSeparator();menuItem3=new JMenuItem(“退出“);menuItem3. addActionListener(this);menuFruits. add(menuItem3);Container con=getContentPane();con. add(text);setSize(200,150);setVisible(true);public void actionPerformed(ActionEvent e) if(e. getActionCommand()=
21、“退出“)System. exit(0);else text. setText(e. getActionCommand();public static void main(String args)MenuWindow mw=new MenuWindow();(分数:4.00)_36.阅读下列程序,请写出该程序的输出结果。class MyThread extends Thread String message,int s;MyThread(String message,int sec)this. message=message;s=sec;public void run()trysleep(s)
22、;catch(InterruptedException e)System. out. println(message+“ “+getPriority();class ThreadTestpublic static void main(String args)Thread foo=new MyThread(“Foo“,1000);foo. setPriority(Thread.MIN_PRIORITY);foo.start();Thread bar=new MyThread(“Bar“,800);bar.setPriority(3);bar.start();Thread gar=new MyTh
23、read(“Gar“,400);gar. setPriority(7);gar.start();Thread kar=new MyThread(“Kar“,100);kar. setPriority(Thread.MAX_PRIORITY);kar.start();注:假设处理机中没有其他线程占用资源。(分数:4.00)_六、程序设计题(总题数:2,分数:12.00)37.请编写一个方法 int findMaximum(int numbers),要求该方法返回二维数组中元素的最大值。(分数:6.00)_38.小应用程序的 paint(Graphics g)方法能在屏幕窗口上显示信息和绘图,如果
24、 paint()方法能调用repaint()方法,这就能使显示实现动态效果,repaint()方法的功能是先清除 paint()方法以前所画的内容,然后再调用 paint()方法。以下要你编写的 paint()方法取随机的坐标位置画一个边长为 20 个像素的红色正方形。其中随机的坐标位置可以用以下表达式表示:(int)(Math.random()*100)+10另要求 paint()方法在绘制正方形后暂停 100 毫秒。import java. applet.*;import java.awt.*;public class Class1 extends Appletpublic void pa
25、int(Graphics g)/请在以下位置编写代码(分数:6.00)_Java 语言程序设计(一)真题 2011 年 10 月答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:10,分数:10.00)1.下面供选字符序列中,不属于 Java 语言关键字的是( )Athrow BsynchronizedCprotect Dtry(分数:1.00)A.B.C. D.解析:2.以下程序代码的输出结果是( )double x=25.6:System. out. println(int)x1);A48 B50C51 D52(分数:1.00)A.B. C.D.解析:3.在以下供
26、选择的概念中,不属于面向对象语言概念的是( )A类 B函数C动态联编 D抽象(分数:1.00)A.B. C.D.解析:解析 面向对象程序设计语言引入许多概念和机制,包括抽象、对象、消息、类、继承、多态性等。函数不属于面向对象语言概念。4.在 Java 语言中,能够实现字符串连接的方法是( )AString substring(int startpoint) BString concat(String s)CString replace(char old,char new) DString trim()(分数:1.00)A.B. C.D.解析:解析 连接方法 concat(String s),实
27、现复制参数 s 字符串的内容,连接在字符串对象之后,得到一个新的字符串。5.在以下供选择的容器类中,属于顶层容器的是( )AJDialog BJPanelCJScrollPane DJToolBar(分数:1.00)A. B.C.D.解析:解析 JDialog 为顶层容器,JPanel、JScrollPane 和 JToolBar 为中间容器。6.在以下选项中,属于 MouseListener 接口的方法是( )AmouseDoubleClicked(MouseEvent) BmouseDragged(MouseEvent)CmouseMoved(MouseEvent) DmousePress
28、ed(MouseEvent)(分数:1.00)A.B.C.D. 解析:解析 MouseListener 接口的方法有:(1)mousePressed(MouseEvent),负责处理鼠标按下事件。(2) mouseReleased(MouseEvent),负责处理鼠标释放事件。(3)mouseEntered(MouseEvent),负责处理鼠标进入容器事件。(4)mouseExited(MouseEvent),负责处理鼠标离开容器事件。(5)mouseClicked(MouseEvent),负责处理鼠标点击事件。7.设已经有 Graphics2D 对象 g2d,Line2D 对象 line,绘
29、制对象 line 的代码是( )Ag2d. draw(line) Bg2d. drawLine(line)Cline. draw() Dline. drawLine()(分数:1.00)A. B.C.D.解析:8.设 Thread 对象 thd 的优先级为 7,thd 又创建了另一个 Thread 对象 chd,如果未对 chd 的优先级进行修改,则 chd 的优先级为( )A1 B5C7 D10(分数:1.00)A.B.C. D.解析:解析 线程创建时,子线程继承父线程的优先级。9.在以下供选择的操作中,File 对象能够提供的操作是( )A删除文件 B读写文件C打开文件 D查询文件属性(分
30、数:1.00)A.B.C.D. 解析:解析 File 对象只用来命名文件、查询文件属性和处理目录,不提供读写文件操作。10.在编写访问数据库的 Java 程序时,Statement 对象的作用是( )A建立新数据库连接 B设置查询命令C创建 SQL 语句对象 D存储查询结果(分数:1.00)A.B.C. D.解析:二、填空题(总题数:10,分数:20.00)11.Java 语言是一种 1 语言,它约束程序员必须遵守规定编写程序,能让编译器检测出程序中尽可能多的错误。(分数:2.00)填空项 1:_ (正确答案:强类型)解析:12.在 Java 语言中, 1 语句用于表示出现在该文件中的所有类都
31、属于这个程序包。(分数:2.00)填空项 1:_ (正确答案:package)解析:13.在 Java 程序系统中,对象之间的交互通过相互发送 1 实现。(分数:2.00)填空项 1:_ (正确答案:消息(或 message))解析:14.数组每个元素按存储顺序对应一个下标,下标从 1 开始顺序编号。(分数:2.00)填空项 1:_ (正确答案:0)解析:15.用 Swing 编写 GUI 程序时,通常用 1 类派生的子类创建窗口对象。(分数:2.00)填空项 1:_ (正确答案:JFrame)解析:16.强制型对话框强制对话过程 1,直至对话过程结束,才让程序响应对话框以外的事件。(分数:2
32、.00)填空项 1:_ (正确答案:不能中断)解析:17.在 Graphics 类中,用于在指定的位置显示字符串的方法是 1。(分数:2.00)填空项 1:_ (正确答案:drawString-|_|-)解析:18.在 Java 中,线程的调度策略采用 1,优先级高的线程比优先级低的优先执行。(分数:2.00)填空项 1:_ (正确答案:抢占式)解析:19.字符流数据中使用的 Unicode 字符有 1 位二进制位。(分数:2.00)填空项 1:_ (正确答案:16)解析:20.java. net 包中有 1 类,它的对象用于存储 IP 地址和域名。(分数:2.00)填空项 1:_ (正确答案
33、:InetAddress)解析:三、简答题(总题数:6,分数:18.00)21.请使用 for 循环语句实现计算 (分数:3.00)_正确答案:(double s=0.0;for(int i=2;i=20;i=i+2)s=s+1.0/i;)解析:22.请写出 Java 语言中编写事件处理程序的两种方案。(分数:3.00)_正确答案:(程序重设方法 handleEvent(Event evt),程序实现一些系统设定的接口。)解析:23.请写出代码段,用来创建一个标签对象 lbl,显示文字为“Java”,背景色设为绿色。(分数:3.00)_正确答案:(JLabel lbl=new JLabel(“
34、Java“);lbl. setBackground(Color.GREEN);)解析:24.请写出 JComboBox 对象上可能发生的两种事件类型的名字。(分数:3.00)_正确答案:(ActionEvent 和 ItemEvent)解析:25.请写出线程从阻塞状态恢复到就绪状态的三种途径。(分数:3.00)_正确答案:(自动恢复、用 resume()方法恢复、用 notify()或 notifyAll()方法通知恢复。)解析:26.请写出 URLConnection 类提供的获得输入输出流对象的方法和实现网络连接的方法。(分数:3.00)_正确答案:(getOutputStream()、g
35、etInputStream()、connect()解析:四、程序填空题(总题数:5,分数:20.00)27.方法 void moveOddForward(int a)的功能是将数组中的所有奇数移到所有偶数之前。void moveOddForward(int a) for(int i=0,odd=0;_;i+)if(_) int t=ai;ai=aodd;aodd=t;odd+;(分数:4.00)填空项 1:_ (正确答案:ia.lengthai%2=1)解析:28.以下程序片段定义由 JFrame 类派生的子类 MyWindowDemoo 类 MyWindowDemo。的构造方法有五个参数:窗
36、口的标题名,加入窗口的按钮,按钮的背景颜色,以及窗口的宽和高。class MyWindowDemo extends JFrame public MyWindowDemo(String name,JButton button,Color c,int w,int h) setTitle(name);setSize(w,h);Container contentPane=_;contentPane._;button. setBackground(c);(分数:4.00)填空项 1:_ (正确答案:getContentPane()add(button))解析:29.小应用程序有一个按钮和一个文本区,按钮
37、作为发生键盘事件的事件源,并对键盘事件实施监视。程序运行时,先点击按钮,让按钮激活。以后输入英文字母时,在文本区显示输入的字母。import java. applet.*;import javax. swing.*;import Java. awt. event.*;public class Test29 extends Applet implements_ JButton button=new JButton();JTextArea text=new JTextArea(5,20);public void init() button. addKeyListener(this);add(but
38、ton);add(text);public void keyPressed(KeyEvent e) int t=e._;if(t=KeyEvent. VK_A&t=KeyEvent. VK_Z) text. append(char)t+“ “);public void keyTyped(KeyEvent e) public void keyReleased(KeyEvent e) (分数:4.00)填空项 1:_ (正确答案:KeyListenergetKeyCode())解析:30.以下程序的界面有一个文本区 text,一个按钮 button。程序运行时,单击按钮,则将文本区中的内容输出到
39、out,其中 out 为 BufferWriter 类的一个对象。public void actionPerformed(ActionEvent e) String s;if(e._=button) tryout._(text. getText(),0,(text. getText().length();out. flush();text. setText(null);System. exit(0);catch(IOException exp)text. setText(“文件写出错!/n“);System. exit(-1);(分数:4.00)填空项 1:_ (正确答案:getSource(
40、)write)解析:31.数据库连接方法 connectByjdbcOdbc()按给定的数据库 URL、用户名和密码连接数据库,如果连接成功,方法返回连接对象,连接不成功,则返回空。public static Connection connectByjdbcOdbc(String url,String username,String password) Connection con=null;try Class._(“sun. jdbc. odbc. JdbcOdbcDriver“);catch(Exception e) eprintStackTrace();return null;try c
41、on=_. getConnection(url,username,password);catch(SQLException e) e. printStackTrace();return null;return con;(分数:4.00)填空项 1:_ (正确答案:forNameDriverManager)解析:五、程序分析题(总题数:5,分数:20.00)32.阅读下列程序,请写出该程序的输出结果。class Test32a String name;int age;long number;Test32a(long number,String name,int age) System. out. println(“Name:“+name);System. out. println(“Age:“+age);System. out. println(“Tel:“+number);class Test32b extends Test32aTest32b(long number,String name,int age,boolean b) super(number,name