Java测试题_1
一、选择题
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、 若a的值为3时,下列程序段被执行后,c的值是多少?( C )
int c = 1;
if ( a>0 )
if ( a>3 )
c = 2;
else
c = 3;
else
c = 4;
A、1 B、2 C、3 D、4
7、 对于构造方法,下列叙述正确的是( ACD )。
A、构造方法是类的一种特殊方法,它的方法名必须与类名相同。
B、构造方法的返回类型只能是void型。
C、构造方法的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造方法。
8、 下面的是关于类及其修饰符的一些描述,正确的是:( A C )。
A、abstract类只能用来派生子类,不能用来创建abstract类的对象。
B、final类不但可以用来派生子类,也可以用来创建final类的对象。
C、abstract不能与final同时修饰一个类。
D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。
9、 若需要定义一个类,应使用哪种修饰符?(ACD )
A、static B、package C、private D、public
10、若在某一个类定义中定义有如下的方法:abstract void performDial( );该方法属于( D )。
A、本地方法 B、最终方法 C、解态方法 D、抽象方法
11、设有下面两个类的定义:
class Person { class Student extends Person {
long id; // 身份证号 int score; // 入学总分
String name; // 姓名 int getScore(){
} return score;
}
}
问:类Person和类Student的关系是( B )。
A、包含关系 B、继承关系
C、关联关系 D、无关系,上述类定义有语法错误
12、设有下面的两个类定义:
class AA {
void show()
{
System.out.println("我喜欢Java!");
}
}
class BB extends AA {
void show()
{
System.out.println("我喜欢C++!");
}
}
则顺序执行如下语句后输出结果为:( )
AA a; BB b;
a.Show(); b.Show();
A、 我喜欢Java! B、 我喜欢C++!
我喜欢C++! 我喜欢Java!
C、 我喜欢Java! D、 我喜欢C++!
我喜欢Java! 我喜欢C++!
13、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( )。
A、隐藏 B、覆盖 C、重载 D、Java不支持此特性
14、对于构造函数,下列叙述正确的是( )。
A、构造函数也允许重载。
B、子类无条件地继承父类的无参构造函数。
C、子类不允许调用父类的构造函数。
D、在同一个类中定义的重载构造函数可以相互调用。
15、在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。
A、private B、protected
C、private protected D、public
16、设有下面两个赋值语句:
a = Integer.parseInt("1024");
b = Integer.valueOf("1024").intValue();
下述说法正确的是( D )。
A、a是整数类型变量,b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且它们的值相等。
D、a和b都是整数类型变量并且它们的值相等。
17、在Java中,存放字符串常量的对象属于( B )类对象。
A、Character B、String
C、StringBuffer D、Vector
二、填空题
1、 Java程序分为那两类:_____Application_______________________和________Applet__________________。
2、 设x = 2 ,则表达式 ( x + + ) * 3 的值是_____6_____________。
3、 若x = 5,y = 10,则x > y和x <= y的逻辑值分别为_false________和_____true_____。
4、 顺序执行以下两个语句的输出结果是:_______10____________。
String s = "我喜欢学习Java!";
System.out.println(s.length( ));
5、 如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生_3___个文件名与类名相同而扩展名为___class_____的字节码文件。
6、 一个Java Application源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令:_________________________________________、___________________________________________。
7、 在Java程序中定义的类有两部分组成,分别是:_______属性__________、_____方法____________。
8、 ___抽象_______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。_____final___________方法是不能被当前类的子类重新定义的方法。
9、 形式参数指的是方法被___定义_________时的参数行,实际参数是方法被_____调用_________时所传递进去的变量或值。
10、在Java程序中,通过类的定义只能实现_单___重继承,但通过接口的定义可以实现__多___重继承关系。
11、面向对象有三个特征:_______多态_____________、________封装______________、______继承_____________。
12、设有数组定义:
int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 };
则执行以下几个语句后的输出结果是____550______________________________。
int s = 0 ;
for ( int i = 0 ; i < MyIntArray.length ; i + + )
s += MyIntArray[i] ;
System.out.println( s );
三、写出下列程序完成的功能
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);
}
}
程序功能:
2、
public class Class1
{
public static void main(String args[])
{
int i = 0 ;
int Max = 0 ;
int Min = 0 ;
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( );
}
}
程序功能:
3、
public class ABC
{
public static void main(String args[])
{
int i = 0 ;
int j = 0 ;
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( );
}
}
程序功能:
4、
public class Class1
{
public static void main(String args[])
{
Fact N = new Fact(4);
System.out.println(N.fact());
}
}
class Fact
{
int n = 0 ;
Fact(int nn)
{
n = nn;
}
int fact()
{
int i = 1 ;
int f = 1;
for(i=1;i<=n;i++)
f = f*i;
return f;
}
}
程序功能:
5、
public class Class1
{
public static void main(String args[])
{
SubClass a = new SubClass(10,3);
System.out.println(a.exp());
}
}
class SuperClass
{
float x;
int n;
SuperClass(float xx,int nn)
{
x = xx ;
n = nn;
}
}
class SubClass extends SuperClass
{
SubClass(float xx,int nn)
{
super(xx,nn);
}
float exp()
{
float s = 1;
for (int i = 1;i<=n;i++)
s = s*x;
return s;
}
}
程序功能:
6、
public class ABC
{
public static void main(String args[])
{
SubClass sb = new SubClass();
System.out.println(sb.max());
}
}
class SuperClass
{
int a = 10 ;
int b = 20 ;
}
class SubClass extends SuperClass
{
int max()
{
return ((a>b)?a:b);
}
}
程序功能:
四、写出下面程序的运行结果
1、
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;
}
}
输出结果:
2、
public class abc
{
public static void main(String args[])
{
int i = 0 ;
int 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);
}
}
输出结果:
3、
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);
}
}
输出结果:
4、
public class ABC
{
public static void main(String args[])
{
String s1 = "Hello!";
String s2 = new String("World!");
System.out.println(s1.concat(s2));
}
}
5、
public class ABC
{
public static void main(String args[])
{
int i = 0 ;
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( );
}
}
输出结果:
6、
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( );
}
}
五、编程题
1、 编写一个完整的Java Application 程序使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。
· 复数类Complex必须满足如下要求:
(1)、复数类Complex 的属性有:
RealPart : int型,代表复数的实数部分
ImaginPart : int型,代表复数的虚数部分
(2)、复数类Complex 的方法有:
Complex( ) : 构造函数,将复数的实部和虚部都置0
Complex( int r , int i ) : 构造函数,形参 r 为实部的初值,i为虚部的初值。
Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。
String ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。
2、 编写一个学生类 Student,要求:
(1)、学生类 Student 属性有:
id: long型,代表学号
name: String类对象,代表姓名
age : int型,代表年龄
sex : boolen型,代表性别(其中:true表示男,false表示女)
phone : String类对象,代表联系电话
(2)、学生类 Student的方法有:
Student(long i , String n , int a , boolean s , long p)
有参构造函数,形参表中的参数分别初始化学号、姓名、年龄、性别和联系电话。
int getAge(): 获取年龄作为方法的返回值。
boolean getSex( ) ( ) : 获取性别作为方法的返回值。
long getPhone ( ) : 获取联系电话作为方法的返回值。
public String toString( ) : 以 姓名:联系电话 的形式作为方法的返回值。
public class Student{
long id;
String name;
Int age;
Boolean sex;
String phone;
Public Student(long i,String n,int a,boolean s,long p){
This。I=i;
}
Public int getA
}