Java语言程序设计一自考题模拟10.docx
《Java语言程序设计一自考题模拟10.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计一自考题模拟10.docx(21页珍藏版)》请在冰豆网上搜索。
Java语言程序设计一自考题模拟10
Java语言程序设计
(一)自考题模拟10
(总分:
100.00,做题时间:
90分钟)
一、第Ⅰ部分选择题(总题数:
10,分数:
10.00)
1.在Java中,表示换行符的转义字符是______
(分数:
1.00)
A."/n" √
B."/f"
C."n"
D."/dd"
解析:
[考点]本题主要考查的知识点为Java的转义字符。
Java的转义字符以“/”开头,后跟特定字母或数字。
2.以下程序代码的输出结果是______
shorti=10,j,k=20;
j=k+i++;
System.out.print(j);
(分数:
1.00)
A.30
B.31
C.出错 √
D.11
解析:
[考点]本题主要考查的知识点为Java运算符。
对于使用类型为byte或者short变量的算术表达式,其计算方式与使用int型变量相同,都是进行32位算术运算,结果也是32位整数。
本题编译器无法把32位整数存储到只有16位长的变量中。
3.以下关于Java语言中常用运算符语义的叙述中,错误的是______
(分数:
1.00)
A.在Java语言中“=”和“==”所表示的语义是相同的 √
B.赋值运算符结合性“自右至左”,当连续有多个赋值运算时,是从右至左逐个赋值
C.算术运算有单日运算和双目运算
D.“++”和“--”用前缀形式或用后缀形式,对变量本身来说效果是相同的,但表达式的值却不相同
解析:
[考点]本题主要考查的知识点为Java语言不同运算符语义。
“=”和“==”语义不同,前者是赋值运算符,后者是关系运算符。
4.以下程序代码的输出结果是______
System.out.println(19%6);
(分数:
1.00)
A.3
B.4
C.1 √
D.2
解析:
[考点]本题主要考查的知识点为Java语言%运算符。
表达式19%6是计算19除以6的余数,商为3余数为1。
5.在Java语言中,程序包声明语句为______
(分数:
1.00)
A.import包名;
B.package包名; √
C.import包名.类名;
D.package包名.类名;
解析:
[考点]本题主要考查的知识点为Java语言的程序包声明。
程序包声明称为package语句,格式为:
package包名;。
6.在Java语言中,不能作为容器的是______
(分数:
1.00)
A.JDialog
B.JFrame
C.JTextArea √
D.JPanel
解析:
[考点]本题主要考查的知识点为Java容器。
文本区(JTextArea)是窗体中一个放置多行文本的区域,它不是容器,使用javax.swing.JTextArea类来建立文本区,JTextArea组件没有事件。
7.在JavaApplet程序中,对发生的事件做出响应和处理的时候,应该使用下列哪个语句______
(分数:
1.00)
A.importjava.awt.*;
B.importjava.applet.*;
C.importjava.awt.event.*; √
D.importjava.io.*;
解析:
[考点]本题主要考查的知识点为Java引入相关类。
java.awt包是抽象窗口工具包,里面包括各种容器、组件、窗口布局管理器以及一些常用的类如Color、Font等;java.applet包里面包括了小程序执行时必须要重载的一个类Applet,也只有这一个类;java.io包主要是提供一些输入/输出类;java.awt.event包里面包括了一些能够对事件做出响应和处理的一些标准类。
8.Java语言编写事件处理程序主要有两种方案:
一个方案是程序重设方法,另一个方案是______
(分数:
1.00)
A.程序实现一些系统设定的基本类
B.程序实现一些自定义的基本类
C.程序实现一些系统设定的接口 √
D.程序实现一些自定义的接口
解析:
[考点]本题主要考查的知识点为Java语言实现事件处理的途径。
Java语言编写事件处理程序主要有两种方案:
一个方案是程序重设方法,采用这个方案的程序工作量稍大一些。
另一个方案是程序实现一些系统设定的接口。
9.为8位字节流数据提供读操作支持的类是______
(分数:
1.00)
A.FileInputStream √
B.FileOutputStrem
C.FileReader
D.FileWriter
解析:
10.以下关于JScrollPane的叙述,错误的是______
(分数:
1.00)
A.JScrouPane是带有滚动条的面板
B.JScrollPane是Container类的子类,也是一种容器
C.在JscrollPane面板中,根据需要可以添加若干个组件 √
D.JScrollPane的一般用法是先将一些组件添加到一个JPanel中,然后再把这个JPanel添加到JScrollPane中
解析:
[考点]本题主要考查的知识点为Java中的JscrollPane面板。
JscrollPane面板是Container类的子类,也是一种容器,但是只能添加一个组件。
二、第Ⅱ部分非选择题(总题数:
10,分数:
20.00)
11.Java语言中,逻辑类型用关键字1标识,也称布尔类型。
(分数:
2.00)
解析:
Boolean
12.以下程序代码的输出结果是1。
System.out.println(5>4||3<4);
(分数:
2.00)
解析:
true
13.在Java程序中,关键字1用来指对象自己。
(分数:
2.00)
解析:
this
14.在Java语言中,一个对象通过调用1方法可以获得该对象的字符串表示。
(分数:
2.00)
解析:
toString()
15.采用1布局的容器中多个组件拥有同一个显示空间,某一时刻只能显示一个组件。
(分数:
2.00)
解析:
CardLayout
16.Java语言为处理鼠标事件提供了两个接口,其中1接口能处理鼠标拖动和鼠标移动两种事件。
(分数:
2.00)
解析:
MouseMotionListener
17.创建对象就是为对象分配内存,为对象分配内存也称类的1。
(分数:
2.00)
解析:
实例化
18.Java程序能实现多线程并行执行,为了让一个线程暂停执行,其他线程有机会被执行,可对要暂停的线程执行1方法。
(分数:
2.00)
解析:
sleep()
19.调用1方法能统计出字符串分析器中一共有多少个单词。
(分数:
2.00)
解析:
countTokens()
20.1方法是Component类中定义的方法,界面组织通过覆盖定义该方法确定界面组件的大小。
当布局管理器在安排组件的布局时,就会调用该方法来确定组件的大小。
(分数:
2.00)
解析:
getPreferredSize()
三、简答题(总题数:
6,分数:
18.00)
21.用一个Java语句完成下面的要求:
先把变量a与b的差赋值给变量c,再把变量b的值减1。
(分数:
3.00)
__________________________________________________________________________________________
正确答案:
()
解析:
c=a-(b--);或c=a-b--;
22.阅读下面程序,如果在横线上分别填写
(1)i=m
(2)i=b(3)i=p.a(4)i=p.change(100)四个赋值语句,有哪些不合法?
请写出原因。
classClass2201
{
privateinta;
publicintchange(intm){returnm;}
}
publieclassClass22extendsPerson
{
publicintb;
publicstaticvoidmain(String[]args)
{
Class2201p=newClass2201();
Class22t=newClass22();
inti;
______;
}
}
(分数:
3.00)
__________________________________________________________________________________________
正确答案:
()
解析:
(1)不合法:
m在Class22中没有声明过,不能使用。
(2)不合法:
b是非静态成员,不能在静态方法main()中使刚。
(3)不合法:
a是Class2201类的private成员,不能在Class2201类外直接访问。
(4)合法。
23.文本框(JTextField)是界面中用于输入和输出一行文本的区域。
文本框处理程序的基本内容有哪五个方面?
(分数:
3.00)
__________________________________________________________________________________________
正确答案:
()
解析:
(1)声明一个文本框名。
(2)建立一个文本框对象。
(3)将文本框对象加入到某个容器。
(4)对需要控制的文本框对象注册监视器,监听文本框的输入结束事件(即输入回车键)。
(5)一个处理文本框事件的方法,完成对截获事件进行判断和处理。
24.请写一条语句,实现用预定的颜色填充一个突出显示的矩形色块,其中矩形左上角坐标为(200,100),右下角坐标为(400,500),调用的是类型为Graphics的g对象。
(分数:
3.00)
__________________________________________________________________________________________
正确答案:
()
解析:
g.fill3DReet(200,100,200,400,true);
25.请写出要实现MouseListener接口的五个方法?
(分数:
3.00)
__________________________________________________________________________________________
正确答案:
()
解析:
(1)mousePressed(MouseEvent),负责处理鼠标按下事件。
(2)mouseReleased(MouseEvent),负责处理鼠标释放事件。
(3)mouseEntered(MouseEvent),负责处理鼠标进入容器事件。
(4)mouseExited(MouseEvent),负责处理鼠标离开容器事件。
(5)mouseClieked(MouseEvent),负责处理鼠标点击事件。
26.能够创建一个URL对象url,使得url能够访问资源http:
//localost:
80/index.htm,请写出一条语句。
(分数:
3.00)
__________________________________________________________________________________________
正确答案:
()
解析:
URLurl=newURL("http:
//localost:
80/index.htm");
四、程序填空题(总题数:
5,分数:
20.00)
27.回文整数是指正读和反读都一样的整数。
方法f2705(intn)的功能是判断十进制整数n是否为回文整数。
例如:
n=123321,该方法返回值为true;n=123,该方法返回值为false。
booleanf2705(intn)
{
IntegerM=n;
Strings=1;
inti=0;
while(i<s.length()/2)
{
Strings1,s2;
s1=s.substring(i,i+1);
s2=s.substring(s.length()-i-1,s.length()-i);
if(!
(2))break;
i++;
}
if(i<s.length()/2)returnfalse;
elsereturntrue;
}
(分数:
4.00)
解析:
M.toString()
s1.equals(s2)
28.程序运行结果如下图:
五个按钮按照紧凑方式显示在窗口中。
importjava.awt.*;
importjavax.swing.*;
publicclassClass2805
{
publicstaticvoidmain(String[]args)
{
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myWin.setBounds(100,200,400,200);
Containercon=myWin.getContentPane();
con.setBackground(Color.red);
con.setLayout(newFlowLayout());
JButtonbutton[]=newJButton[5];
for(inti=0;i<5;i++)
{
button[i]=newJButton("第"+(i+1)+"个按钮");
con.add(button[i]);
}
1
myWin.setVisible(true);
}
}
(分数:
4.00)
解析:
JFramemyWin=newJFrame("Class2805");
myWin.pack();
29.以下程序产生一个确认对话框。
importjavax.swing.*;
publicclassClass2905
{
publicstaticvoidmain(String[]args)
{
JFramemyWin=newJFrame();
myWin.setBounds(100,100,200,300);
myWin.setVisible(true);
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
intresule=1.2(myWin,"确实要退出吗?
","退出确认",0);
System.out.println(resule);
}
}
(分数:
4.00)
解析:
JOptionPane
showConfirmDialog
30.下面应用程序段将两个标签放入窗口中的左右两个区域。
完成以下代码,实现上述功能。
importjava.awt.*;
importjavax.swing.*;
publicclassMyWin1
{
publicstaticvoidmain(Stringargs[])
{
JLabelp1,p2;
JFramemyWin=1("我的窗口");
myWin.setSize(300,400);
Containercon=myWin.getContentPane();
con.setLayout(newBorderLayout());
p1=newJLabel("左");
p2=newJLabel("右");
con.add(p1,"West");
2
myWin.setVisible(true);
}
}
(分数:
4.00)
解析:
newJFrane
con.add(p2,"East");
31.下面程序段是用Thread子类实现多线程(其中ThreadB与ThreadA非常相似,未给出)。
importjava.util.Date;
publicclassClass3105
{
classThreadAextendsThread
{
publicvoidrun()
{
DatetimeNow;
for(inti=0;i<=5;i++)
{
timeNow=newDate();
System.out.println("A"+timeNow.toString());
try{sleep(2000);}
catch(InterruptedExceptione){}
}
}
}
classThreadBextendsThread
{............
............
}
publicClass3105()
{
ThreadAthreadA=1
ThreadBthreadB=newThreadB();
threadA.start();
2
}
publicstaticvoidmain(String[]args)
{
newClass3105();
}
}
(分数:
4.00)
解析:
newThreadA();
threadB.start();
五、程序分析题(总题数:
5,分数:
20.00)
32.阅读下列程序,写出运行结果。
publicclassClass3205
{
publicstaticvoidmain(String[]args)
{
Stringstr1="abc";
Stringstr2="Abc";
Stringstr3="abc";
Stringstr4=newString("abc");
System.out.println(str1==str2);
System.out.println(str1.equals(str2));
System.out.println(str1==str3);
System.out.println(str1.equals(str3));
System.out.println(str1==str4);
System.out.println(str1.equals(str4));
}
}
(分数:
4.00)
__________________________________________________________________________________________
正确答案:
()
解析:
程序运行结果:
false
false
true
true
false
true
33.阅读下列程序,写出程序运行结果。
publicclassClass3305
{
publicstaticvoidmain(Stringargs[])
{
byteb[]=newbyte[10];
for(intk=0;k<10;k++)
b[k]=(byte)(k+48);
Strings1=newString(b);Strings2=newString(b,3,6);
Strings3=newString("ABC");Strings4=newString("JAVA程序");
bytee[]=s3.getBytes();byted[]=s4.getBytes();
System.out.println(s2);
System.out.println(s3);
System.out.println(c.length);
System.out.println(d.length);
}
}
(分数:
4.00)
__________________________________________________________________________________________
正确答案:
()
解析:
程序运行结果:
345678
ABC
3
8
34.阅读下列程序,写出程序功能。
importjavax.swing.*;
importjava.awt.event.*;
publicclassClass3405extendsJFrameimplementsActionListener
{
publicJFramemw1,mw2;
publicClass3405()
{
JButtonbutt1=newJButton("我是一个按钮");
butt1.setActionCommand("b1");
JButtonbutt2=newJButton("我是另一个按钮");
butt2.setActionCommand("b2");
butt1.addActionListener(this);
butt2.addActionListener(this);
Stringname1="我的第一个窗口";
Stringname2="我的第二个窗口";
mw1=newJFrame(name1);mw1.setSize(500,500);
mw2=newJFrame(name2);mw2.setSize(300,300);
mw1.getContentPane().add(butt1);
mw2.getContentPane().add(butt2);
mw1.setVisible(true);mw2.setVisible(true);
}
publicvoidactionPerformed(ActionEvente)
{
booleanyesNo;
if(e.getActionCommand().equals("b1"))
{
yesNo=!
mw2.isVisible();
mw2.setVisible(yesNo);
}
else
{
yesNo=!
mw1.isVisible();
mw1.setVisible(yesNo);
}
}
publicstaticvoidmain(String[]args)
{
newClass3405();
}
}
(分数:
4.00)
__________________________________________________________________________________________
正确答案:
()
解析:
应用程序运行后,出现两个窗口,每个窗口中各有一个按钮,单击其中的一个窗口的按钮可使另一个窗口显示和隐藏。
35.阅读下列程序,写出程序功能。
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publi