Java语言程序设计模拟题.docx
《Java语言程序设计模拟题.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计模拟题.docx(17页珍藏版)》请在冰豆网上搜索。
Java语言程序设计模拟题
《Java语言程序设计》模拟题(补)
一.单项选择题
1.关于Java语言叙述错误的是:
()。
A.Java语言具有跨平台性
B.Java是一种面向对象的语言
C.Java语言中的类可以多继承
D.Java的垃圾收集机制自动回收程序已不再使用的对象
2.关于类和对象的叙述正确的是:
()。
A.Java的类分为两大部分:
系统定义的类和用户自定义的类
B.类的静态属性和全局变量的概念完全一样,只是表达形式不同
C.类的成员至少有一个属性和一个方法
D.类是对象的实例化
3.下列属于容器的组件有:
()。
A.JButtonB.JPaneC.CanvasD.JTextArea
4.在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?
()。
A.ActionListenerB.MouseListener
C.MouseMotionListernD.ItemListener
5.paint()方法使用哪种类型的参数?
()
A.GraphicsB.Graphics2DC.StringD.Color
6.A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明:
1.Aa0=newA();
2.Aa1=newB();
3.Aa2=newC();
问以下哪个说法是正确的?
()
A.只有第1行能通过编译
B.第1、2行能通过编译,但第3行编译出错
C.第1、2、3行能通过编译,但第2、3行运行时出错
D.第1行、第2行和第3行的声明都是正确的
7.类Test1定义如下:
1.publicclassTest1{
2.publicfloataMethod(floata,floatb){}
3.
4.}
将以下哪种方法插入行3是不合法的。
()
A.publicfloataMethod(floata,floatb,floatc){}
B.publicfloataMethod(floatc,floatd){}
C.publicintaMethod(inta,intb){}
D.privatefloataMethod(inta,intb,intc){}
8.应用程序的main方法中有以下语句,则输出的结果是()。
Strings="12345#aaa#bbb#67890";
intn=s.indexOf("#");
intk=s.indexOf("#",n+1);
intm=s.indexOf("#",k+1);
Strings2=s.substring(m+1);
System.out.println(s2);
A.123456B.67890C.aaaD.bbb
9.在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行()。
A.init()B.start()C.destroy()D.stop()
10.如下哪个是Java中的标识符()?
A.publicB.superC.3numberD.width
11.设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。
A.3B.3.5C.4D.5
12.在下述Java语言语句中,错误的创建数组的方法是()。
A.intintArray[];intArray=newint[5];B.intintArray[]=newint[5];
C.int[]intArray={1,2,3,4,5};D.intintArray[5]={1,2,3,4,5};
13.以下语句有语法错的是:
()。
A.intx=1;y=2;z=3B.for(intx=10,y=0;x>0;x++);
C.while(x>5);D.for(;;);
14.下列类定义中,不正确的是()。
A.classx{....}
B.classxextendsy{....}
C.staticclassximplementsy1,y2{....}
D.publicclassxextendsApplet{....}
15.在创建对象时必须()。
A.先声明对象,然后才能使用对象
B.先声明对象,为对象分配内存空间,然后才能使用对象
C.先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
D.上述说法都对
16.以下关于构造函数的描述错误的是()。
A.构造函数的返回类型只能是void型。
B.构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C.构造函数的主要作用是完成对类的对象的初始化工作。
D.一般在创建新对象时,系统会自动调用构造函数。
二.判断题
1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
()
2.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。
()
3.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。
()
4.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
()
5.Java程序从编写到执行的整个过程为:
Java源程序→编译成字节码→解释执行。
()
6.一个类只能有一个父类,同样,一个类只能实现一个接口。
()
7.在Java语言中,关键字final修饰一个类后,该类就不能派生出子类。
()
8.类体中只能有变量定义和成员方法的定义,不能有其他语句。
()
9.一个源文件里可以有多个class声明。
()
10.Java程序里,创建新的类对象用关键字new。
()
11.Java源程序文件的扩展名是.java.每个类都编译为单独的字节码文件,它的文件名与类名相同,扩展名为.class。
()
12.一个源文件里只能有一个class用public修饰。
()
13.子类方法和父类方法在形式上参数列表不同,就构成了覆盖。
()
14.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法,不能包含带有方法体的具体方法。
()
15.publicstaticfinalinti=10定义一个整数类型的公共常量。
()
三.填空题
1.面向对象程序设计所具有的基本特征是:
抽象性,封装性,,多态性。
2.定义接口的保留字是。
3.数组x定义如下intx[][]=newint[3][2],则x..length的值为。
4.若x=5,y=10,则x5.若有类定义:
classBextendsA{…},则类B是类A的。
6.Applet常用的方法是:
init()、run()、和destroy()。
7.在Java程序中,通过接口的定义可以实现重继承关系。
8.在子类中使用关键字做前缀可调用被子类覆盖的父类中的方法。
9.开发与运行Java程序需要经过的三个主要步骤为编辑源程序、和解释运行字节码。
10.如果将类MyClass声明为public,它的文件名称必须是才能正常编译。
11.在Java中定义一个字符串类型的变量str的语句是:
。
12.方法是不能被当前类的子类重新定义的方法。
13.在Java程序中,通过类的定义只能实现重继承。
14.设有数组定义:
intMyIntArray[]={10,20,30,40,50,60,70};则执行以下几个语句后的输出结果是。
ints=0;
for(inti=0;iif(i%2==1)
s+=MyIntArray[i];
System.out.println(s);
四.简答题
1.写出下面程序的运行结果。
importjava.io.*;
publicclassabc
{
publicstaticvoidmain(Stringargs[])
{
ABs=newAB("Hello!
","IloveJAVA.");
System.out.println(s.toString());
}
}
classAB{
Strings1;
Strings2;
publicAB(Stringstr1,Stringstr2)
{
s1=str1;
s2=str2;
}
publicStringtoString()
{
returns1+s2;
}
}
2.写出以下程序的功能。
importjava.io.*;
publicclassTestFile
{
publicstaticvoidmain(Stringargs[])throwsException
{
BufferedReaderbr=newBufferedReader(
newInputStreamReader(System.in));
BufferedWriterbw=newBufferedWriter(newFileWriter(“input.txt"));
Strings;
while(true)
{
System.out.print("请输入一个字符串:
");
System.out.flush();
s=br.readLine();
if(s.length()==0)break;
bw.write(s);
bw.newLine();
}
bw.close();
}
}
3.写出下列程序的运行结果是。
publicclassMyClass{
inta[]={1,2,3,4,5};
voidout(){
for(intj=0;jSystem.out.print(a[j]+"");
}
publicstaticvoidmain(String[]args){
MyClassmy=newMyClass();
my.out();
}
}
4.写出程序的运行结果。
classParent{
privatevoidmethod1(){
System.out.println(″Parent′smethod1()″);
}
publicvoidmethod2(){
System.out.println(″Parent′smethod2()″);
method1();
}
}
classChildextendsParent{
publicvoidmethodl(){
System.out.println(″Child′smethod1()″);
}
publicstaticvoidmain(Stringargs[]){
Parentp=newChild();
p.method2();
}
}
5.写出程序的运行结果。
publicclassA{
intm=5;
staticintn=3;
publicstaticvoidmain(String[]args){
Aobj1=newA();
Aobj2=newA();
obj1.m*=2;
obj1.n*=4;
obj2.m+=1;
obj2.n+=6;
System.out.println("obj1.m="+obj1.m);
System.out.println("obj1.n="+obj1.n);
System.out.println("obj2.m="+obj2.m);
System.out.println("obj2.n="+obj2.n);
}
}
6.阅读下列程序,请写出该程序的功能。
importjava.awt.*;
importjavax.swing.*;
importjava.applet.*;
importjava.awt.event.*;
publicclassClasslextendsAppletimplementsActionListener{
JTextFieldText1=newJTextField(5);
JTextFieldText2=newJTextField(5);
JTextFieldText3=newJTextField(5);
JLabelLabel1=newJLabel("Pleaseinputthreenumbers:
");
JLabelLabel2=newJLabel("");
JButtonbut=newJButton("Start!
");
publicvoidinit(){
setLayout(newGridLayout(6,1));
add(Label1);
add(Textl);
add(Text2);
add(Text3);
add(but);
add(Label2);
Label2.setFont(newFont("Courier",1,20));
but.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente){
inta,b,c;
a=Integer.parseInt(Text1.getText());
b=Integer.parselnt(Text2.getText());
c=Integer.parselnt(Text3.getText());
if(a+bLabel2.setForeground(Color.red);
Label2.setFont(newFont("Courier",1,24));
Label2.setText("No.");
}else{
Label2.setForeground(Color.blue);
Label2.setFont(newFont("Courier",2,24));
Label2.setText("Yes.");
}
}
}
五、程序设计题
1.按以下要求编写程序
(1)编写Animal接口,接口中声明run()方法
(2)定义Bird类和Fish类实现Animal接口
(3)编写Bird类和Fish类的测试程序,并调用其中的run()方法。
2.编写一个Frame框架应用程序,要求如下:
(1)在窗口设置两个菜单“文件”、“编辑”
(2)在“文件”菜单里添加三个菜单项“打开”、“保存”、“关闭”
(3)在“编辑”菜单里添加两个菜单项“复制”、“粘贴”
(4)点击关闭菜单项时,使程序关闭。
参考答案:
一.单项选择题
1
2
3
4
5
6
7
8
C
A
B
D
A
D
C
B
9
10
11
12
13
14
15
16
A
D
A
D
A
C
C
A
二.判断题
1
2
3
4
5
6
7
8
√
╳
√
╳
√
╳
√
√
9
10
11
12
13
14
15
√
√
√
√
╳
╳
√
三.填空题
1.继承性2.Interface3.34.True5.子类6.stop()7.多8.super
9.编译生成字节码10.MyClass11.Stringstr;12.最终(final)13.单
14.120
四.简答题
1.Hello!
IloveJAVA.
2.从键盘逐一输入字符串,逐一输出至input.txt文件中,直至输入空行。
3.12345
4.Parent′smethod2()Parent′smethod1()
5.obj1.m=10obj1.n=18obj2.m=6obj2.m=18
6.在文本框中输入3个数字,单击“Start”按钮,如果该3个数字是能作为三角形的边
长,则输出“Yes”,否则输出“No”。
五.程序设计题
1.
publicinterfaceAnimal{
voidrun();
}
classBirdimplementsAnimal{
publicvoidrun(){
System.out.println("鸟儿在飞...");
}
}
classFishimplementsAnimal{
publicvoidrun(){
System.out.println("鱼儿在游...");
}
}
publicclassTestAnimal{
publicstaticvoidmain(String[]args){
Birdbird=newBird();
bird.run();
Fishfish=newFish();
fish.run();
}
}
2.
importjava.awt.Color;
importjava.awt.Frame;
importjava.awt.Menu;
importjava.awt.MenuBar;
importjava.awt.MenuItem;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
/*
*主窗体
*/
publicclassMyFrameextendsFrame{
privatestaticfinallongserialVersionUID=6895463895656626294L;
privateFramefrmMain;//窗体
MenuBarmb;//菜单栏
MenumnuFile;//"文件"菜单
MenumnuEdit;//"编辑"菜单
MenuItemmiOpen;//"打开"菜单项
MenuItemmiSave;//"保存"菜单项
MenuItemmiClose;//"关闭"菜单项
MenuItemmiCopy;//"复制"菜单项
MenuItemmiPaste;//"粘贴"菜单项
publicMyFrame(){
frmMain=newFrame("主窗体");
//创建菜单栏
mb=newMenuBar();
//创建菜单
mnuFile=newMenu("文件");
mnuEdit=newMenu("编辑");
//创建菜单项
miOpen=newMenuItem("打开");
miSave=newMenuItem("保存");
miClose=newMenuItem("关闭");
miCopy=newMenuItem("复制");
miPaste=newMenuItem("粘贴");
}
publicvoidshowFrame(){
frmMain.setSize(800,600);
frmMain.setLocation(100,100);
frmMain.setBackground(Color.white);
frmMain.setVisible(true);
frmMain.setLayout(null);
frmMain.addWindowListener(newWindowHandler());//注册窗口监听器
//将菜单栏放入窗体中
frmMain.setMenuBar(mb);
//将菜单放入菜单栏中
mb.add(mnuFile);
mb.add(mnuEdit);
//将菜单项放入菜单中
mnuFile.add(miOpen);
mnuFile.add(miSave);
mnuFile.add(miClose);
mnuEdit.add(miCopy);
mnuEdit.add(miPaste);
//注册动作事件监听器
miClose.setActionCommand("miClose_Clicked");
miClose.addActionListener(newMenuHandler());
}
//定义一个内部类,在这个类中编写窗口关闭事件处理程序。
privateclassWindowHandlerextendsWindowAdapter{
publicvoidwindowClosing(WindowEvente){
System.exit(0);//退出应用程序,状态码0表示正常终止,非0表示异常终止。
}
}
//定义一个内部类,在这个类中编写动作事件处理程序。
privateclassMenuHandlerimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
if(e.getActio