东软Java笔试题答案.docx
《东软Java笔试题答案.docx》由会员分享,可在线阅读,更多相关《东软Java笔试题答案.docx(18页珍藏版)》请在冰点文库上搜索。
东软Java笔试题答案
Java面向对象程序设计
考试卷
班级:
姓名:
时间:
90分钟
一、选择题(没有注明多选,则为单选)
1、下列变量定义错误的是
A.inta;
B.doubleb=4.5;
C.booleanb=true;
D.floatf=9.8;(9.8f)
2、6+5%3+2的值是
A.2
B.1
C.9
D.10
3、对于一个三位的正整数n,取出它的十位数字k(k为整型)的表达式是
A.k=n/10%10//先得到百位和十位192199
B.k=(n-n/100*100)%10
C.k=n%10
D.k=n/10
4、下列语句序列执行后,k的值是
1.intx=6,y=10,k=5;
2.switch(x%y)
3.{
4.case0:
k=x*y;
5.case6:
k=x/y;
6.case12:
k=x-y;
7.default:
k=x*y-x;(default位置可以改变)
8.}
A.60
B.5
C.0
D.54
5、下列语句序列执行后,i的值是:
1.inti=10;
2.do{i/=2;}while(i-->1);10→5→4→2->1->0→-1
A.1
B.5
C.2
D.-1
6、在某个类中存在一个方法:
voidgetSort(intx),以下能作为这个方法的重载的声明的是:
(同一个方法中参数不同,返回值类型可以不同也可以相同)
A.publicgetSort(floatx)没有返回类型一定是构造函数不能重载
B.intgetSort(inty)(参数一样不是重载)
C.doublegetSort(intx,inty)(参数不一样是重载)
D.voidget(intx,inty)
7、下列哪个是合法的Java标识符:
(两个答案)BC
A.Tree&Glasses
B.FirstJavaApplet
C._$theLastOne
D.273.5
8、设a=8,则表达式a>>>2的值是:
C(无符号右移动)左移是乘右是除
1000->/2->/2将一个数8除2,运算最快的方式
A.1
B.2
C.3
D.4
9、下面的程序名为Student.java
1.publicclassStudent
2.{
3.privateStringname;
4.publicStudent(Strings_name)//1构造函数
5.{
6.name=s_name;//2
7.}
8.publicstaticvoidmain(Stringargs[])
9.{
10.Students=newStudent();//3
11.}
12.}
使用如下指令编译:
javacStudent.java将会得到什么结果?
A.将会顺利通过编译,并将产生一个Student.class的类文件
B.编译时在//3处出错
C.编译时在//2处出错
D.编译时在//1处出错
10、下面选项中能把字符串转换成float类型的是?
:
B
A.floatvalue=newFloat(str);创建一个对象
B.floatvalue=Float.parseFloat(str);
C.floatvalue=Float.floatValue(str);
D.floatvalue=(newFloat()).parseFloat(str);
11、下边程序运行的结果是?
实例化子类对象要看父类
1.classBase{//父类
2.Base(){System.out.print("Base");}//父类中构造函数
3.}
4.publicclassAlphaextendsBase{
5.publicstaticvoidmain(String[]args){
6.newAlpha();//实例化自己首先要实例化其父类
7.newBase();//实例化父类
8.}
9.}
A.Base
B.BaseBase
C.程序编译失败.
D.程序运行但没有任何输出
12、下面程序运行的结果是?
A值传递
1.publicclassX{
2.privatestaticinta;
3.publicstaticvoidmain(String[]args){
4.modify(a);
5.System.out.println(a);
6.}
7.publicstaticvoidmodify(inta){
8.a++;
9.}
10.}
A.0
B.1
C.程序编译失败
D.程序抛出异常
13、下面程序运行的结果是?
1.Strings="Hello"+9+1;+字符连接(9+1+”hello”=10hello(string类型))
2.System.out.println(s);
A.Hello10
B.Hello91
C.Hello10.0
D.程序编译失败
14、下列说法正确的是?
C
A.一个子类可以有多个父类,一个父类也可以有多个子类
B.一个子类可以有多个父类,但一个父类只可以有一个子类
C.一个子类可以有一个父类,但一个父类可以有多个子类
D.上述说法都不对
15、下面程序运行的结果是?
1.abstractclassAbstrctIt{
2.abstractfloatgetFloat();
3.}
4.publicclassAbstractTestextendsAbstractIt{
5.privatefloatf1=1.0f;
6.privatefloatgetFloat(){returnf1;}//权限只能扩大不能缩小
7.}
A.编译成功
B.在第6行产生一个运行时异常
C.在第6行产生一个编译错误
D.在第2行产生一个编译错误
16、下面的程序输出的结果是:
1.publicclassAimplementsB{
2.publicstaticvoidmain(Stringargs[]){
3.inti;
4.Ac1=newA();
5.i=c1.k;
6.System.out.println("i="+i);
7.}
8.}
9.interfaceB{
10.intk=10;接口(抽象方法和静态常量的结合)里的静态常量publicstaticfinal
11.}
A.i=0
B.i=10
C.程序有编译错误
D.i=true
17、方法methodA返回类型是:
1.publicclassreturnIt{
2.returnTypemethodA(bytex,doubley){
3.return(short)x/y*2;
4.}
5.}
A.int
B.byte
C.long
D.double
18、下面的程序输出的结果是:
1.publicclast{
2.publicstaticvoidmain(string[]args){
3.intx=3;
4.inty=1;
5.if(x=y){//=:
赋值运算符==:
比较运算符
6.System.out.println(“Notequal”);
7.}else
8.System.out.println(“Equal”);
9.}
10.}
A.Equal
B.NotEqual
C.编译失败
D.程序没有任何输出结果
19、在下面程序中,变量i可以使用的数据类型是:
(两个答案)
1.switch(i){//i可以是byte、char、short、int四种
2.default:
3.System.out.println(“Hello”);
4.}
A.char
B.byte
C.float不行
D.double不行
E.object
20、应用程序的main方法中有以下语句,则输出的结果是:
1.int[]x={122,33,55,678,-987};
2.inty=x[0];
3.for(inti=1;i4.if(x[i]>y)
5.y=x[i];
6.}
7.System.out.println(y);
A.678
B.122
C.-987
D.33
21、程序输出的结果是?
1.publicclassX{
2.publicstaticvoidmain(String[]args){
3.try{
4.badMethod();//调用静态方法,无意义。
5.System.out.print(“A”);
6.}
7.catch(Exceptionex){//未捕获到,不输出。
8.System.out.print(“B”);
9.}
10.finally{
11.System.out.print(“C”);
12.}
13.System.out.print(“D”);
14.}
15.publicstaticvoidbadMethod(){
System.out.println(“E”)
}
17.}
A.AB
B.BD
C.E
ACD
D.ABCD
22、程序输出的结果是?
System.out.println(4|3);//二进制按位或操作
0100|00110111
A.0
B.1
C.5
D.7
23、关于下述程序哪个是正确的构造器重载(两个正确)
publicclassConstOver{
publicConstOver(intx,inty,intz){}
}
A.ConstOver(){}
B.protectedintConstOver(){}//构造函数不能有返回类型
C.privateConstOver(intz,inty,bytex){}
D.publicObjectConstOver(intx,inty,intz){}
E.publicvoidConstOver(bytex,bytey,bytez){}
24、下述程序编译运行后在1和2处分别打印出什么值?
1.publicclassTest9
2.{staticinti=1;//静态变量和静态块只会初始化一次
3.static{
4.i++;//i=2;
5.}
6.publicTest9(){
7.i++;
8.}
9.publicstaticvoidmain(String[]args){
10.Test9t1=newTest9();
11.System.out.println(t1.i);//1
12.Test9t2=newTest9();
13.System.out.println(t2.i);//2
14.}
15.}
A.2和2
B.3和3
C.3和4
D.4和3
25、下列答案正确的是:
两个答案
int[]arr=newint[10];
A.arr[0]是null
B.arr[10]是0
C.arr[9]是0
D.arr[0]是0
26、编译器能够为类A分配一个默认构造器的是?
(两个答案)
A.classA{}
B.classA{
publicA(){}
}
C.classA{
publicA(intx){}
}
D.classZ{}
classAextendsZ{
voidA(){}
}
27、下面程序运行的结果是:
1.publicclassFoo{
2.publicinti=3;
3.publicstaticvoidmain(Stringargs[]){
4.Objecto=newFoo();
5.Foofoo=(Foo)o;
6.System.out.println("i="+foo.i);
7.}
8.}
A.i=3
B.i=0.
C.程序编译错误
D.程序运行时抛出异常
28、下面程序运行的结果是:
1.classExc0extendsException{}
2.classExc1extendsExc0{}
3.publicclassTest{
4.publicstaticvoidmain(Stringargs[]){
5.try{
6.thrownewExc1();
7.}catch(Exc0e0){
8.System.out.println("Ex0caught");
9.}catch(Exceptione){
10.System.out.println("exceptioncaught");
11.}
12.}
13.}
A.Ex0caught
B.exceptioncaught
C.编译失败,错误在第2行
D.编译失败,错误在第6行
29、下面表达式计算的结果和返回值类型分别是?
Math.ceil(0.1+Math.floor(Math.random()));0-1之间的小数
A.0.0
B.1.0
C.float
D.double
E.一个随机数
30、下面程序运行的结果是:
1.publicinterfaceTest{
2.intfrood=42;
3.}
4.classTestImplimplementsTest{
5.privatestaticintfrood;
6.publicstaticvoidmain(String[]args){
7.System.out.println(++frood);
8.}
9.}
A.0
B.1
C.42
D.43
答题卡
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
二、编程题
注意:
书写清晰,看不清楚不给分,注意字体大小,写不下可以写在背面,标清题号。
1、输出n行n列的空心矩形(要求使用嵌套循环),当n=5时,运行结果显示如下:
#####
##
##
##
#####
程序如下:
publicclassTest{
publicstaticvoidmain(String[]args){
intn=5;
for(inti=1;i<=n;i++){
for(intj=1;j<=n;j++){
if(i==1||i==n||j==1||j==n){//只有正方形的边缘都为“#”
System.out.print("#");
}
else{//其他地方都是空
System.out.print("");
}
}
System.out.println();
}
}
}
2、设计Java程序
假设有50瓶饮料,喝完3个空瓶可以换一瓶饮料,依次类推,请问总共喝了多少瓶饮料?
程序如下:
publicclassTest{
publicstaticvoidmain(String[]args){
intsum=0;
intempty=1;
for(inti=50;i>0;i--){
if(empty==3){
empty=1;
i++;
}else{
empty++;
}
sum++;
}
System.out.println("总共喝了"+sum+"瓶饮料。
");
}
}
3、设计Java程序,实现如下功能:
获取50个0至300之间的随机整数,并输出到屏幕上;
取出上面50个整数中的偶数,倒序排列输出到屏幕上。
程序如下:
publicclassTest{
publicstaticvoidmain(String[]args){
int[]ary={};
inteven=0;
for(inti=0;i<50;i++){
intnum=(int)(Math.random()*300);
System.out.println("num:
"+num);
if(num%2==0){
ary=Arrays.copyOf(ary,ary.length+1);
ary[even++]=num;
}
}
Arrays.sort(ary);
for(inti=ary.length-1;i>=0;i--){
System.out.println("偶数:
"+ary[i]);
}
}
}
4、编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和车重weight。
小车类Car是Vehicle的子类,其中包含的属性有载人数loader。
卡车类Truck是Car类的子类,其中包含的属性有载重量payload。
每个类都有构造方法和输出相关数据的方法。
程序如下:
classVehicle{
publicVehicle(){}
intwheels;
intweight;
publicvoidprint(){
System.out.println("汽车车轮个数是:
"+wheels+",汽车车重为:
"+weight+"。
");
}
}
classCarextendsVehicle{
publicCar(){
super();
}
intloader;
publicvoidprint(){
System.out.println("小车有载人数是:
"+loader+"。
");
}
}
classTruckextendsCar{
publicTruck(){
super();
}
intpayload;
publicvoidprint(){
System.out.println("卡车有载重量是:
"+loader+"。
");
}
}
publicclassTest{
publicstaticvoidmain(String[]args){
Vehiclev1=newVehicle();
v1.print();
Vehiclev2=newCar();
v2.print();
Vehiclev3=newTruck();
v3.print();
}
}