java练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java基础模拟考试
姓名:班级:java13西职班成绩:
一、选择题(多选每题1分,共31分)。

1.编译Java 源程序文件产生的字节码文件的扩展名为( B )。

A、java
B、class
C、html
D、exe
2. main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的(B)?
A、public static void main()
B、public static void main( String args[] )
C、public static int main(String [] arg )
D、public void main(String arg[] )
3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。

A、static void method( )
B、public void method( )
C、final void method( )
D、abstract void method( )
4.下列哪个是合法的Java标识符?(B C)
A、Tree&Glasses
B、FirstJavaApplet
C、_$theLastOne
D、273.5
5.Java Application源程序的主类是指包含有(A)方法的类。

A、main方法
B、toString方法
C、init方法
D、actionPerfromed方法
6.Ja va的字符类型采用的是Unicode编码方案,每个Unicode码占用(B)个比特位。

A、8
B、16
C、32
D、64
7.设 a = 8,则表达式 a >>> 2 的值是( B )。

A、1
B、2
C、3
D、4
8.若a的值为3时,下列程序段被执行后,c的值是多少?(C )
c = 1;
if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4;
A、1
B、2
C、3
D、4
9.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头
写上( C )语句。

A、import java.awt.* ;
B、import java.applet.Applet ;
C、import java.io.* ;
D、import java.awt.Graphics ;
10.对于构造函数,下列叙述正确的是(A C D)。

A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。

B、构造函数的返回类型只能是void型。

C、构造函数的主要作用是完成对类的对象的初始化工作。

D、一般在创建新对象时,系统会自动调用构造函数。

11.下面的是关于类及其修饰符的一些描述,正确的是:(A C D)。

A、abstract类只能用来派生子类,不能用来创建abstract类的对象。

B、final类不但可以用来派生子类,也可以用来创建final类的对象。

C、abstract不能与final同时修饰一个类。

D、abstract方法必须在abstract类中声明,但abstract类定义中可以没
有abstract方法。

12.若需要定义一个类域或类方法,应使用哪种修饰符?(A)
A、static
B、package
C、private
D、public
13.若在某一个类定义中定义有如下的方法: abstract void performDial( );
该方法属于(D)。

A、本地方法
B、最终方法
C、解态方法
D、抽象方法
14.下列关于静态初始化器的叙述中,哪一个是正确的?(B D)
A、静态初始化器是在构造函数之前加上static修饰符。

B、静态初始化器是对类自身进行初始化。

C、静态初始化器在同一个类中只能有一个。

D、静态初始化器是在其所属的类加载内存时由系统自动调用执行。

15.不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?(D)
A、实例方法可以直接调用父类的实例方法。

B、实例方法可以直接调用父类的类方法。

C、实例方法可以直接调用其他类的实例方法。

D、实例方法可以直接调用本类的类方法。

16.设有下面两个类的定义:
class Person { class Student extends Person {
long id; // 身份证号 int score; // 入学总分
String name; // 姓名 int getScore(){
} return score;
}
}
问:类Person和类Student的关系是(B)。

A、包含关系
B、继承关系
C、关联关系
D、无关系,上述类定义有语法错误
17.设有下面的两个类定义:
class AA {
void Show(){ System.out.println(“我喜欢Java!”);
}
class BB extends AA {
void Show(){ System.out.println(“我喜欢C++!”);
}
则顺序执行如下语句后输出结果为:(A)
AA a; BB b;
a.Show();
b.Show();
A、我喜欢Java!
B、我喜欢C++!
我喜欢C++! 我喜欢Java!
C、我喜欢Java!
D、我喜欢C++!
我喜欢Java! 我喜欢C++!
18.设有下面的一个类定义:
class AA {
static void Show( ){ System.out.println(“我喜欢Java!”); }
}
class BB { void Show( ){ System.out.println(“我喜欢C++!”); } }
若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:(C) A、a.Show( ) B、AA.Show( );
b.Show( ) BB.Show( );
C、AA.Show( );
D、a.Show( );
b.Show( ); BB.Show( );
19.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序特性称为(C)。

A、隐藏
B、覆盖
C、重载
D、Java不支持此特性
20.对于构造函数,下列叙述正确的是(ABD)。

A、构造函数也允许重载。

B、子类无条件地继承父类的无参构造函数。

C、子类不允许调用父类的构造函数。

D、在同一个类中定义的重载构造函数可以相互调用。

21.在使用interface声明一个接口时,只可以使用(D)修饰符修饰该接口。

A、private
B、protected
C、private protected
D、public
22.设有下面两个赋值语句:
a = Integer.parseInt(“1024”);
b = Integer.valueOf(“1024”).intValue();
下述说法正确的是(A)。

A、a是整数类型变量,b是整数类对象。

B、a是整数类对象,b是整数类型变量。

C、a和b都是整数类对象并且它们的值相等。

D、a和b都是整数类型变量并且它们的值相等。

23.在Java Applet程序用户自定义的Applet子类中,常常重载( D )方法在Applet的界面中显示文字、图形和其它界面元素。

A、start( )
B、stop( )
C、init( )
D、paint( )
24.下面的语句的作用是:(D)。

Vector MyVector = new Vector(100,50);
A、创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50。

B、创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50。

C、创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50
个元素空间单位递增。

D、创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50
个元素空间单位递增。

25.在Java中,存放字符串常量的对象属于(B)类对象。

A、Character
B、String
C、StringBuffer
D、Vector
26.在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是(D)包。

A、java.io
B、java.awt
C、java.applet
D、java.awt.event
27.在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用(A)类的对象来实现。

A、Label
B、Button
C、TextArea
D、TextField
28.创建一个标识有“关闭”按钮的语句是( D )。

A、TextField b = new TextField(“关闭”);
B、Label b = new Label(“关闭”);
C、Checkbox b = new Checkbox(“关闭”);
D、Button b = new Button(“关闭”);
29.在编写异常处理的Java程序中,每个catch语句块都应该与( C )语句块对应,使得用该语句块来启动Java的异常处理机制。

A、if – else
B、switch
C、try
D、throw
30.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( D )语句。

A、import java.awt.* ;
B、import java.applet.* ;
C、import java.io.* ;
D、import java.awt.event.* ;
31.对于子类的构造函数说明,下列叙述中不正确的是(D)。

A、子类无条件地继承父类的无参构造函数。

B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函
数,但这个调用语句必须是子类构造函数的第一个可执行语句。

C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行
自己的构造函数。

D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。

二、填空题。

(每空1分,共39分)
1.一个复杂的应用系统必然包括有多个对象,这些对象间可能存在的关系有三种,它们是:_ _______ 、 __ _____ 和 ___ _____ 。

答:包含继承关联
2.设x = 2 ,则表达式 ( x + + ) * 3 的值是 ________ 。

答:6
3.若x = 5,y = 10,则x > y和x <= y的逻辑值分别为________和________。

答:flase true
4.顺序执行以下两个语句的输出结果是:________。

String s = “我喜欢学习Java!”;
System.out.println(s.length( ));
答:10
5.据程序的构成和运行环境的不同,Java源程序分为两大类:________程序和
________ 程序。

答:Java Application Java Applet
6.如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生________ 个文件名与类名相同而扩展名为 ________ 的字节码文件。

答:4 .class
7.开发与运行Java程序需要经过的三个主要步骤为 ________ 、
________ 和________ 。

答:编辑源程序编译生成字节码和解释运行字节码
8.如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 ________类的子类并且存储该源程序文件的文件名必须为 ________ 。

答:Applet MyApplet.java
9.一个Java Application源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序
执行如下两个命令:
________ 、
________ 。

答:javac MyJavaApplication.java; java MyJavaApplication
10.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码字符占用________ 字节内存空间,这样,无论是中文字符还是英文字符,每个都是占用________字节内存空间。

答:2 2
11.在Java程序中定义的类有两种成员:________ 、________。

答:变量方法
12. Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。

在Java Application中,这个主类是指包含________方法的类;在Java
Applet里,这个主类是一个系统类________ 的子类。

答:main Applet
13.创建一个名为 MyPackage 的包的语句是 ___________,
该语句应该放在程序的位置为:________ 。

答:package MyPackage; 第一句
14. _______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。

________ 方法是不能被当前类的子类重新定义的方法。

答:抽象最终
15.形式参数指的是方法被_____时的参数行,实际参数是方法被 _______
时所传递进去的变量或值。

答:定义调用
16.多态是指 ______________,在Java中有两种多态,一种是使用方法的_____ 实现多态,另一种是使用方法的________实现多态。

答:某个类型的引用变量引用子类的实例,而且对这个引用变量进行类型转换
重写重载
17.在Java程序中,通过类的定义只能实现_____ 重继承,但通过接口的定义可以实现________ 重继承关系。

答:单多
18.子类重新定义一个与从父类那里继承来的域变量完全相同的变量,这种面向对象程序设计特性称为域的________ 。

答:覆盖
19.字符串分为两大类,一类是字符串常量,使用________类的对象表示;另一类是字符串变量,使用________ 类的对象表示。

答:String StringBuffer
20.设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 }; 则执行以下几个语句后的输出结果是 ________ 。

int s = 0 ;
for ( int i = 0 ; i < MyIntArray.length ; i + + )
s += MyIntArray[i] ;
System.out.println( s );
答:550
三、阅读题(写出下列程序完成的功能)(每题3分,共12分)1. public class Sum
{ public static void main( String args[ ])
{ double sum = 0.0 ;
for ( int i = 1 ; i <= 100 ; i + + )
sum += 1.0/(double) i ;
System.out.println( "sum="+sum );
}
}
答:求1.0分别除以1到100之间的数后的和
2.import java.io.* ;
public class Reverse
{ public static void main(String args[ ])
{ int i , n =10 ;
int a[ ] = new int[10];
for ( i = 0 ; i < n ; i ++ )
try {
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
a[i] = Integer.parseInt(br.readLine( )); // 输入一个整数 } catch ( IOException e ) { } ;
for ( i = n-1 ; i >= 0 ; i ―― )
System.out.print(a[i]+" ");
System.out.println( );
}
}
答:从键盘中输入10个数,然后逆序排列
3. import java.io.*;
public class Class1
{
public static void main(String args[ ]){
int i , Max , Min ;
int a[ ] = { 12,67,8,98,23,56,124,55,99,100 };
Max = Min = a[0];
for ( i = 1 ; i < a.length; i ++ ) {
if ( a[i]<Min ) Min = a[i];
if ( a[i]>Max ) Max = a[i];
}
System.out.println( Max+" "+Min );
System.out.println( );
}
}
答:输出数组的最大值和最小值
4. public class ABC
{
public static void main(String args[ ]){
int i , j ;
int a[ ] = { 12,67,8,98,23,56,124,55,99,100 };
for ( i = 0 ; i < a.length-1; i ++ ) {
int k = i;
for ( j = i ; j < a.length ; j++ )
if ( a[j]<a[k] ) k = j;
int temp =a[i];
a[i] = a[k];
a[k] = temp;
}
for ( i =0 ; i<a.length; i++ )
System.out.print(a[i]+" ");
System.out.println( );
}
}
答:将数组里的按元素从小到大排列输出
四、写出下面程序的运行结果。

(每题3分,共18分)
1.import java.io.*;
public class abc
{ public static void main(String args[ ])
{ AB s = new AB("Hello!","I love JAVA.");
System.out.println(s.toString( ));
}
}
class AB {
String s1;
String s2;
AB( String str1 , String str2 )
{ s1 = str1; s2 = str2; }
public String toString( )
{ return s1+s2;}
}
答:Hello!I love JAVA.
2.import java.io.* ;
public class abc
{
public static void main(String args[ ])
{ int i , s = 0 ;
int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }; for ( i = 0 ; i < a.length ; i ++ )
if ( a[i]%3 = = 0 ) s += a[i] ;
System.out.println("s="+s);
}
}
答:s=180
3. import java.io.* ;
public class abc
{
public static void main(String args[ ])
{ SubSubClass x = new SubSubClass(10 , 20 , 30); x.show();
}
}
class SuperClass
{ int a,b;
SuperClass(int aa , int bb)
{ a=aa; b=bb; }
void show( )
{ System.out.println("a="+a+"\nb="+b); }
}
class SubClass extends SuperClass
{ int c;
SubClass(int aa,int bb,int cc)
{ super(aa,bb);
c=cc;
}
}
class SubSubClass extends SubClass
{ int a;
SubSubClass(int aa,int bb,int cc)
{ super(aa,bb,cc);
a=aa+bb+cc;
}
void show()
{ System.out.println("a="+a+"\nb="+b+"\nc="+c); }
}
答:a=60
b=20
c=30
4. import java.io.*;
public class abc
{
public static void main(String args[])
{
String s1 = "Hello!";
String s2 = new String("World!");
System.out.println(s1.concat(s2));
}
}
答:Hello!World!
5. import java.io.* ;
public class ABC
{
public static void main(String args[ ])
{ int i ;
int a[ ] = { 11,22,33,44,55,66,77,88,99 };
for ( i = 0 ; i <= a.length / 2 ; i ++ )
System.out.print( a[i]+a[a.length-i-1]+" "); System.out.println( );
}
}
答:110 110 110 110 110
6. import java.io.*;
class Parent
{
void printMe()
{
System.out.println("parent");
}
}
class Child extends Parent
{
void printMe()
{
System.out.println("child");
}
void printAll()
{
super.printMe();
this.printMe();
printMe();
}
}
public class Class1
{
public static void main(String args[ ]) {
Child myC = new Child( );
myC.printAll( );
}
}
答:parent
child
child。

相关文档
最新文档