Java语言程序设计一自考题模拟7.docx
《Java语言程序设计一自考题模拟7.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计一自考题模拟7.docx(15页珍藏版)》请在冰豆网上搜索。
Java语言程序设计一自考题模拟7
Java语言程序设计
(一)自考题模拟7
(总分:
100.00,做题时间:
90分钟)
一、第Ⅰ部分选择题(总题数:
10,分数:
10.00)
1.下列叙述中,正确的是______
(分数:
1.00)
A.Java语言的标识符是区分大小写的 √
B.源文件名与public类名可以不相同
C.源文件名其扩展名为.jar
D.源文件中public类的数目不限
解析:
[考点]本题主要考查的知识点为Java语言基础内容。
源文件中如果有public类,则源文件名与public类名必须相同;源文件名其扩展名为.java;源文件中public类的数目不能多于一个。
2.以下程序代码的输出结果是______
System.out.println(100/8);
(分数:
1.00)
A.12.5
B.12 √
C.4
D.0
解析:
[考点]本题主要考查的知识点为为Java运算符。
“/”为除法运算符,当除数和被除数均为整数类型时,结果也是整数类型。
3.在定义Java的方法时,冠以修饰字static的方法称为______
(分数:
1.00)
A.类变量
B.实例变量
C.类方法 √
D.实例方法
解析:
[考点]本题主要考查的知识点为类方法和实例方法。
在方法定义时,冠以修饰字static的方法称为类方法,没有冠以static修饰字的方法是实例方法。
4.以下关于Java数组的叙述,错误的是______
(分数:
1.00)
A.数组是将一组相同类型的数据顺序存储,组成一种复合数据类型
B.数组中每个元素按存储顺序对应一个下标
C.数组有一维数组和多维数组之分
D.多维数组每一维必须分配等长的空间 √
解析:
[考点]本题主要考查的知识点为Java数组。
从最高维开始,分别对每一维可以分配不等长的空间,此为非平衡数组。
5.要为程序中的按钮button设置一个热键Alt+A,可以采用的代码是______
(分数:
1.00)
A.button.setMnemonic("A") √
B.button.setMnemonic("Alt+A")
C.button.setToolTipText("A")
D.button.setToolTipText("Alt+A")
解析:
6.在Java布局中,将组件像扑克牌一样叠放,而每次只能显示其中一个组件,这种布局是______
(分数:
1.00)
A.FlowLayout
B.BorderLayout
C.CardLayout √
D.GridLayout
解析:
[考点]本题主要考查的知识点为Java常片布局。
FlowLayout,依次放置组件;BorderLayout,将组件放置在边界上;GridLayout,将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中。
7.在Java语言中,以下JFrame类的常用方法含义不正确的是______
(分数:
1.00)
A.setSize(intwidth,intheight)设置窗口的大小
B.setBackground(Colorc)设置窗口的背景颜色
C.setVisible(booleanb)设置窗口是否可见
D.getTitle()设置窗口标题 √
解析:
[考点]本题主要考查的知识点为Java中JFrame类的常用方法。
getTitle()获取窗口标题。
8.下面有关临界段叙述错误的是______
(分数:
1.00)
A.多线程互斥使用共享资源的程序段被称为临界段
B.临界段是一种加锁机制,与多线程共享资源有关
C.临界段的作用是在任何时刻一个共享资源只能供一个线程使用
D.如果一个线程已进入某个共享资源的临界段,且还没有使用结束,其他进程可抢占这个共享的资源 √
解析:
[考点]本题主要考查的知识点为Java临界段概念。
如果一个线程已进入某个共享资源的临界段,且还没有使用结束,其他进程必须等待。
9.当使用FileInputStream类中的read()方法时,如果没有读入一个字节数据时,返回值为______
(分数:
1.00)
A.0
B.-1 √
C.true
D.false
解析:
[考点]本题主要考查的知识点为Java文件操作方法。
read()方法的返回值类型为int型,用-1表示流在读之前已结束。
10.在编写访问数据库的Java程序过程中,用来处理SQL语句执行后的查询结果的类是______
(分数:
1.00)
A.Statement类
B.ResultSet类 √
C.Connection类
D.DriverManager类
解析:
二、第Ⅱ部分非选择题(总题数:
10,分数:
20.00)
11.在Java程序中,字符常量有普通字符常量和1常量两种。
(分数:
2.00)
解析:
转义字符
12.闰年的条件是:
每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。
如果年份用整数类型变量y表示,则y年是闰年的条件用逻辑表达式可描述为1。
(分数:
2.00)
解析:
(y%4==0&&y%100!
=0)||y%400==0
13.Java语言将类型分为基本类型和1类型两种。
(分数:
2.00)
解析:
引用
14.在Java语言中有定义:
charc[]={"0","1","2","3","4"};则c.length=1。
(分数:
2.00)
解析:
5
15.1布局是把容器划分成若干行和列的网格状,行数和列数由程序控制,组件放在网格的小格子中。
(分数:
2.00)
解析:
GridLayout
16.类除了能继承一个类之外,还可实现1个接口。
(分数:
2.00)
解析:
多
17.在类声明之前如果用1修饰,则表示此类不能再有子类。
(分数:
2.00)
解析:
final
18.1是最简单的Swing组件,其对象的作用是对位于其后的界面组件作说明。
(分数:
2.00)
解析:
标签(JLabel)
19.流使用结束后,关闭流并且释放与该流相关的资源,用1方法。
(分数:
2.00)
解析:
close()
20.JDBC是java程序与数据库连接的API,它可以与某个数据库建立连接、向数据库发送SQL语句和1。
(分数:
2.00)
解析:
处理数据库返回的结果
三、简答题(总题数:
6,分数:
18.00)
21.请写出表示条件“x=2与y=3最多只有一个成立”的Java表达式。
(分数:
3.00)
__________________________________________________________________________________________
正确答案:
()
解析:
x==2&&y!
=3||x!
=2&&y==3||x!
=2&&y!
=3
22.在以下类的声明中,指出哪些是错误的以及错误的原因。
(1)classClass22extendsClass2201,Class2202{......}
(2)publicabstractclassClass22{......}
(3)abstractfinalclassClass22{......}
(4)abstractpublicclassClass22{......}
(5)publicabstractclassString{......}
(6)publicfinalclassClass22extendsimplementinterface1{......}
(分数:
3.00)
__________________________________________________________________________________________
正确答案:
()
解析:
(1)错误:
Java语言不支持多重继承。
(3)错误:
abstract和final不能同时修饰类。
(5)错误:
类名不能使用关键字String命名。
23.在Java语言的程序设计中,关于标签的基本内容有哪三个方面?
(分数:
3.00)
__________________________________________________________________________________________
正确答案:
()
解析:
(1)声明一个标签名。
(2)创建一个标签对象。
(3)将标签对象加入到某个容器。
24.请写出一条语句,能够绘制一条垂直线段,上端点坐标为(200,300),长为100像素。
设调用的对象是类型为Graphics的g。
(分数:
3.00)
__________________________________________________________________________________________
正确答案:
()
解析:
g.drawLine(200,300,200,400)
25.文件随机访问应该利用什么类来实现,创建此类对象的代码应该能捕获什么类型的异常?
(分数:
3.00)
__________________________________________________________________________________________
正确答案:
()
解析:
RandomAccessFile类
FileNotFoundException异常
26.简述一个网络关系数据库应用系统的层次结构。
(分数:
3.00)
__________________________________________________________________________________________
正确答案:
()
解析:
(1)客户机与服务器采用网络连接。
(2)客户机端应用程序按通信协议与服务器端的数据库服务程序通信。
(3)数据库服务程序通过SQL命令与数据库管理系统通信。
四、程序填空题(总题数:
5,分数:
20.00)
27.回文是指正读和反读都一样的字符串。
方法f27(Strings)的功能是判断一个字符串是否为回文。
例如:
s="abccba",该方法返回值为true;n="abc",该方法返回值为false。
booleanf27(Strings)
inti=0;
while(i<s.length()/2)
{
Strings1,s2;
s1=s.substring(i,i+1);
s2=s.substring
(1);
if(!
(s1.equals(s2)))break;
i++;
}
return2;
(分数:
4.00)
解析:
s.length()-i-1,s.length()-i
i<s.length()/2?
false:
true
28.定义JFrame派生的子类MyWindowDemo创建JFrame窗口。
类MyWindowDemo的构造方法有五个参数:
窗口的标题名,加入窗口的组件,窗口的背景颜色以及窗口的高度和宽度。
在主方法中,利用类MyWindowDemo创建两个类似的窗口并显示出来。
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
classMyWindowDemoextendsJFrame
publicMyWindowDemo(Stringname,JButtonbut,Colorc,intw,inth)
{
super();
setTitle(name);
setSize(w,h);
setLayout(newFlowLayout());
Container1;
contenPane.add(but);
contenPane.setBackground(c);
}
}
publicclassClass2802
{
publicstaticMyWindowDemomw[];
publicstaticvoidmain(String[]args)
JButtonbutt1=newJButton("我是一个按钮");
JButtonbutt2=newJButton("我是另一个按钮");
Stringname1="我的第一个窗口";
Stringname2="我的第二个窗口";
mw=newMyWindowDemo[2];
mw[0]=newMyWindowDemo(name1,butt1,Color.blue,350,450);
mw[1]=newMyWindowDemo(name2,butt2,Color.red,300,400);
for(inti=0;i<2;i++)2;
}
}
(分数:
4.00)
解析:
contenPane=getContentPane()
mw[i].setVisible(true)
29.以下是生成单选按钮对象,以及单选按钮选择事件处理方法的代码。
要求当选中computer单选按钮时,在标签label中显示“计算机性能和价格介绍:
”的字样。
............
computer=new1("计算机");//生成单选按钮对象
computer.addItemListener(this);
............
publicvoid2(ItemEvente)
{
if(e.getItemSelectable()==computer)
{
label.setText(computer.getLabel()+"性能和价格介绍:
");
}
}
(分数:
4.00)
解析:
newJRadioButton
itemStateChanged
30.下面小应用程序通过快速显示一组图片(1.jpg~9.jpg)造成显示动画的效果。
importjava.awt.*;
importjava.applet.*;
publicclassClass3002extendsAppletimplementsRunnable
{
finalintnumber=9;
intcount=1;
Image[]pic=newImage[number];
ThreadmyThread;
publicvoidinit()
{
setSize(300,200);
for(inti=1;i<=number;i++)
pic[i-1]=1;
}
publicvoidstart()
{
myThread=newThread(this);
myThread.start();
}
publicvoidstop(){myThread=null;}
publicvoidrun()
{
while(true)
{
repaint();
count=(count+1)%number;
try{myThread.sleep(1000);}
catch(InterruptedExceptione){}
}
}
publicvoidpaint(Graphicsg)
{
if(pie[count]!
=null)
g.2(pie[count],10,10,200,200,this);
}
(分数:
4.00)
解析:
getImage(getCodeBase(),i+".jpg")
drawImage
31.下列应用程序,产生两个组合框,一个可以选择月份,一个可以选择2000~2009年之间的年份。
importjavax.swing.*;
publicclassClass31002extendsJFrame
{
JComboBoxmonthBox=newJComboBox();
1
publicClass31002()
{
super("ExpirationDate");
setSize(240,90);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanelpane=newJPanel();
JLabelexp=newJLabel("ExpirationDate:
");
for(inti=0;i<13;i++)monthBox.addItem(""+i);
for(inti=2000;i<2010;i++)yearBox.addItem(""+i);
pane.add(exp);
pane.add(monthBox);
2
setContentPane(pane);
}
publicstaticvoidmain(String[]arg)
{
newClass31002().setVisible(true);
}
}
(分数:
4.00)
解析:
JComboBoxyearBox=newJComboBox();
pane.add(yearBox);
程序运行结果如下:
五、程序分析题(总题数:
5,分数:
20.00)
32.阅读下面程序,写出程序运行结果。
classA
{
Bobj;
A()
{
obj=newB();
obj.print();
System.out.println("AAA");
}
classB
{
publicvoidprint()
{System.out.println("BBB");}
}
}
publicclassClass3202
{
publicstaticvoidmain(Stringarg[])
{Aobj=newA();}
}
(分数:
4.00)
__________________________________________________________________________________________
正确答案:
()
解析:
程序运行结果:
BBB
AAA
33.阅读下面程序,写出程序运行结果。
publicclassClass3302
{
staticpublicvoidmain(Stringargs[])
{
intfirstArray[]={1,2,3,4};
intSecondArray[]={5,6,7,8,9,10};
intmyArray[];
myArray=firstArray;
System.out.prindn("FirstArray:
");
for(intindex=0;index<myArray.length;index++)
{
System.out.println(myArray[index]);
}
myArray=secondArray;
System.out.pfintln("SecondArray:
");
for(intindex=0;index<myArray.length;index++)
{
System.out.println(myArray[index]);
}
}
}
(分数:
4.00)
__________________________________________________________________________________________
正确答案:
()
解析:
程序运行结果:
FirstArray:
1
2
3
4
SecondArray:
5
6
7
8
9
10
34.阅读下面程序,写出程序功能及当输入6和9时的运行情况。
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
publicclassClass3402implementsActionListener
{
JButtonbutt=newJButton("OK");
JTextFieldtext1=NewJTextField(10);
JTextFieldtext2=newJTextField(10);
JTextFieldtext3=newJTextField(10);
publicClass3402()
{
JFramemyWin=newJFrame("Class3402");
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Containercon=myWin.getContentPane();
con.setLayout(newGridLayout(4,1));
con.add(text1);con.add(text2);
con.add(butt);con.add(text3);
butt.addActionListener(this);
myWin.pack();
myWin.setVisible(true);
}
publicvoidactionPerformed(ActionEvente)
{
inta=Integer.parseInt(text1.getText());
intb=Integer.parseInt(text2.getText());
inti;
for(i=1;i<=a*b;i++)
{
if(i%a==0&&i%b==0)break;
}
text3.setText(String.valueOf(i));
}
publicstaticvoidmain(String[]args)
{
newClass3402();
}
}
(分数:
4.00)
__________________________________________________________________________________________
正确答案:
()
解析:
程序功能:
在应用程序窗口中的前两个文本框text1和text2中填入两个整数,单击OK按钮,在第三个文本框text3中将显示两个整数的最小公倍数。
当输入6和9时,单击OK按钮,在第三个文本框中显示18。
程序运行后的界面如下:
35.阅读下面程序,写出程序功能。
importjavax.swing.*;
importjava.awt.event.*;
publicclassClass3