超级无敌神奇的java期末考试题库.docx
- 文档编号:9452459
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:43
- 大小:41.88KB
超级无敌神奇的java期末考试题库.docx
《超级无敌神奇的java期末考试题库.docx》由会员分享,可在线阅读,更多相关《超级无敌神奇的java期末考试题库.docx(43页珍藏版)》请在冰豆网上搜索。
超级无敌神奇的java期末考试题库
超级无敌神奇的java期末考试题库
一、选择题
1.已知X和Y均为boolean型变量,则X&&Y的值为true的条件是什么,C
A)至少其中一个为trueB)至少其中一个为false
C)X和Y均为trueD)X和Y均为false
2.设有定义floatX=3.5f,Y=4.6f,Z=5.7f;则以下的表达式中,值为true的是BA)X>Y||X>ZB)X!
=YC)X>(Y+Z)D)Y>Z3.对于一个三位数的正整数n,取出它的十位数k(k为整数)的表达式是AA)K=n/10%10B)K=n%10%10C)K=n%10D)K=n/104.设intx=2,则表达式(x++)*3的值是A
A6B)9C)6.0D)9.05.关于数据类型转换的说法那个是不正确的C
A)Java共有两种数据类型的转换方式,自动转换和强制转换
B)Java中当两个类型不同的运算对象进行算术运算时,Java自动把精确度较低的类型转换成另一个精度较高的类型
C)boolean型数据能和其它数据类型进行转换
D)char型和int型数据可以相互转换
6.定义变量inti=3;那么表达式i/6*5的计算结果是A
A)0B)1C)2.5D)27.指出下列类型转换中正确的是D
A)inti=8.3;B)LongL=8.4f;
C)inti=(boolean)8.9;D)doubled=100
8.下面哪一个是合法的标识符D
A)12classB)+viodC)-5D)_black
9.下面哪个标识符是合法的D
A)#_poundB)$123+wC)5InterstateD)a_b
10.下列单词中,不属于Java关键字的是A
A)NULLB)classC)thisD)byte11.以下的选项中能正确表示Java语言中的一个整数常量的是B
A)12(B)-20C)1,000D)45612.下列数据类型的精度由高变低的顺序是B
A)float,double,int,long
B)double,float,int,byte
C)byte,long,double,float
D)double,int,float,long
13.现有一个变量声明为booleanaa,下面赋值语句中正确的是A
A)aa=falseB)aa=FalseC)aa=“true”D)aa=0
14.Java语句中,占用32位储存空间的是D
A)long,doubleB)long,floatC)int,doubleD)int,float
15.设intx=1,y=2,z=3,则表达式y+=z--/++x中y的值A
A)3B)3.5C)4D)4.516.Java支持的3种跳转语句不包括D
A)break语句B)continue语句C)return语句D)goto语句
17.下列语句中执行跳转功能的语句是C
A)for语句B)while语句C)continue语句D)switch语句
1
18.在switch(expression)语句中,expression的数据类型不正确的是CA)byteB)charC)floatD)short
19.关于Java源文件下列说法正确的是A
A)一个Java源文件只能有一个public修饰的类
B)一个Java源文件只能有一个缺省的类
C)一个Java源文件可以有多个protected修饰的类
20.下面正确的main方法是C
A)publicstaticvoidmain(Stringargs)B)publicstaticintmain(String[]args)C)publicstaticvoidmain(String[]args)D)publicfinalvoidmain(Stringargs)21.下面方法定义中,正确的是D
A)intx(inta,b){returna-b;}
B)doublex(inta,intb){intw;w=a-b;}
C)doublex(a,b){returnb;}
D)intx(inta,intb,){returna-b;}22.下面定义中,不正确的是D
A)floatx(inta,intb){returna-b;}B)intx(inta,intb){returna-b;}C)intx(inta,intb){returna*b;}D)intx(inta,intb){return1.2*(a-b);}23.下面方法定义中,正确的是A
A)intx(){charch=’a’;return(int)ch;}
B)voidx(){returntrue;}
C)intx(){returntrue;}
D)intx(inta,b){returna-b;}
24、设x、y均为已定义的类名,下列声明类x的对象x1的语句正确的是AA)Xx1=newX();B)Xx1=X();C)Xx1=newY();D)IntXx1;25设A为已定义的类名,下列声明并创建A类的对象a的语句中正确的是AA)Aa=newA();B)PublicAa=A();
C)Aa=newclass();D)aA;
26、下面类的定义中结构正确的是A
A)classAB)Class2AC)IntclassAD)PublicclassA()下面关于类的结构的说法正确的是(B)
A)类只能包含一个构造方法
B)类可以没有属性
C)类只能包含方法
D)类只能包含属性
27、下面那个关键字在定义类头时用不到(D)
A)ClassB)PublicC)ExtendsD)Int28、面向对象程序不包含下面的哪个组成部分(D)
A)类B)对象C)接口D)程序员
29、下列不属于面向对象的三大特征的是(B)
2
A)继承B)方法C)封装D)多态32、设X,Y是已定义的类名,下列声明x类的对象x1的语句正确的是(B)
A)staticXx1(123);
B)PublicXx1=newX(123);
C)Yx1;
D)Xx1=X();
33this在程序中代表的是(A)
A)类的对象
B)属性
C)方法
D)父类
34、下列对构造方法的调用方式的描述中正确的是(A)A)使用new调用
B)使用类名调用
C)使用对象名调用
D)调用方法为对象名.方法名()
35、以下关于构造函数的描述错误的是(A)A)构造函数的返回类型只能是void型
B)构造函数是类的一种特殊函数,它的方法名必须与类名相同C)构造函数的主要作用是完成对类的对象的初始化工作D)一般在创建新对象时,系统会调用构造函数36、下列构造方法的调用方式中,正确的是(C)A)按照一般方法调用
B)由用户直接调用
C)只能通过new自动调用
D)不能调用,自动执行
37、有一个类A,以下为其构造方法的声明,其中正确的是(B)A)voidA(intx)
B)A(intx)
C)a(intx)
D)Voida(intx)
38、下列关于静态方法的描述中,错误的是(C)A)静态方法指的是被static关键字修饰的方法B)静态方法不占用对象的内存空间,而非静态方法占用对象的内存空间
C)静态方法内可以使用this关键字
D)静态方法内部只能访问被static修饰的成员39、下列关于静态方法的描述,错误的是(C)A)静态方法属于类的共享成员
B)静态方法是通过“类名.方法名”的方式来调用C)静态方法只能被类调用,不能被对象调用D)静态方法中可以访问静态变量
40、下面那个关键字用来修饰静态(A)
A)staticB)protectedC)publicD)private41、下面哪个关键字用来修饰常量(B)
3
A)staticB)finalC)publicD)private42、下面关于常量的描述,正确的是(B)
A)常量在主函数中可以被修改
B)常量在主函数中不可以被修改
C)常量一般用static来定义
D)常量一定会被调用
43、已知类的继承关系如下:
classA
ClassBextendsA
ClassCextendsA
则以下语句中能够通过编译的是(A)
A)Aa=newB();
B)Cc=newB();
C)Cc=newA();
D)Bb=newC();
44下面关于super的说法,错误的是(D)
A)使用super,可以调用父类的构造方法
B)使用super,可以调用父类的属性
C)使用super,可以调用父类的方法
D)使用super,可以调用对象自己的属性和方法
45、继承的关键字是(B)
A)extend
B)Extends
C)Extend
D)Extends
46、父子类在同一个包中,子类不能继承父类的那个属性(D)A)defaultB)protectedC)publicD)private47、下列选项中关于super关键字的说法正确的是(A)A)super关键字是在子类对象内部指代其父类对象的引用B)Super关键字不仅可以指代子类的直接父类,还可以指代父类中的父类C)子类通过super关键字只能调用父类的方法,而不能调用父类的属性D)子类通过super关键字只能调用父类的属性,而不能调用父类的方法48、关于super的说法正确的是(B)
A)是指当前对象的内存地址
B)是指当前对象的父类对象的内存地址
C)是指当前对象的父类
D)可以在main()方法中
E)
49、父子类不在同一个包中,子类能继承父类的哪个属性(B)A)defaultB)protectedC)staticD)private50、下列修饰符中,成员内部被修饰后,不可以被外界访问(D)A)defaultB)protectedC)publicD)private51、被声明为private,protected及public的类成员,在类的外部则(B)A)只能访问到声明为public的成员
B)只能访问到声明为public和protected的成员
4
C)都可以访问
D)都不能访问
52、下面那个关键字用于将类中的属性私有化(D)A)defaultB)protectedC)publicD)private53、下面哪两个关键字是类的可见性修饰符(A)A)public和默认的
B)Public和private
C)Private和默认的
D)Protected和默认的
54、下面关于属性的修饰符,那个只能在当前类中使用(D)A)defaultB)protectedC)publicD)private55、下面关于方法的修饰符,那个只能在当前类中使用(D)A)defaultB)protectedC)publicD)private56、下面关于get和set方法的叙述,正确的是(C)A)两个方法一般都有返回值
B)两个方法一般都没有返回值
C)Get方法一般有返回值
D)Set方法一般有返回值
57、下面关于get和set方法的叙述,正确的是(A)A)两个方法一般都使用this关键字
B)两个方法一般都不使用this关键字
C)Set方法不能使用this关键字
D)Get方法不能使用this关键字
58、关于类的继承的描述,正确的是(B)
A)一个类可以继承多个父类
B)一个类可以具有多个子类
C)子类可以使用父类的所有方法
D)子类一定比父类有更多的成员方法
59、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,
返回的值也可以不相同。
这种面向对象程序特性称为(C)A)隐藏B)覆盖C)重载D)Java不支持此特性60、方法的重载是指,两个方法具有相同名称和不同的参数形式。
其中不同的参数形式是指(A)
A)参数个数或类型不同
B)参数有无返回值
C)方法的修饰符不同
D)以上都不对
61、以下关于方法的覆盖的说法,错误的是(D)A)子类的方法与父类的方法,方法名必须相同
B)子类的方法与方法的方法,参数形式必须相同C)子类的方法与父类的方法,返回值类型必须相同D)以上都不对
62、覆盖与重载的关系是(A)
A)覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B)覆盖方法可以不同名,而重载方法必须同名
5
C)Final修饰的方法可以可以被覆盖,但不能被重载D)覆盖于重载是同一回事
63、下面关于多态性的说法,正确的是(C)
A)一个类中不能有同名的方法
B)子类中不能有和父类中同名的方法
C)子类中可以有和父类中同名且参数相同的方法D)多态性就是方法的名字可以一样,但返回的类型必须不一样64、定义抽象类的关键字是(A)
A)abstractclass
B)Finalclass
C)Staticclass
D)Publicclass
65、下面关于抽象类的描述,错误的是(D)
A)抽象类的修饰符可以是public
B)抽象类的修饰符可以说默认的
C)抽象类中可以有抽象方法,也可以有非抽象方法D)抽象类中可以有抽象方法,但不可以有非抽象方法66、下面说法正确的是(A)
A)final可修饰类、属性、方法
B)Abstract可修饰类、属性、方法
C)定义抽象方法需要给出方法的返回值类型、方法名、参数列表和方法名D)用final修饰的变量,在程序中可对这个变量的值进行修改67、以下哪个接口的定义是正确的(D)
A)interfaceB{voidprint();}
B)AbstractinterfaceB{voidprint();}
C)AbstractinterfaceBextendsA1,A2{abstractvoidprint();}D)InterfaceB{voidprint();}
68、定义一个接口时,下列哪个关键字用不到(D)A)PublicB)ExtendsC)InterfaceD)Class
69、在使用interface声明一个接口时,只可以使用哪个修饰符修饰该接口(D)
A)Private
B)Protected
C)Private或者protected
D)Public
70、下列类头定义中,错误的是(A)
A)publicxextendsy
B)PublicclassxextendsyC)Publicxextendsyimplementsy1
D)Classx
71、下列叙述正确的是(C)
A)Java中允许多重继承
B)Java中一个类只能实现一个接口
C)Java中只能单重继承
D)Java中一个类可以继承多个抽象类
6
72、声明一个数组,_[]a=newString[]{};空格处应该填写的内容是为(C)A)IntB)DoubleC)StringD)string
73、inta[]={45,4,67,23,65,87,34,52,56};数组中a[5]的值为(D)A)23B)45C)65D)8774、下面哪种写法可以实现访问数组arr的第一个元素(A)
A)Arr[0]B)Arr(0)C)Arr[1]D)Arr
(1)
75、下列对长度为4的数组a的定义中,正确的是(C)
A)int[4]a=newint[];
B)Inta[]=newint[5];
C)Inta[]={2,4,2,1};
D)Int[4]a=newint[4]
76、下面关于对象数组的叙述正确的是(B)
A)对象数组的长度可以修改
B)对象数组里的每个元素都是那个对象的引用
C)对象数组的索引是从1开始的
D)数组中可以存放多种类型的对象
二、填空
重载和覆盖:
1.定义绝对值得方法abs(),利用方法的重载实现既能求整数的绝对值,又能求浮点数的绝对值。
pubicclassTest{
publicstaticintabs(intn){
If(n<=0);
return-n;
elsereturnn;
}
Publicstaticdoubleabs(doublen){
if(n<=0)
return-n;
elsereturnn;
}
2.利用方法重载定义平均值的方法average(),既能求三个整数的平均值,又能求两个整数的平均值。
PublicstaticTest2{
Publicstaticintaverage(inta,intb,intc){
Return(a+b+c)/3.0;
}
Publicstaticdoubleaverage(inta,intb){
Return(a+b)/2.0;
}
3.利用方法重载定义求最大值的方法max(),既能求两个整数的最大值,又能求三个整数的最大值。
Publicstaticintmax(inta,intb){
If(a>b)
Returna;
Elsereturnb;
7
}
Publicstaticintmax(inta,intb,intc){
If(a>b)
Temp=a;
Elsetemp=b;
If(c>temp)
Temp=c;
Returntemp;}
4.在父类中定义了printA()方法,输出“A”,子类中覆盖printA()方法输出“A”。
ClassFather{
Inta;
PublicvoidprintA(){
System.out.println(“A”);
}
ClassChildextendsFather{
publicvoidprintA(){
System.out.println(“AA”);
}
5.父类中定义了process(intn)方法,将参数的值加2,子类覆盖父类中该方法将参数的值乘以2.
ClassFather1{
Publicintprocess(intn){
Returnn+2;
}
}
ClassChildextendsFather1{
publicintprocess(intn){
Returnn*2;}
抽象类:
6.定义一个抽象类,包括能求面积的抽象方法。
PublicabstractclassTest6{
Publicabstractdoublearea();}
7.定义一个抽象类,包括表示奔跑的抽象方法。
PublicabstractclassTest7{
Publicabstractvoidrun();}
8.定义一个抽象类,包括表示eat的抽象方法。
PublicabstractclassTest8{
Publicabstractvoideat();}
9.定义一个抽象类,包括表示start的抽象方法。
PublicabstractclassTest9{
8
Publicabstractvoidstart();
}
10.定义一个抽象类,包括表示travel的抽象方法。
PublicabstractclassTest10{
Publicabstractvoidtravel();
}
接口:
11.下面是定义一个接口ITF的程序,完成程序填空。
PublicinterfaceITF{
PublicstaticfinaldoubleP1=Math.P1;
Publicstaticdoublearea(doublea,doubleb);}
12.下面是定义一个接口A的程序,完成程序填空。
PublicinterfaceITF{
PublicstaticfinaldoubleP1=3.1415926;
Publicabstractdoublearea(doublea,doubleb);}
13.定义一个接口A,类B实现接口A,完成程序填空。
PublicinterfaceA{
Voida();
}
ClassBimplementsA{
Publicvoida(){
}
14.定义一个接口Test,类T实现接口Test,完成程序填空。
PublicinterfaceTest{
Voidtest();
}
ClassTimplementsA{
PublicvoidTest(){
}
15.定义一个接口CanSwim,类Swimmer实现接口CanSwim,完成程序填空。
PublicinterfaceCanSwim{
Voidswim();
}
PublicSwimmerimplementsCanSwim{
Publicvoidswim(){
}
20.编写程序在main方法中,将两个字符串s1和s2转换成对应的数值然后完成加法运算。
Publicstaticvoidmain(String[]args){
Strings1=“2”;
Strings2=“2.5”;
Intn1=integer.parselnt(s1);
9
Doublen2=Double.parseDouble(s2);
Doublesum=n1+n2;
System.out.println(sum);
}
第三章:
类的定义和对象的创建
1.创建一个Circle类,此类中包括一个半径属性radius和一个计算面积的方法findArea,在main方法
中创建Circle类的对象c,并计算半径为5的圆的面积。
PublicclassCircle{
Doubleradius;
DoublefindArea(){
Return3.14*radius*radius;}
Publicstaticvoidmain(String[]args){
Circlec=newCircle();
C.radius=5.0;
System.out.println(c.findArea())
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超级 无敌 神奇 java 期末考试 题库