Java练习题Word文档下载推荐.docx
《Java练习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Java练习题Word文档下载推荐.docx(32页珍藏版)》请在冰豆网上搜索。
C
9.在编写JavaApplication程序时,若需要使用到标准输入输出语句,必须在程序的开头写上()语句。
A、importjava.awt.*;
B、importjava.applet.Applet;
C、importjava.io.*;
D、importjava.awt.Graphics;
C
10.对于构造函数,下列叙述正确的是()。
A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
B、构造函数的返回类型只能是void型。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
ACD
11.下面的是关于类及其修饰符的一些描述,正确的是:
()。
A、abstract类只能用来派生子类,不能用来创建abstract类的对象。
B、final类不但可以用来派生子类,也可以用来创建final类的对象。
C、abstract不能与final同时修饰一个类。
D、abstract方法必须在abstract类中声明,但abstract类定义中可以没
有abstract方法。
12.若需要定义一个类域或类方法,应使用哪种修饰符?
A、staticB、packageC、privateD、public
13.若在某一个类定义中定义有如下的方法:
abstractvoidperformDial();
该方法属于()。
A、本地方法B、最终方法C、解态方法D、抽象方法
D
14.下列关于静态初始化器的叙述中,哪一个是正确的?
A、静态初始化器是在构造函数之前加上static修饰符。
B、静态初始化器是对类自身进行初始化。
C、静态初始化器在同一个类中只能有一个。
D、静态初始化器是在其所属的类加载内存时由系统自动调用执行。
BD
15.不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?
A、实例方法可以直接调用父类的实例方法。
B、实例方法可以直接调用父类的类方法。
C、实例方法可以直接调用其他类的实例方法。
D、实例方法可以直接调用本类的类方法。
16.设有下面两个类的定义:
classPerson{classStudentextendsPerson{
longid;
//身份证号intscore;
//入学总分
Stringname;
//姓名intgetScore(){
}returnscore;
}
问:
类Person和类Student的关系是()。
A、包含关系B、继承关系
C、关联关系D、无关系,上述类定义有语法错误
B、
17.设有下面的两个类定义:
classAA{
voidShow(){System.out.println(“我喜欢Java!
”);
}
classBBextendsAA{
voidShow(){System.out.println(“我喜欢C++!
则顺序执行如下语句后输出结果为:
AAa;
BBb;
a.Show();
b.Show();
A、我喜欢Java!
B、我喜欢C++!
我喜欢C++!
我喜欢Java!
C、我喜欢Java!
D、我喜欢C++!
18.设有下面的一个类定义:
classAA{
staticvoidShow(){System.out.println(“我喜欢Java!
classBB{voidShow(){System.out.println(“我喜欢C++!
}}
若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:
A、a.Show()B、AA.Show();
b.Show()BB.Show();
C、AA.Show();
D、a.Show();
b.Show();
BB.Show();
19.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序特性称为()。
A、隐藏B、覆盖C、重载D、Java不支持此特性
20.对于构造函数,下列叙述正确的是()。
A、构造函数也允许重载。
B、子类无条件地继承父类的无参构造函数。
C、子类不允许调用父类的构造函数。
D、在同一个类中定义的重载构造函数可以相互调用。
ABD
21.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。
A、privateB、protected
C、privateprotectedD、public
22.设有下面两个赋值语句:
a=Integer.parseInt(“1024”);
b=Integer.valueOf(“1024”).intValue();
下述说法正确的是()。
A、a是整数类型变量,b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且它们的值相等。
D、a和b都是整数类型变量并且它们的值相等。
23.在JavaApplet程序用户自定义的Applet子类中,常常重载()方法在Applet的界面中显示文字、图形和其它界面元素。
A、start()B、stop()
C、init()D、paint()
24.下面的语句的作用是:
VectorMyVector=newVector(100,50);
A、创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50。
B、创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50。
C、创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50
个元素空间单位递增。
D、创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50
25.在Java中,存放字符串常量的对象属于()类对象。
A、CharacterB、String
C、StringBufferD、Vector
26.在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是()包。
A、java.ioB、java.awt
C、java.appletD、java.awt.event
27.在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用()类的对象来实现。
A、LabelB、Button
C、TextAreaD、TextField
28.创建一个标识有“关闭”按钮的语句是()。
A、TextFieldb=newTextField(“关闭”);
B、Labelb=newLabel(“关闭”);
C、Checkboxb=newCheckbox(“关闭”);
D、Buttonb=newButton(“关闭”);
29.在编写异常处理的Java程序中,每个catch语句块都应该与()语句块对应,使得用该语句块来启动Java的异常处理机制。
A、if–elseB、switchC、tryD、throw
30.在编写JavaApplet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上()语句。
B、importjava.applet.*;
D、importjava.awt.event.*;
31.对于子类的构造函数说明,下列叙述中不正确的是()。
A、子类无条件地继承父类的无参构造函数。
B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函
数,但这个调用语句必须是子类构造函数的第一个可执行语句。
C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行
自己的构造函数。
D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
二、填空题。
1.一个复杂的应用系统必然包括有多个对象,这些对象间可能存在的关系有三种,它们是:
包含、继承和关联。
2.设x=2,则表达式(x++)*3的值是6。
3.若x=5,y=10,则x>
y和x<
=y的逻辑值分别为false和true。
4.顺序执行以下两个语句的输出结果是:
10。
Strings=“我喜欢学习Java!
”;
System.out.println(s.length());
5.据程序的构成和运行环境的不同,Java源程序分为两大类:
程序和JavaApplication、JavaApplet(或Application、Applet)程序。
6.如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生4个文件名与类名相同而扩展名为class的字节码文件。
7.开发与运行Java程序需要经过的三个主要步骤为编辑源程序、
编译生成字节码和解释运行字节码。
8.如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet类的子类并且存储该源程序文件的文件名必须为MyApplet.java。
9.一个JavaApplication源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令:
javacMyJavaApplication.java、
javaMyJavaApplication。
10.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码字符占用2字节内存空间,这样,无论是中文字符还是英文字符,每个都是占用2字节内存空间。
11.在Java程序中定义的类有两种成员:
域成员、方法成员。
12.Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。
在JavaApplication中,这个主类是指包含main方法的类;
在Java
Applet里,这个主类是一个系统类Applet的子类。
13.创建一个名为MyPackage的包的语句是packageMyPackage,
该语句应该放在程序的位置为:
应该在程序第一句。
14.抽象方法方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
最终方法方法是不能被当前
类的子类重新定义的方法。
15.形式参数指的是方法被定义时的参数行,实际参数是方法被调用
时所传递进去的变量或值。
16.多态是指一个程序中有多个同名的不同方法,在Java中有两种多态,一种是使用方法的覆盖实现多态,另一种是使用方法的重载实现多态。
17.在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。
18.子类重新定义一个与从父类那里继承来的域变量完全相同的变量,这种面向对象程序设计特性称为域的隐藏。
19.字符串分为两大类,一类是字符串常量,使用String类的对象表示;
另一类是字符串变量,使用StringBuffer类的对象表示。
20.设有数组定义:
intMyIntArray[]={10,20,30,40,50,60,70,80,90,100};
则执行以下几个语句后的输出结果是550。
ints=0;
for(inti=0;
i<
MyIntArray.length;
i++)
s+=MyIntArray[i];
System.out.println(s);
21.在Applet中,创建一个具有10行45列的多行文本区域对象ta的语句为:
TextAreata=newTextArea(10,45)
22.创建一个标识有“广西广播电视大学”字样的标签对象gxdd的语句为Labelgxdd=newLabel(“广西广播电视大学”);
创建一个标识有“关闭”字样的按钮对象gb的语句为Buttongb=newButton(“关闭”)。
三、写出下列程序完成的功能。
1.publicclassSum
{publicstaticvoidmain(Stringargs[])
{doublesum=0.0;
for(inti=1;
=100;
sum+=1.0/(double)i;
System.out.println("
sum="
+sum);
计算1/1+1/2+1/3+...+1/100的值。
2.importjava.io.*;
publicclassReverse
{publicstaticvoidmain(Stringargs[])
{inti,n=10;
inta[]=newint[10];
for(i=0;
n;
i++)
try{
BufferedReaderbr=newBufferedReader(
newInputStreamReader(System.in));
a[i]=Integer.parseInt(br.readLine());
//输入一个整数
}catch(IOExceptione){};
for(i=n-1;
i>
=0;
i――)
System.out.print(a[i]+"
"
);
System.out.println();
从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。
3.importjava.awt.*;
publicclassabc
{publicstaticvoidmain(Stringargs[])
{newFrameOut();
classFrameOutextendsFrame//Frame为系统定
{Buttonbtn;
//义的窗框类
FrameOut()
{super("
按钮"
btn=newButton("
按下我"
setLayout(newFlowLayout());
add(btn);
setSize(300,200);
show();
创建一个标题为"
的窗框,窗框中显示有"
字样的按钮。
4.importjava.io.*;
publicclassClass1
{
publicstaticvoidmain(Stringargs[]){
inti,Max,Min;
inta[]={12,67,8,98,23,56,124,55,99,100};
Max=Min=a[0];
for(i=1;
a.length;
i++){
if(a[i]<
Min)Min=a[i];
if(a[i]>
Max)Max=a[i];
System.out.println(Max+"
+Min);
在数组中查找并输出最大值和最小值。
5.publicclassABC
inti,j;
a.length-1;
intk=i;
for(j=i;
j<
a.length;
j++)
if(a[j]<
a[k])k=j;
inttemp=a[i];
a[i]=a[k];
a[k]=temp;
for(i=0;
i<
a.length;
i++)
System.out.print(a[i]+"
使用选择法对数组a的数据进行升序排序,然后输出排序后的结果。
6.importjava.io.*;
publicclassClass1{
publicstaticvoidmain(Stringargs[])
{
FactN=newFact(4);
System.out.println(N.fact());
classFact{
intn;
Fact(intnn){n=nn;
intfact(){
inti,f=1;
for(i=1;
=n;
f=f*i;
returnf;
}
定义一个计算n!
的类Fact,然后主类中创建一个对象求解4!
的值。
7.importjava.awt.*;
importjava.applet.Applet;
publicclassDrawMyImageextendsApplet
ImagemyImage;
//定义一个图像类Image的对象myImage
publicvoidinit()
{
myImage=getImage(getDocumentBase(),"
pica.jpg"
publicvoidpaint(Graphicsg)
g.drawImage(myImage,0,0,this);
在Applet界面中显示当前文件夹下名为“pica.jpg”的图像。
8.importjava.io.*;
publicstaticvoidmain(Stringargs[])
{SubClassa=newSubClass(10,3);
System.out.println(a.exp());
classSuperClass{
floatx;
intn;
SuperClass(floatxx,intnn){x=xx;
n=nn;
classSubClassextendsSuperClass{
SubClass(floatxx,intnn){super(xx,nn);
floatexp(){
floats=1;
for(inti=1;
i++)s=s*x;
returns;
}
定义一个计算xn的类,然后用该类求103的值。
9.importjava.awt.*;
publicclassApplet1extendsApplet
publicvoidpaint(Graphicsg)
g.drawLine(30,5,100,45);
g.drawRect(30,50,50,20);
g.drawOval(30,80,50,40);
g.drawString("
Theyarefigures!
"
30,150);
在Appl