达内JSD1412第一次月考试题及答案.docx
《达内JSD1412第一次月考试题及答案.docx》由会员分享,可在线阅读,更多相关《达内JSD1412第一次月考试题及答案.docx(22页珍藏版)》请在冰豆网上搜索。
达内JSD1412第一次月考试题及答案
考试场次:
2015_01月月考_01月29日_JAVA试卷名称:
2015年01月_JSD_JSD1412
1.
运行下面的程序:
inta=100;
intb=200;
a=a+b;
b=a-b;
a=a-b;
System.out.println("a="+a+",b="+b);
输出的结果是:
()。
A.a=100,b=300
B.a=100,b=200
C.a=200,b=100
D.a=300,b=200
正确答案:
C
2.下面关于数组的声明语句中,有编译错误的是:
()。
A.int[]arr=newint[]{1,2,3};
B.int[]arr=null;
arr={1,2,3,4,5};
C.int[][]arr=newint[][]{{1,2,3},{4,5},{6}}
D.int[][]arr=newint[2][];
正确答案:
B
3.分析如下代码,输出结果为()。
publicstaticvoidmain(String[]args){inti=0;booleanre=false;re=((++i)+i==2)?
true:
false;System.out.println("i="+i+",re="+re);}
A.i=1,re=true
B.i=0,re=true
C.i=1,re=false
D.i=0,re=false
正确答案:
A
4.请看下列代码:
interfaceFoo{
intbar();
}
publicclassSprite{
publicintfubar(Foofoo){
returnfoo.bar();
}
publicvoidtestFoo(){
fubar(
<插入代码>
);
}
}
使类Sprite编译通过,在<插入代码>处应填入的代码是:
A.Foo{publicintbar(){return1;}}
B.newFoo{publicintbar(){return1;}}
C.newFoo(){publicintbar(){return1;}}
D.newclassFoo{publicintbar(){return1;}}
正确答案:
C
5.程序的执行结果是:
publicclassTest{
publicstaticvoidmain(String[]args){
Stringstr1=newString("abc");
Stringstr2=newString("abc");
Stringstr3=str1;
if(str1.equals(str2)){
System.out.println("true");
}else{
System.out.println("false");
}
if(str1==str3){
System.out.println("true");
}else{
System.out.println("false");
}
}
A.true
true
B.true
false
C.false
true
D.false
false
正确答案:
A
6.下列代码的输出结果是:
()。
publicclassStaticFoo{intnum;staticintx;publicstaticvoidmain(String[]args){StaticFoofoo1=newStaticFoo();foo1.num++;foo1.x++;StaticFoofoo2=newStaticFoo();foo2.num++;foo2.x++;StaticFoofoo3=newStaticFoo();foo3.num++;foo3.x++;StaticFoo.x++;System.out.print(foo3.num+",");System.out.println(foo3.x);}}
A.3,3
B.1,3
C.3,4
D.1,4
正确答案:
D
7.运行下面的程序:
Calendarc=Calendar.getInstance();
c.set(Calendar.YEAR,2012);
c.set(Calendar.MONTH,Calendar.SEPTEMBER);
c.set(Calendar.DATE,31);
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(c.getTime()));
输出的结果是:
()。
A.2012-10-1
B.2012-10-01
C.2012-09-30
D.2012-9-30
正确答案:
B
8.下列关于JVM说法,错误的是()。
A.JVM通过专门的线程实现内存的回收。
B.使用java命令时,可以通过参数来设置分配JVM的内存大小。
C.JRE包括JVM及Java核心类库。
D.目前主流版本JVM通过纯解释的方式运行Java字节码。
正确答案:
D
9.请看下列代码:
publicclassPlant{
privateStringname;
publicPlant(Stringname){
this.name=name;
}
publicStringgetName(){
returnname;
}
}
classTreeextendsPlant{
publicvoidgrowFruit(){
}
publicvoiddropLeaves(){
}
}
下列说法正确的是:
A.在Tree类中添加代码:
publicTree(){Plant();},编译将通过
B.在Plant类中添加代码:
publicPlant(){Tree();},编译将通过
C.在Plant类中添加代码:
publicPlant(){this(”fern”);},编译将通过
D.在Plant类中添加代码:
publicPlant(){Plant(”fern”);},编译将通过
正确答案:
C
10.运行下列程序:
Stringstr="**java***java*****java*";
Stringstr1="java";
intindex=0;
while((index=str.indexOf(str1,index))!
=-1){
System.out.print(index+””);
index+=str1.length();
}
控制台输出的结果是:
()。
A.1817
B.2918
C.51221
D.61322
正确答案:
B
11.下列语句创建对象的总个数是:
()。
Strings=”a”+”b”+”c”+”d”+”e”;
A.1
B.2
C.3
D.4
正确答案:
A
12.下列代码的输出结果是()。
intj=0;for(inti=0;i<100;i++){j=j++;}System.out.println(j);
A.0
B.99
C.100
D.101
正确答案:
A
13.下列代码编译和运行的结果是()publicclassFoo{publicstaticvoidmain(String[]args){java.util.Listlist=newjava.util.ArrayList();list.add(newB());list.add(newC());for(Aa:
list){a.x();a.y();}}}interfaceA{voidx();}classBimplementsA{publicvoidx(){}publicvoidy(){}}classCextendsB{publicvoidx(){}}
A.代码运行没有输出
B.运行时抛出异常
C.代码a.y();行,编译错误
D.代码java.util.Listlist=newjava.util.ArrayList();行,编译错误
正确答案:
C
14.下面的程序可以输出1~100内前10个3的倍数:
for(inti=1,count=0;i<100;i++){
if(i%3==0){
System.out.println(i);
(空白处)
}
}
下列选项中,空白处可以填入的代码是()。
A.if(count++>=10){
break;
}
B.if(++count>=10){
break;
}
C.if(count++>=10){
continue;
}
D.if(++count>=10){
continue;
}
正确答案:
B
15.请看下列代码:
publicclassPerson{
privateStringname;
publicPerson(Stringname){this.name=name;}
publicbooleanequals(Personp){
returnp.name.equals(this.name);
}
}
下列说法正确的是:
A.Person类的equals方法没有覆盖Object类的equals方法
B.编译错误,因为私有属性不能在equals方法中被访问
C.基于Hash的数据结构可以正确工作,但是Person类必须覆盖hashCode方法
D.当向Set集合中添加Person对象时,equals方法中的return语句能避免重复
正确答案:
A
16.有变量声明如下:
shortb=120;下列语句中,错误的是()。
A.shorts=b;
B.inti=b;
C.bytes1=b;
D.longl=b;
正确答案:
C
17.Java程序的执行过程中用到一套JDK工具,其中javac.exe是指()。
A.Java语言编译器
B.Java字节码解释器
C.Java文档生成器
D.Java类分解器
正确答案:
A
18.以下程序的输出结果是:
()。
publicclassSuper{publicSuper(){System.out.println("Super");}}publicclassSubextendsSuper{publicSub(){System.out.println("Sub");}publicstaticvoidmain(String[]args){Superfc=newSuper();Subcc=newSub();}}
A.SuperSuperSub
B.SuperSub
C.SubSuper
D.SuperSubSub
正确答案:
A
19.下列代码的输出结果是()。
publicstaticvoidmain(String[]args){int[]one=newint[]{4,6,8};int[]two=newint[]{1,3,5,7,9};System.arraycopy(one,1,two,2,2);System.out.println(Arrays.toString(two));}
A.[1,3,7,4,6]
B.[1,3,5,7,8]
C.[1,3,5,6,9]
D.[1,3,6,8,9]
正确答案:
D
20.实现Point类的equals方法,具体逻辑为:
“成员变量x和y分别相等的Point对象被视为相等”。
publicclassPoint{
privateintx;
privateinty;
...
publicbooleanequals(Objectobj){
《填入代码》
}
}
《插入代码》处应填入的代码正确的是:
A.if(obj.x==this.x||obj.y==this.y){
returntrue;
}
returnfalse;
B.if(obj.x==this.x&&obj.y==this.y){
returntrue;
}
returnfalse;
C.if(!
(objinstanceofPoint))returnfalse;
if(((Point)obj).x==((Point)obj).y&&this.x==this.y){
returntrue;
}
returnfalse;
D.if(!
(objinstanceofPoint))returnfalse;
if(((Point)obj).x==this.x&&((Point)obj).y==this.y){
returntrue;
}
returnfalse;
正确答案:
D
21.下列数组声明语句中,错误的是:
()。
A.int[]arr=newint[]{};
B.int[]arr=newint[];
C.int[]arr={};
D.int[][]arr=newint[2][]
正确答案:
B
22.下面关于interface,叙述错误的是:
()
A.一个interface可以继承多个interface
B.接口中的方法可以由private修饰
C.interface中可以定义staticfinal常量
D.interface中可以无任何方法定义
正确答案:
B
23.关于下列代码说法不正确的是:
10.interfaceFoo{
11.intbar();
12.}
13.
14.publicclassBeta{
15.
16.classAimplementsFoo{
17.publicintbar(){return1;}
18.}
19.
20.publicintfubar(Foofoo){returnfoo.bar();}
21.
22.publicvoidtestFoo(){
23.
24.classAimplementsFoo{
25.publicintbar(){return2;}
26.}
27.
28.System.out.println(fubar(newA()));
29.}
30.
31.publicstaticvoidmain(String[]argv){
32.newBeta().testFoo();
33.}
34.}
A.编译错误
B.运行代码输出:
2
C.如果删除16,17,18行,运行代码应然输出:
2
D.如果删除24,25,26行,运行代码输出:
1
正确答案:
A
24.下列代码的输出结果是:
classCup{
}
classPoisonCupextendsCup{
publicvoidtakeCup(Cupc){
if(cinstanceofPoisonCup){
System.out.println("Inconceivable!
");
}elseif(cinstanceofCup){
System.out.println("Dizzyingintellect!
");
}else{
System.exit(0);
}
}
}
publicclassTestCup{
publicstaticvoidmain(String[]args){
Cupcup=newPoisonCup();
PoisonCuppoison=newPoisonCup();
poison.takeCup(cup);
}
}
A.Inconceivable!
B.Dizzyingintellect!
C.代码正常运行,但是无输出
D.抛出运行时异常
正确答案:
A
25.下列关于HashMap的方法描述正确的是:
A.containsKey(Objectkey):
判断集合中是否包含指定的Value
B.containsValue(Objectvalue):
判断集合中是否包含指定的Key
C.get(Objectkey):
返回与参数Key所对应的Value对象,如果不存在则返回null
D.put(Kkey,Vvalue):
将Key-Value对存入Map,如果在集合中已经包含该Key,则操作将替换该Key所对应的Value,返回值为该Key当前所对应的Value(如果没有则返回null)
正确答案:
C
26.查看如下代码:
1.classHasStatic{2.privatestaticintx=100;3.publicstaticvoidmain(Stringargs[]){4.HasStatichs1=newHasStatic();5.hs1.x++;6.HasStatichs2=newHasStatic();7.hs2.x++;8.hs1=newHasStatic();9.hs1.x++;10.HasStatic.x--;11.System.out.println(“x=”+x);12.}13.}
对于此代码,下列描述中,正确的是()。
A.5行不能通过编译,因为引用了私有静态变量
B.10行不能通过编译,因为x是私有静态变量
C.程序通过编译,输出结果为:
x=103
D.程序通过编译,输出结果为:
x=102
正确答案:
D
27.在Java语言中,下列说法正确的是:
()。
A.Java访问修饰符按照访问范围由低到高的排列顺序是public,default,protected,private
B.private可以用于外部类的声明
C.一个Java源文件中声明为public的外部类只能有一个
D.protected声明的方法不可以被子类重写
正确答案:
C
28.下列代码运行的结果是()。
publicclassBase{publicstaticfinalStringFOO="foo";publicstaticvoidmain(String[]args){Baseb=newBase();Subs=newSub();System.out.print(Base.FOO);System.out.print(Sub.FOO);System.out.print(b.FOO);System.out.print(s.FOO);System.out.print(((Base)s).FOO);}}classSubextendsBase{publicstaticfinalStringFOO="bar";}
A.foofoofoofoofoo
B.foobarfoobarbar
C.foobarfoofoofoo
D.foobarfoobarfoo
正确答案:
D
29.在Java中,Integer.MAX_VALUE表示:
A.double型最大值
B.int最大值
C.long型最大值
D.char型最大值
正确答案:
B
30.请看下列代码:
publicstaticvoidmain(String[]args){
Calendarc=Calendar.getInstance();
c.set(Calendar.YEAR,2013);
c.set(Calendar.MONTH,Calendar.FEBRUARY);
c.set(Calendar.DATE,28);
<插入代码>
}
在<插入代码>处填入将Calendar表示的日期转换为Date表示的日期:
A.Dated=c.getDate();
B.Dated=c.getCalendar();
C.Dated=c.getNow();
D.Dated=c.getTime();
正确答案:
D
31.题目代码的功能为:
输出每个字符在一个字符串中出现的次数(不区分大小写)。
Stringstr="ewrwqFrewqfsadfdsfdsfs";
str=str.toLowerCase();
intmax_length=0;
while(str.length()>0){
《插入代码》
}
A.intlength=str.length();
charfirst=str.charAt(0);
StringstrNew=str.replaceAll(String.valueOf(first),"");
if(length>strNew.length()){
max_length=length-strNew.length();
System.out.println(first+":
"+max_length);
}
B.intlength=str.length();
charfirst=str.charAt(0);
StringstrNew=str.replaceAll(String.valueOf(first),"");
if(length>strNew.length())