t3;
(A)5(B)6(C)7(D)以上都不对
12.若a和b均是整型变量并已正确赋值,正确的switch语句是()。
(A)switch(a+1)(B)switch(a*a+b*b);
{……}{……}
(C)switcha(D)switch[a+b]
{……}{……}
13.下列语句序列执行后,k的值是()。
intx=3,y=5,k=0;
switch(x%y+3)
{
case0:
k=x*y;break;
case6:
k=x/y;break;
case12:
k=x-y;break;
default:
k=x*y-x;break;
(A)12(B)0(C)15(D)-2
14.下列语句序列执行后,r的值是()。
intx=5,y=10,r=5;
switch(x+y)
{
case15:
r+=x;
case20:
r-=y;
case25:
r*=x/y;
default:
r+=r;
}
(A)15(B)10(C)0(D)20
15.下列语句序列执行后,j的值是()。
intj=9,i=6;
while(--i!
=3)j=j+2;
(A)9(B)11(C)13(D)15
16.下面的while循环执行的次数是()。
inti=3;
while(++i<6)i+=2;
(A)1(B)2(C)3(D)4
17.设变量k已定义,以下由while语句构成的循环执行的次数是()。
While(true)k++;
(A)无限次(B)有语法错误,不能执行
(C)一次也不执行(D)执行一次
18.下列语句序列执行后,j的值是()。
intj=9,i=6;
while(i-->3)--j;
(A)5(B)6(C)7(D)8
19.下列语句序列执行后,i的值是()。
inti=0;
do{i+=3;}while(i<10);
(A)3(B)6(C)9(D)12
20.以下由do-while语句构成的循环执行的次数是()。
intk=0;
do{++k;}while(k<1);
(A)无限次(B)有语法错,不能执行(C)一次也不执行(D)执行1次
21.下列语句序列执行后,i的值是()。
inti=2;
do{i*=i;}while(i<16);
(A)4(B)8(C)16(D)32
22.下列语句序列执行后,j的值是()。
intj=0;
for(inti=1;i<6;i=i+2)j+=i;
(A)9(B)10(C)11(D)12
23.下列语句序列执行后,j的值是()。
intj=0;
for(inti=5;i>0&j<10;i--)j+=i;
(A)9(B)10(C)11(D)12
24.能从循环语句的循环体中跳出的语句是()。
(A)for语句(B)break语句(C)while语句(D)continue语句
25.执行完下面的程序段后,k的值是()。
intk=0;
label:
for(inti=1;i<3;i++)
{
for(intj=1;j<3;j++)
{
k+=i+j;
if(i==2)
continuelabel;
}
}
(A)3(B)5(C)8(D)12
26.下列方法x的定义中,正确的是()。
(A)intx(){charch=’a’;return(int)ch;(B)voidx{……}
(C)intx(inti){return(double)(i+10);}(D)x(inta){returna;}
27.下列方法定义中,方法头不正确的是()。
(A)publicintx(){……}(B)publicstaticintx(doubley){……}
(C)voidx(doubled)(D)publicstaticx(doublea){……}
28.若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9};则对a数组元素正确的引用是()。
(A)a[-3](B)a[9](C)a[10](D)a(0)
29.下面的程序段输出的结果是()。
inti=1,b,c;
int[]a=newint[3];怎样才能在main(Stringargs[])方法中访问单词”first”()。
(A)args[0](B)args[1](C)args[2](D)args[5]
1.面向对象程序设计的基本特征是()。
(A)抽象(B)封装(C)继承(D)多态
2.下面()是面向对象编程中对象的特征。
(A)对象的状态(B)对象的行为
(C)对象的标识(D)以上都不对
3.下面关于类的说法正确的是()。
(A)类是Java语言中的一种复合数据类型
(B)类中包含数据变量和方法
(C)类是对所有具有一定共性的对象的抽象
(D)Java语言的类只支持单继承
4.能作为类及其成员的修饰符是()。
protected和private可以修饰内部类
(A)interface(B)class(C)protected(D)public
5.定义类头可以使用的访问控制符是()。
(A)private(B)protected(C)public(D)缺省的,即没有访问控制符
6.有一个类A,对于其构造函数的声明正确的是()。
(A)voidA(intx){……}(B)A(intx){……}
(C)AA(intx){……}(D)intA(intx){……}
7.设X为已定义的类名,下列声明对象x1的语句正确的是()。
(A)staticXx1;(B)privateXx1=newX();
(C)abstractXx1;(D)finalXx1=newX();
注:
变量不可用abstract修饰
8.设已经声明了一个类A的两个对象a1、a2,为了初始化a1和a2,下面语句正确的是()。
(A)a1,a2=newA();(B)a1=();a2=();
(C)a1=new();a2=new();(D)a1=newA();a2=newA();
9.现有两个类A、B,以下描述中表示B继承自A的是()。
(A)classAextendsB(B)classBimplementsA
(C)classAimplements(D)classBextendsA
10.下面是有关子类调用父类构造函数的描述正确的是()。
(A)子类定义了自己的构造函数,就不会调用父类的构造函数
(B)子类必须通过super关键字调用父类的构造函数
(C)如果子类的构造没有通过super调用父类构造函数,那么子类会先调用父类不含参数的构造函数,再调用子类自己的构造函数。
(D)创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。
11.定义类B和类C如下,并将其保存为:
,编译,得到的结果是()。
classB
{
intb;B(inti){b=i;}
}
classCextendsB
{
doublec=;
}
(A)代码能够成功编译并运行
(B)代码无法编译,因为类B不是一个应用程序或小程序
(C)代码无法编译,因为类B没有定义不带参数的构造器
(D)代码无法编译,因为类C没有定义一个不带参数的构造器
12.设类B是类C的父类,下列声明对象x1的语句中不正确的是()。
(A)Bx1=newB();(B)Bx1=newC();
(C)Cx1=newC();(D)Cx1=newB();
13.设x、y均为已定义的类名,下列声明对象x1的语句中不可能的是()。
(A)publicxx1=newy();(B)xx1=x();
(C)xx1=newx();(D)publicyx1=newx();
14.编译运行下面的程序,结果是()。
publicclassA
{
publicstaticvoidmain(String[]args)
{
Bb=newB();
();
}
voidtest()
{
}
classBextendsA
{
voidtest()
{
();
}}
(A)产生编译错误
(B)代码可以编译运行,并输出结果:
AB
(C)代码可以编译运行,但没有输出
(D)编译没有错误,但会产生运行时异常
15.为了区分重载多态中同名的不同方法,要求()。
(A)采用不同的形式参数列表
(B)返回值类型不同
(C)调用时用类名或对象名做前缀
(D)参数名不同
16.在下面指定位置添加()选项中定义的方法,编译时会产生错误。
publicclassCextendsB
{
1.0f4.0f3.0f义类A如下,下面()是对构造函数的正确重载。
classA
{
inta,b,c;
publicA(intx,inty,intz)
{
a=x;b=;c=z;
}
}
(A)publicA(){a=0;b=0;c=0;}
(B)publicA(intx,inty,bytez){a=x;b=y;c=z;}
(C)publicA(intx,inty,floatz){a=x;b=y;c=(int)z;}
(D)publicvoidA(){a=0;b=0;c=0;}
18.定义类A及类中的方法setVar(),下面()是对该方法的重载。
publicclassA
{
publicvoidsetVar(inta,intb,floatc)
{……}
}
(A)protectedfloatsetVar(inta,intb,floatc){returnc;}
(B)protectedvoidsetVar(inta,intb,floatc){}
(C)protectedintsetVar(inta,floatc,intb){returna;}
(D)protectedintsetVar(inta,intb,floatc){returnb;}
19.有如下类定义,对于类B中的变量a增加修饰符,下面()是合法的。
publicclassB
{
inta=8;
publicB(inti)
{a=i;}
}
(A)public(B)private(C)static(D)abstract
20.下面()修饰符所定义的方法必须被子类所覆盖。
(A)final(B)abstract(C)static(D)volatile
21.下面()修饰符所定义的方法不能被子类所覆盖。
(A)final(B)abstract(C)static(D)volatile
22.下面()陈述是不对的。
(A)一个实例方法可以同时为protected和abstract类型
(B)static变量也可以是final类型
(C)static方法也可以是protected类型
(D)final方法也可以是abstract类型
23.定义两个类如下,如果编译类B和类C时,得到的结果是()。
abstractclassB
{
abstractvoidshow();
}
abstractclassCextendsB
{}
(A)类B和类C都可成功地编译
(B)类B和类C都不能编译
(C)类B可以编译,类C不能编译
(D)类C可以编译,类B不能编译
24.下面关于抽象方法的定义()是合法的。
(A)publicabstractmethod();
(B)publicabstractvoidmethod();
(C)publicvoidabstractmethod();
(D)publicabstractvoidmethod();{}
25.编译并运行下面的程序,产生的结果是()。
publicclassA
{
inta1=1;
inta2;
publicstaticvoidmain(String[]args)
{
inta3=2;
Aa=newA();
Result=3
(B)Result=102;
(C)会产生编译错误;
(D)不会产生编译错误,但也没有结果输出
义一个包的关键字是()。
(A)import(B)package(C)interface(D)protected
27下列选项中,用于在程序开头引入包的关键字是()。
(A)import(B)implements(C)integer(D)protected
28.下面()说法正确。
(A)如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名字
(B)如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行
(C)如果某源文件包含package语句,则该语句必须是第一个非空、非注释行
(D)接口中的方法必定是抽象方法,但可以不用关键字abstract修饰
29.下面()是Java语言的所有类的祖先类(基类)。
(A)Object(B)Double(C)Integer(D)package
30.以下语句输出的结果是()。
面的程序段执行后,变量a、b、c的值分别是()。
inta,b,c;
a=(int);义字符串s:
Strings=”Microsoft公司”;执行下面的语句,c的值为()。
charc=(9);
(A)产生数组下标越界异常(B)司
(C)null(D)公
33.以下语句执行后输出的结果是()。
Strings0=newString(“hello,Java!
”);
(A)10(B)11(C)9(D)15
34.定义字符串:
Strings1=”hello”;下面的程序段输出的结果是()。
if(“hello”))
equals\”hello\””);
else
doesnotequals\”hello\””);
(A)“s1equals\”hello\””(B)“s1doesnotequals\”hello\””
(C)s1equals”hello”(D)s1doesnotequals\”hello\”
35.下面的程序段输出的结果是()。
Strings1=”Java”,s2=”java”;
(A)true(B)false(C)Java(D)java
36.下面的程序段输出的结果是()。
Strings1=”Abc”,s2=”Bcd”;
(A)-1(B)1(C)false(D)true
37.下面的程序段执行完后,cont的值是()。
Stringstrings[]={“string”,”starting”,”strong”,”street”,”soft”};
intcont=0;
for(inti=0;i<;i+)
if(Strings[i].endsWith(“ng”))
cont++;
(A)1(B)2(C)3(D)4
38.定义字符串:
Stringstr=”abcdefg”;则(‘d’)的结果是()。
(A)‘d’(B)true(C)3(D)4
39.定义变量b:
booleanb=true;则(b)的类型是()。
(A)boolean(B)String(C)false(D)int
40.下面的程序段输出的结果是()。
StringBufferbuf1=newStringBuffer(20);
0,20(B)0,null(C)20,20(D)0,0
41.下面的程序段输出的结果是()。
StringBufferbuf1;
Stringstr=”北京2008”;
buf1=newStringBuffer(str);
(A)2(B)京(C)0(D)null
42.下面的程序段输出的结果是()。
StringBufferbuf1;
Stringstr=”007beijing”;
buf1=