A)true,6,8B)false,7,7
C)true,7,7D)false,6,8
7.下面的程序段输出的变量b的值是(B)。
inta=0xFFFFFFFE;
intb=~a;
System.out.println("b="+b);
A)0xFFFFFFFEB)1C)14D)-2
8.若a和b均是整型变量并已正确赋值,正确的switch语句是(AD)。
A)switch(a+b);B)switch(a+b*3.0)
{……}{……}
C)switchaD)switch(a%b)
{……}{……}
9.以下由do-while语句构成的循环执行的次数是(D)。
A)无限次B)有语法错,不能执行
C)一次也不执行D)执行1次
intk=0;
do{++k;}while(k<1);
10.执行完下面的程序段后,k的值是(B)。
intk=0;
label:
for(inti=1;i<10;i++)
{
for(intj=1;j<5;j++)
{
k+=i+j;
if(j==3)
breaklabel;
}
}
A)3B)9C)12D)6
11.下列方法x的定义中,正确的是(A)。
A)intx(){charch='a';return(int)ch;}B)voidx{...}
C)intx(inti){return(double)(i+10);}D)x(inta){returna;}
12.下列方法定义中,方法头不正确的是(D)。
A)publicintx(){...}B)publicstaticintx(doubley){...}
C)voidx(doubled)D)publicstaticx(doublea){...}
13.为了区分重载多态中同名的不同方法,要求(A)。
A)采用不同的形式参数列表B)返回值类型不同
C)参数名不同D)选项A、B、C都对
14.在某个类中定义一个方法:
voidGetSort(intx),以下能作为这个方法的重载的是(ABCD)。
A.voidGetSort(floatx){x*=x;}
B.intGetSort(doubley){return(int)(2*y);}
C.doubleGetSort(intx,inty){returnx+y;}
D.voidGetSort(intx,inty){x=x+y;y=x-y}
15.若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9};
则对a数组元素正确的引用是(B)。
A)a[-3]B)a[9]C)a[10]D)a(0)
16.下面是在命令行运行Java应用程序A,怎样才能在main(Stringargs[])方法中访问单词"first"(BD)?
javaAthefirstsnow,thefirstsnowcame.
A)args[0]B)args[1]C)args[2]D)args[5]
6.编写Java应用程序求1!
+2!
+...+20!
的和并显示,要求用方法实现求阶乘。
3.应用程序中定义方法头如下所示的方法:
staticint[]add(int[]x,int[]y)
staticint[]multi(int[]x,int[]y)
add方法的功能是:
把参数数组x和y(其元素个数相同)的每个元素相加,并作为返回数组的元素;multi方法的功能是:
把参数数组x和y(其元素个数相同)的每个元素相乘,并作为返回数组的元素。
在Java应用程序中使用这两个方法。
6.编写应用程序,定义一个5行3列的二维数组,给数组的每个元素赋10~100之间的随机值,显示二维数组每行的元素,并输出所有元素的和。
1.面向对象程序设计的基本特征是(ABCD)。
A)抽象B)封装C)继承D)多态
2.下面关于类的说法正确的是(ABCD)。
A)类是Java语言中的一种复合数据类型。
B)类中包含数据变量和方法。
C)类是对所有具有一定共性的对象的抽象。
D)Java语言的类只支持单继承。
3.下列选项中,用于在定义类头时声明父类名的关键字是(D)。
A)packageB)interfaceC)classD)extends
4.定义类头时可以使用的访问控制符是(CD)。
A)privateB)protected
C)publicD)缺省的,即没有访问控制修饰符
5.有一个类A,对于其构造函数的声明正确的是(B)。
A)voidA(intx){...}B)A(intx){...}
C)AA(intx){...}D)intA(intx){...}
6.设X为已定义的类名,下列声明对象x1的语句中正确的是(ABD)。
A)staticXx1;B)privateXx1=newX();
C)abstractXx1;D)finalXx1=newX();
7.设类B是类C的父类,下列声明对象x1的语句中不正确的是(D)。
A)Bx1=newB();B)Bx1=newC();
C)Cx1=newC();D)Cx1=newB();
8.编译运行下面的程序,结果是(A)。
publicclassA{
publicstaticvoidmain(String[]args){
Bb=newB();
this.test();
}
publicvoidtest(){
System.out.print("A");
}
}
classBextendsA{
voidtest(){
super.test();
System.out.println("B");
}
}
A)产生编译错误,因为类B覆盖类A的方法test()时,降低了其访问控制的级别。
B)代码可以编译运行,并输出结果:
AB。
C)代码可以编译运行,但没有输出。
D)代码可以编译运行,并输出结果:
A。
9.下面的程序编译运行的结果是(A)。
publicclassAimplementsB{
publicstaticvoidmain(String[]args){
intm,n;
At=newA();
m=t.k;
n=B.k;
System.out.println(m+","+n);
}
}
interfaceB{intk=5;}
A)5,5B)0,5C)0,0D)编译程序产生编译错误
10.为了使包abc中的所有类在当前程序中可见,可以使用的语句是(A)。
A)importabc.*;B)packageabc.*;
C)importabc;D)packageabc;
1.定义一个名为MyRectangle的矩形类,类中有4个私有的整型域,分别是矩形的左上角坐标(xUp,yUp)和右下角坐标(xDown,yDown);类中定义没有参数的构造方法和有4个int参数的构造方法,用来初始化类对象。
类中还有以下方法:
getW()——计算矩形的宽度;getH()——计算矩形的高度;area()——计算矩形的面积;toString()——把矩形的宽、高和面积等信息作为为字符串返回。
编写应用程序使用MyRectangle类。
2.设计一个Dog类,它有名字、颜色、年龄等属性,定义构造方法用来初始化类的这些属性,定义方法输出Dog的信息。
编写应用程序使用Dog类。
3.设计一个长方体类MyCube,该类包含第1题中的MyRectangle类对象作为类的域,表示长方体的底面;此外还包含一个整型变量d,表示长方体的高。
类中定义构造方法初始化类对象、定义求体积和表面积的方法。
编写应用程序测试MyCube类。
4.设计一个表示用户的User类,类中的变量有用户名、口令(私有的)和记录用户个数的变量(静态的),定义类的3个构造方法(没有参数、有一个参数给用户名赋值、有两个参数给用户名和口令赋值)、获取和设置口令的方法、返回字符串表示的类信息的方法(包括用户名、口令)。
编写应用程序测试User类。
1.定义一个抽象基类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类,这两个类都用getArea()方法计算对象的面积。
编写编写应用程序使用Rectangle类和Circle类。
2.定义一个接口ClassName,接口中只有一个抽象方法getClassName()。
设计一个类Horse,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名。
编写应用程序使用Horse类。
3.定义接口MyItfc,接口中只有一个名为area的方法,该方法有一个double类型参数,返回类型也为double。
编写一个应用程序,并实现接口MyItfc,接口中area方法的实现是返回参数的立方值;在应用程序中调用该方法并输出其结果。
1.定义字符串s:
Strings=”Micrsoft公司”;执行下面的语句,c的值为(B)。
charc=s.charAt(9);
A)产生数组下标越界异常。
B)司C)nullD)公
2.以下语句执行后输出的结果是(B)。
Strings0=newString("hello,Java!
");
System.out.println(s0.length());
A)10B)11C)9D)15
3.应用程序的main方法中有以下语句,则输出的结果是(A)。
Strings1=newString("AAA");
Strings2=newString("AAA");
booleanb1=s1.equals(s2);
booleanb2=(s1==s2);
System.out.print(b1+""+b2);
A)truefalseB)falsetrueC)truetrueD)falsefalse
4.下面的程序段输出的结果是(A)。
Strings1="Java",s2="java";
System.out.println(s1.equalsIgnoreCase(s2));
A)trueB)falseC)JavaD)java
5.下面的程序段输出的结果是(A)。
Strings1="Abc",s2="Bcd";
System.out.println(pareTo(s2));
A)-1B)1C)falseD)true
6.下面的程序段执行完后,cont的值是多少(C)?
Stringstrings[]={"string","starting","strong","street","soft"};
intcont=0;
for(inti=0;iif(strings[i].endsWith("ng"))
cont++;
A)1B)2C)3D)4
7.定义字符串:
Stringstr="abcdefg";则str.indexOf('d')的结果是(C)。
A)’d’B)trueC)3D)4
8.下面的程序段输出的结果是(A)。
StringBufferbuf1;
Stringstr="北京2008";
buf1=newStringBuffer(str);
System.out.println(buf1.charAt
(2));
A)2B)京C)0D)null
9.下面的程序段输出的结果是(C)。
StringBufferbuf1;
Stringstr="007beijing";
buf1=newStringBuffer(str);
buf1.setCharAt(0,'6');
System.out.println(buf1.toString());
A)007bei0jingB)007beijingC)607beijingD)667beijing
10.若有如下赋值语句:
x=newStringBuffer().append("a").append(4).append("c").toString();
x的类型是_______;它的值是_______。
答案:
String;a4c。
11.下面的程序段希望把字符串str中的类名、对象名和方法名分离出来单独显示,因此创建了一个字符串分析器对象stoken,请把stoken的分隔符填写在程序中的空中,程序中定义的变量k的值是__
(1)___。
Stringstr="System.out.println(\"stoken.hasMoreTokens()=\"+stoken.hasMoreTokens())";
StringTokenizerstoken=newStringTokenizer(str,___
(2)___);
intk=stoken.countTokens();
答案:
(1)7
(2)".()\"+="
12.应用程序的main方法中有以下语句,则输出的结果是(B)。
Hashtablehashtable=newHashtable();
hashtable.put("100","aaa");
hashtable.put("200","bbb");
hashtable.put("300","ccc");
System.out.println(hashtable.get("200"));
A)aaaB)bbbC)200D)3
编写命令行界面的猜数游戏:
猜数范围由命令行输入,将猜数的结果输出并提示,直到猜出正确的结果。
6.编写应用程序,用1到6之间的随机数来模拟掷骰子游戏,统计扔5000次后出现骰子各点的次数并输出。
编写应用程序,在其main方法中定义以下两个字符串数组:
StringmpgStr[]={"1.jpg","2.jpg","3.jpg","4.jpg","5.jpg"};
StringpngStr[]={"1.png","2.png","3.png","4.png","5.png"};
然后将他们的每个元素间隔添加到Vector对象中,并在命令行界面显示所有元素;然后将Vector对象中所有.png的元素都删除,再显示Vector对象中的所有元素,如图所示。
4.定义一个学生类Student,该类定义了3个属性:
学号number(String类型)、姓名name(String类型)和成绩mark(int型);类中定义一个构造方法,用来初始化类中的3个属性;为了方便显示,该类覆盖了父类Object的toString()方法,返回以下格式的字符串:
"学号:
"+number+"姓名:
"+name+"成绩:
"+mark。
编写应用程序,在main方法中创建ArrayList对象list,并添加5个Student类对象,并将list的所有元素分行显示;然后将list的元素按学号升序排序后输出。
1.为了捕获一个异常,代码必须放在下面哪个语句块中(A)?
A)try块B)catch块C)throwsD)finally块
2.下面关于try块的说法正确的是(C)?
A)try块后至少应有一个catch块。
B)try块后必须有finally块。
C)可能抛出异常的方法应放在try块中D)对抛出的异常的处理应放在try块中
3.finally块中的代码将(A)
A)总是被执行B)如果try块后面没有catch块时,finally块中的代码才会执行。
C)异常发生时才被执行D)异常没有发生时才被执行
4.一个异常将终止(C)?
A)整个程序B)只终止抛出异常的方法
C)产生异常的try块D)上面的说法都不对。
5.阅读下面的程序,选择正确的说法(B)。
classA{
publicstaticvoidmain(Stringargs[])throwsException{
method();
}
staticvoidmethod()throwsException{
try{
System.out.print("try:
performed\t");
}
finally{
System.out.print("fina