if(i==j)
System.out.println(i);
else
System.out.println(j);
else
System.out.println(k);
A)3B)0C)3.2D)以上三个都不对
3.3运行下面代码将将输出什么内容?
inti=1;
switch(i){
case0:
System.out.println("zero");
break;
case1:
System.out.println("one");
case2:
System.out.println("two");
default:
System.out.println("default");
}
A)oneB)one,default
C)one,two,defaultD)default
3.4关于下面代码的陈述,哪些是正确的?
voidlooper(){
intx=0;
one:
while(x<10){
two:
System.out.println(++x);
if(x>3)
breaktwo;
}
}
A)代码可以被编译。
B)代码不能被编译。
C)方法会输出数字0。
D)数字1和2会被输出。
E)数字3会被输出。
F)数字4会被输出。
G)数字5至9会被输出。
H)数字10会被输出。
3.5(多选)调用下面testing方法会输出什么内容?
voidtesting(){
one:
for(inti=0;i<3;i++){
two:
for(intj=10;j<30;j+=10){
System.out.println(i+j);
if(i>1)
continueone;
}
}
}
A)10B)20C)11D)21
E)12F)22G)13H)23
I)010,020,110,120,210,220,310,320
第4章Java类
一、选择题
4.1编译、运行下面代码将发生什么?
classTest{
staticintmyArg=1;
publicstaticvoidmain(String[]args){
intmyArg;
System.out.println(myArg);
}
}
A)代码被编译,运行时输出0。
B)代码被编译,运行时输出1。
C)编译错,因为局部变量和类变量有相同的名字。
D)编译错,因为局部变量在使用之前没有被初始化。
4.2编译下面代码将会发生什么错误?
publicclassMyClass{
publicstaticvoidmain(Stringarguments[]){
amethod(arguments);
}
publicvoidamethod(String[]arguments){
System.out.println(arguments);
System.out.println(arguments[1]);
}
}
A)main方法方法体中不能调用amethod方法。
B)main方法的参数声明不合法。
C)数组访问时必须包含下标值。
D)amethod方法的返回类型应该为String。
4.3执行下面代码会输出什么内容?
(单选)
Booleanb1=newBoolean(true);
Booleanb2=newBoolean(true);
Objectobj1=(Object)b1;
Objectobj2=(Object)b2;
if(obj1==obj2)
if(obj1.equals(obj2))
System.out.println("a");
else
System.out.println("b");
else
if(obj1.equals(obj2))
System.out.println("c");
else
System.out.println("d");
A)aB)bC)cD)d
4.4编译、运行下面代码将发生什么?
publicclassTest{
publicstaticvoidtest(){
this.print();
}
publicstaticvoidprint(){
System.out.println("Test");
}
publicstaticvoidmain(Stringargs[]){
test();
}
}
A)运行时输出:
Test
B)运行时抛出例外,指出一个对象还没有被创建
C)运行时不输出任何内容
D)运行时抛出例外,指出test方法没有发现
E)运行时抛出例外,指出变量this只能够用在实例中
F)编译出错,指出变量this没有被定义
4.5考虑下面代码,字符串"Hithere"何时被输出?
publicclassStaticTest{
static{
System.out.println("Hithere");
}
publicvoidprint(){
System.out.println("Hello");
}
publicstaticvoidmain(Stringargs[]){
StaticTestst1=newStaticTest();
st1.print();
StaticTestst2=newStaticTest();
st2.print();
}
}
A)从不输出B)每次创建实例时输出
C)当类被装入Java虚拟机时输出D)当static方法被调用时输出
4.6下面应用程序的运行结果是什么?
publicclassMyTest{
intx=30;
publicstaticvoidmain(Stringargs[]){
intx=20;
MyTestta=newMyTest();
ta.Method(x);
System.out.println("Thexvalueis"+x);
}
voidMethod(inty){
intx=y*y;
}
}
A)Thexvalueis20B)Thexvalueis30
C)Thexvalueis400D)Thexvalueis600
4.7给定以下类定义:
publicclassTest{
publicvoidamethod(inti,Strings){}
//Here
}
下面哪些方法定义可以分别放置在上面的注释行处?
A)publicvoidamethod(Strings,inti){}
B)publicintamethod(inti,Strings){}
C)publicvoidamethod(inti,Stringmystring){}
D)publicvoidAmethod(inti,Strings){}
4.8给定以下代码:
1)publicabstractclassProd{
2)publicabstractvoidprmth1();
3)publicstaticvoidprmth2(){
4)intmth2=30;
5)System.out.println("prmth2="+mth2);
6)}
7)publicabstractvoidprmth3();
8)}
请问下面哪个陈述是正确的?
A)编译不会出错B)编译出错,错误定位于第1行
C)编译出错,错误定位于第3行D)编译出错,错误定位于第7行
4.9给定以下代码:
publicclassTest{
publicstaticIntegergetIt(){
Integerrg=newInteger(3);
Integerdg=rg;
rg=null;
returnrg;
}
}
请问下面哪个陈述是正确的?
A)编译出错B)编译成功,但运行时出错
C)getIt()方法不应该定义成static
D)当调用getIt()方法返回时,rg对象可以被垃圾收集
第5章继承、接口与包
一、选择题
5.1给定下面类定义:
classTest1{
floataMethod(floata,floatb){}
}
classTest2extendsTest1{
//XXXX
}
请问下面哪些方法可以分别加入类Test2中的注释行处?
A)floataMethod(floatb,floata){}
B)publicintamethod(inta,intb){}
C)protectedfloataMethod(floatp,floatq){}
D)privatefloataMethod(floatp,floatq){}
5.2分析下面两个类:
classFirst{
finalstaticintA=3;
}
finalclassSecondextendsFirst{
voidmethod(){
System.out.println(A);
}
}
选择一个正确的答案。
A)类First能被编译,但类Second不能。
B)类Second能被编译,但类First不能。
C)两个类都不能被编译。
D)两个类都能被编译,并且当调用方法method()时,将输出3。
E)两个类都能被编译,但当调用方法method()时,将抛出一个例外。
5.3编译并执行类B的main()方法,将会发生什么(单选)?
classA{
inti;
A(inti){
this.i=i*2;
}
}
classBextendsA{
publicstaticvoidmain(String[]args){
Bb=newB
(2);
}
B(inti){
System.out.println(i);
}
}
A)实例变量i被设置成4B)实例变量i被设置成2
C)实例变量i被设置成0D)编译错
5.4给定以下代码,请选择一个正确的答案替换其中的注释行。
classA{
A(inti){}
}
publicclassBextendsA{
B(){
//xxxxx
}
publicstaticvoidmain(Stringargs[]){
Bb=newB();
}
}
A)super(100);B)this(100);C)super();D)this();
5.5编译、运行下面代码将发生什么?
classBase{}
classSubextendsBase{}
publicclassCex{
publicstaticvoidmain(Stringargv[]){
Baseb=newBase();
Subs=(Sub)b;
}
}
A)编译和运行都不会出错B)编译出错
C)运行时抛出例外
5.6考虑类定义:
classBaseWidgetextendsObject{
Stringname="BaseWidget";
voidspeak(){System.out.println("Iama"+name);}
}
classTypeAWidgetextendsBaseWidget{
TypeAWidget(){name="TypeA";}
}
基于以上类定义,下面哪个代码片段是正确的?
A)ObjectA=newBaseWidget();A.speak();
B)BaseWidgetB=newTypeAWidget();B.speak();
C)TypeAWidgetC=newBaseWidget();C.speak();
5.7编译、运行下面程序的结果是什么?
1)classXxx{
2)privateinti;
3)Xxxx;
4)publicXxx(){
5)i=10;
6)x=null;
7)}
8)publicXxx(inti){
9)this.i=i;
10)x=newXxx();
11)}
12)publicvoidprint(){
13)System.out.println("i="+i);
14)System.out.println(x);
15)}
16)publicStringtoString(){
17)return"i="+i;
18)}
19)}
20)classTest{
21)publicstaticvoidmain(String[]args){
22)Xxxx=newXxx(100);
23)x.print();
24)System.out.println(x.x);
25)}
26)}
A)i=100B)i=100C)i=100D)编译错
1010i=10
null10i=10
第6章Java字符串
一、选择题
6.1如果下面代码片段被执行,那么将会输出什么?
Strings1="ABC";
Strings2=s1;
s1+="xyz";
System.out.println(s2);
A)ABCB)xyzC)ABCxyzD)null
6.2当执行下面代码片段时,第4行代码被执行吗?
1)Strings1="ABC123";
2)Strings2="AB"+"C123";
3)if(s1==s2)
4)System.out.println("Yes");
A)YESB)NO
6.3下面哪些是合法的Java代码片段?
A)Stringa="abcdefg";a-="cde";
B)Stringa="abcdefg";a+="cde";
C)Integerj=newInteger(27);j-=7;
D)Integerj=newInteger(27);j--;
6.4一个应用程序涉及以下方法:
1)staticStringsetFileType(Stringfname){
2)intp=fname.indexOf('.');
3)if(p>0)fname=fname.substring(0,p);
4)fname+=".TXT";
5)returnfname;
6)}
假定该应用程序有下面代码片段:
7)StringtheFile="Program.java";
8)Filef=newFile(setFileType(theFile));
9)System.out.println(“Created“+theFile);
请问第9行代码会输出什么?
A)输出:
C