Java測試題
Java測試題_1
?
一、選擇題
1、 編譯Java源程序文件產(chǎn)生的字節(jié)碼文件的擴(kuò)展名為( ???B ?????)。
A、java ?B、class ?C、html ?D、exe
?
2、 main方法是Java Application程序執(zhí)行的入口點,關(guān)于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類的一個無形式參數(shù)無返回值的方法method書寫方法頭,使得使用類名AB作為前綴就可以調(diào)用它,該方法頭的形式為( ?????A ??)。
A、static ?void ?method( ) ? ?B、public ?void ?method( ) ???
C、final ?void ?method( ) ? ?D、abstract ?void ?method( )
?
4、 下列哪個是合法的Java標(biāo)識符?( 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時,下列程序段被執(zhí)行后,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、 對于構(gòu)造方法,下列敘述正確的是( ACD ???)。
A、構(gòu)造方法是類的一種特殊方法,它的方法名必須與類名相同。
B、構(gòu)造方法的返回類型只能是void型。
C、構(gòu)造方法的主要作用是完成對類的對象的初始化工作。
D、一般在創(chuàng)建新對象時,系統(tǒng)會自動調(diào)用構(gòu)造方法。
?
8、 下面的是關(guān)于類及其修飾符的一些描述,正確的是:( A ?C ???)。
A、abstract類只能用來派生子類,不能用來創(chuàng)建abstract類的對象。
B、final類不但可以用來派生子類,也可以用來創(chuàng)建final類的對象。
C、abstract不能與final同時修飾一個類。
D、abstract方法必須在abstract類中聲明,但abstract類定義中可以沒有abstract方法。
?
9、 若需要定義一個類,應(yīng)使用哪種修飾符?(ACD ????)
A、static ? B、package ?C、private ?D、public
?
10、若在某一個類定義中定義有如下的方法:abstract void performDial( );該方法屬于( ?D ??)。
A、本地方法 ?B、最終方法 ?C、解態(tài)方法 ?D、抽象方法
?
11、設(shè)有下面兩個類的定義:
?????class ?Person { ???????????????????????class ?Student ?extends ?Person {
?????????long ???id; ????// 身份證號 ???????????int ?score; ?// 入學(xué)總分
?????????String ?name; ??// 姓名 ???????????????int ?getScore(){
??????} ????????????????????????????????????????????return ?score;
????????????????????????????????????????????????}
????????????????????????????????????????????}
問:類Person和類Student的關(guān)系是( B ???)。
A、包含關(guān)系 ? ?B、繼承關(guān)系
C、關(guān)聯(lián)關(guān)系 ? ?D、無關(guān)系,上述類定義有語法錯誤
?
12、設(shè)有下面的兩個類定義:
class AA { ?
void show()
{
System.out.println("我喜歡Java!");
}
}
class BB extends AA {
void show()
{
System.out.println("我喜歡C++!");
}
???}
則順序執(zhí)行如下語句后輸出結(jié)果為:( ????)
AA ??a; ? BB ??b;
a.Show(); ? b.Show();
??? A、 我喜歡Java! ? ? B、 我喜歡C++!
?????? 我喜歡C++! ? ? ?我喜歡Java!
??? C、 我喜歡Java! ? ? D、 我喜歡C++!
?????? 我喜歡Java! ? ? ?我喜歡C++!
?
13、在Java中,一個類可同時定義許多同名的方法,這些方法的形式參數(shù)的個數(shù)、類型或順序各不相同,傳回的值也可以不相同。這種面向?qū)ο蟪绦蛱匦苑Q為( ????)。
A、隱藏 ? B、覆蓋 ? C、重載 ?D、Java不支持此特性
?
14、對于構(gòu)造函數(shù),下列敘述正確的是( ????)。
A、構(gòu)造函數(shù)也允許重載。
B、子類無條件地繼承父類的無參構(gòu)造函數(shù)。
C、子類不允許調(diào)用父類的構(gòu)造函數(shù)。
D、在同一個類中定義的重載構(gòu)造函數(shù)可以相互調(diào)用。
?
15、在使用interface聲明一個接口時,只可以使用( D ???)修飾符修飾該接口。
A、private ? ? ? B、protected
C、private protected ? ? D、public
?
16、設(shè)有下面兩個賦值語句:
a = Integer.parseInt("1024");
b = Integer.valueOf("1024").intValue();
下述說法正確的是( D ???)。
A、a是整數(shù)類型變量,b是整數(shù)類對象。
B、a是整數(shù)類對象,b是整數(shù)類型變量。
C、a和b都是整數(shù)類對象并且它們的值相等。
D、a和b都是整數(shù)類型變量并且它們的值相等。
?
17、在Java中,存放字符串常量的對象屬于( B ???)類對象。
A、Character ? ? B、String
C、StringBuffer ? ?D、Vector
?
二、填空題
1、 Java程序分為那兩類:_____Application_______________________和________Applet__________________。
2、 設(shè)x = 2 ,則表達(dá)式 ( x + + ) * 3 的值是_____6_____________。
3、 若x = 5,y = 10,則x > y和x <= y的邏輯值分別為_false________和_____true_____。
4、 順序執(zhí)行以下兩個語句的輸出結(jié)果是:_______10____________。
???? String ?s = "我喜歡學(xué)習(xí)Java!"; ????
???? System.out.println(s.length( ));
5、 如果一個Java源程序文件中定義有4個類,則使用Sun公司的JDK編譯器javac編譯該源程序文件將產(chǎn)生_3___個文件名與類名相同而擴(kuò)展名為___class_____的字節(jié)碼文件。
6、 一個Java ?Application源程序文件名為MyJavaApplication.java,如果使用Sun公司的Java開發(fā)工具JDK編譯該源程序文件并使用其虛擬機(jī)運(yùn)算這個程序的字節(jié)碼文件,應(yīng)該順序執(zhí)行如下兩個命令:_________________________________________、___________________________________________。
7、 在Java程序中定義的類有兩部分組成,分別是:_______屬性__________、_____方法____________。
8、 ___抽象_______方法是一種僅有方法頭,沒有具體方法體和操作實現(xiàn)的方法,該方法必須在抽象類之中定義。_____final___________方法是不能被當(dāng)前類的子類重新定義的方法。
9、 形式參數(shù)指的是方法被___定義_________時的參數(shù)行,實際參數(shù)是方法被_____調(diào)用_________時所傳遞進(jìn)去的變量或值。
10、在Java程序中,通過類的定義只能實現(xiàn)_單___重繼承,但通過接口的定義可以實現(xiàn)__多___重繼承關(guān)系。
11、面向?qū)ο笥腥齻€特征:_______多態(tài)_____________、________封裝______________、______繼承_____________。
12、設(shè)有數(shù)組定義:
int ??MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 };
則執(zhí)行以下幾個語句后的輸出結(jié)果是____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);
}
}
?
程序功能:
?
?
四、寫出下面程序的運(yùn)行結(jié)果
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;
}
}
?
輸出結(jié)果:
?
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);
}
}
?
輸出結(jié)果:
?
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);
}
}
?
輸出結(jié)果:
?
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( );
}
}
?
輸出結(jié)果:
?
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 程序使用復(fù)數(shù)類Complex驗證兩個復(fù)數(shù) 1+2i 和3+4i 相加產(chǎn)生一個新的復(fù)數(shù) 4+6i 。
· 復(fù)數(shù)類Complex必須滿足如下要求:
(1)、復(fù)數(shù)類Complex 的屬性有:
RealPart : int型,代表復(fù)數(shù)的實數(shù)部分
ImaginPart : int型,代表復(fù)數(shù)的虛數(shù)部分
(2)、復(fù)數(shù)類Complex 的方法有:
Complex( ) : 構(gòu)造函數(shù),將復(fù)數(shù)的實部和虛部都置0
Complex( int ?r , int ?i ) : 構(gòu)造函數(shù),形參 r 為實部的初值,i為虛部的初值。
Complex ?complexAdd(Complex ?a) : 將當(dāng)前復(fù)數(shù)對象與形參復(fù)數(shù)對象相加,所得的結(jié)果仍是一個復(fù)數(shù)值,返回給此方法的調(diào)用者。
String ?ToString( ) : 把當(dāng)前復(fù)數(shù)對象的實部、虛部組合成 a+bi 的字符串形式,其中a 和 b分別為實部和虛部的數(shù)據(jù)。
?
?
2、 編寫一個學(xué)生類 Student,要求:
(1)、學(xué)生類 Student 屬性有:
id: long型,代表學(xué)號
name: String類對象,代表姓名
age : int型,代表年齡
Sex : boolen型,代表性別(其中:true表示男,false表示女)
phone : String類對象,代表聯(lián)系電話
(2)、學(xué)生類 Student的方法有:
Student(long ?i , String ?n , int ?a , boolean ?s , long ?p)
有參構(gòu)造函數(shù),形參表中的參數(shù)分別初始化學(xué)號、姓名、年齡、性別和聯(lián)系電話。
int getAge(): 獲取年齡作為方法的返回值。
boolean getSex( ) ( ) : 獲取性別作為方法的返回值。
long getPhone ( ) : 獲取聯(lián)系電話作為方法的返回值。
public String toString( ) : 以 姓名:聯(lián)系電話 的形式作為方法的返回值。
?
?
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
}
?
?
?