全国2012年1月高等教育自学考试
Java语言程序设计(一)试题
课程代码:04747
一、单项选择题(本大题共10小题,每小题1分,共l0分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.下面供选字符序列中,不属于Java语言关键字的是( )
A.inner B.throw
C.false D.throws
2.表达式“-1>>>1”的十进制值是( )
A.-2 B.231-1
C.-(231-1) D.232-1
3.Java语言中,在类定义时用final关键字修饰,是指这个类( )
A.子类必须实现父类未实现的方法 B.没有具体实现代码
C.必须要有实例 D.不能被继承
4.表达式 "java程序设计".1ength() 的值是( )
A. 0 B.12
C. 8 D.13
5.以下关于BorderLayout布局的叙述中,不正确的是( )
A.把容器内的空间划分成5个区域 B.加入组件应该指明要放入的区域
C.是框架窗口的默认布局 D.一个位置可直接放多个组件
6.利用文件对话框打开或保存文件,在打开文件对话框之前,可用FileFilter类设置筛选条件,其所用的两个方法是( )
A.accept()和getSelectedFile() B.accept()和getDescription()
C.accept()和setDescription() D.setDescription()和getDescription()
7.设已经有Graphics2D对象g2d,RoundRectangle2D对象rRect,绘制对象rRect的代码是( )
A.g2d.draw(rRect) B.g2d.drawRoundRect(rRect)
C.rRect.draw() D.rRect.drawRoundRect()
8.以下关于线程互斥和同步的叙述中,正确的是( )
A.临界段是线程互斥使用资源的程序段 B.临界段能使线程使用其它线程的资源
C.互斥和同步能很好地解决死锁问题 D.可用notify()方法让等待线程结束等待
9.在编写访问数据库的Java程序时,Connection对象的作用是( )
A.存储查询结果 B.在指定的连接中处理SQL语句
C.用来表示与数据库的连接 D.用来创建数据库的连接
10.获取InetAddress对象的域名所用到的方法是( )
A.getHostName() B.getLocalName()
C.getHostAddress() D.getLocalHost()
二、填空题(本大题共10小题,每空2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
11.能在浏览器上执行的Java程序被称为____________。
12.如果子类A隐藏了超类B的成员变量x,而类A的某个方法f()要引用类B的x,则引用类B的x的引用代码可以写成____________。
13.接口有与类相似的基本形式,它有常量定义和方法定义,但没有____________。
14.设u和v是类A的两个对象,则逻辑表达式“u==v”的意义是____________。
15.要获得对象的字符串表示,调用的方法是____________。
16.注册鼠标点击事件监视器的方法是____________。
17.在异或模式下绘图时,实际绘制的颜色是由当前正要绘制的颜色、原先绘制的颜色,以及____________作特定的运算确定的。
18.多线程程序设计中,让执行临界段程序时等待的线程结束等待,通常使用的方法有resume()、notify()或者____________。
19.创建的流既可以随机输出,也可以随机输入的类是____________。
20.Java程序中使用套接字方法实现C/S模式时,在Client端支持网络底层通讯的类是____________。
三、简答题(本大题共6小题,每小题3分,共18分)
21.请写出以下程序段的执行结果。
int c=0,d,n=3758;
while(n>0){ if((d=n%l0)>c) c=d;n/10;}
System.out.println("结果="+c);
22.什么是方法重载,如何正确区分重载?
23.请写出定义一个包含2个子数组的二维整型数组对象aArr的代码,其中第一个子数组有5个元素,第二个子数组有3个元素。
24.请写出创建一个JPanel对象p,并为对象p设定GridLayout布局的代码。
25.由于创建输出流对象时,可能会出现IOException异常,所以创建输出流对象的代码必须出现在try-catch语句结构中。请写出为当前目录下的myFile.dat文件创建缓冲输出流对象outs的代码。
26.请写出已知数据库url、用户名uName和密码pWord,通过驱动程序管理器(DriverManager)的方法getConnection()建立连接con的代码,可能产生的异常是SQLException。
四、程序填空题(本大题共5小题,每空2分,共20分)
在每小题的空格中填上正确答案,完全代码,使它能正确实现题意的功能。错填、不填均无分。
27.方法int tenDigNumlnArray(int []a,int d)的功能是统计数组中十位数是d的整数的个数。
提示:对于一个整数n,运算n/10的作用是求得去掉n的个位数后的整数,运算n%10的作用是求得n的个位数。
static int tenDigNumlnArray(int []a,int d){
int c=0;
for(int i=0;__________;i++){
if(__________)c++;
}
return c;
}
28.某小应用程序的类实现了接口ActionListener,在其窗口有一个文本区对象text和一个标上文字“输入一个整数”的按钮对象,并正确为该按钮对象注册了监视器。按钮处理程序要实现的功能是当点击这个按钮时,程序弹出一个输入信息的对话框,输入一个整数n,程序接受n后,将2至n的所有偶数输出在文本区text中。以下是其中处理按钮事件的方法。
public void actionPerformed(ActionEvent e){
if(e.____________.equals("输入一个整数")){
String res=(String) JOptionPane.showInputDialog(null, "输入一个正整数",
"输入对话框",JOptionPane.PLAIN_MESSAGE,null,null,null);
n=Integer.parseInt(res);
text.setText("");.
for(int k=2;k <= n;k+=2)
text._____________;
}
}
29.一个示意选择框选择的类CheckBoxWin,类的构造方法根据给定的选择项目表构造一组选择框,这组选择框允许多选,当这组选择框中的某个选择项的选择状态有改变(从选中变成未选中,或从未选中变成选中)时,选择框的监视程序在一个文本区中输出那个状态有改变的选择项目。以下是类CheckBoxWin的定义。
class CheckBoxWin extends JFrame implements ItemListener{
JPanel p=new JPanel();
JTextArea text;
String[]nameList;
JCheckBox boxArray[];
CheckB oxWin(String[]sp){
Container con=getContentPane();
con.setBackground(Color.BLUE);
con.setLayout(new FlowLayout());
p.setSize(90,(sp.1ength)*20);
p.setLayout(new GridLayout(sp.1ength,1));
nameList=sp;
boxArray=new JCheckB ox[sp.1ength];
for(int i=0;i<nameList.1ength;i++){
JCheckBox box=new JCheckBox(sp[i]);
box._________________;
p.add(box);
boxArray[i]=box;
}
con.add(p);
text=new JTextArea(3,13);
text.setText("");
JScrollPane jsp=new JScrollPane(text);
jsp.setSize(100,60);
con.add(jsp);
setSize(100,(sp.1ength)*20+120);
setLocation(100,100);
setVisible(true);
}
public void itemStateChanged(ItemEvent e){
for(int i=0;i<nameList.1ength;i++){
if(e.getItemSelectable()==_______________________ ){
if(boxArray[i].isSelected())
text.append(nameList[i]+".从未选中变成被选中\n");
else
text.append(nameList[i]+":从选中变成未被选中\n");
return;
}
}
}
}