12.下列语句序列执行后,i的值是(D)。
inti=16;do{i/=2;}while(i>3);
A)16B)8C)4D)2
13.以下由for语句构成的循环执行的次数是(B)。
for(inti=0;true;i++);
A)有语法错,不能执行B)无限次C)执行1次D)一次也不执行
14.定义类头时能使用的修饰符是(C)。
A)privateB)staticC)abstractD)protected
15.设int型变量a、b,float型变量x、y,char型变量ch均已正确定义并赋值,
正确的switch语句是(D)。
A)switch(x+y)B)switch(ch+1)C)switchchD)switch(a+b);
{......}{......}{......}{......}
16.以下关于继承和接口的叙述正确的是(D)。
A、在Java中接口不允许被继承。
B、在Java中一个类只能实现一个接口。
C、在Java中一个类不能同时继承一个类和实现一个接口。
D、在Java中类只允许单一继承。
17.下列类定义中,不正确的是(C)。
A)classx{....}B)classxextendsy{....}
C)staticclassximplementsy1,y2{....}D)publicclassxextendsApplet{....}
18.设x、y为已定义的类名,下列声明x类的对象x1的语句中正确的是(A)。
A)staticxx1;B)publicxx1=newx(int123);C)yx1;D)xx1=x();
19.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是(B)。
A)x(intm){..}B)voidx(intm){..}C)x(intm,intn){...}D)x(inth,intm,intn){...}
20.下列方法定义中,正确的是(A)。
A)intx(){charch='a';return(int)ch;}B)voidx(){...returntrue;}
C)intx(){...returntrue;}D)intx(inta,b){returna+b;}
21.用于定义类成员的访问控制权的一组关键字是(D)。
A)class,float,double,publicB)float,boolean,int,long
C)char,extends,float,doubleD)public,private,protected
22.下面哪个函数是public void exam(){...}的重载函数?
(B)。
A、public String exam( ){...}B、public void exam( int m, float f){...}
C、public void exam(){...}D、public int exam(){...}
23.下列程序段执行后b3的结果是(D)。
booleanb1=true;booleanb2=false;
booleanb3;b3=b1?
b1:
b2;
A)0B)1C)trueD)false
25关于包的叙述,下面哪个是不正确的?
( A )
A、一个.java的源程序文件中可以有多条声明包的语句。
B、一个包中的多个类之间不可以重名,不同包中的类名可以相同。
C、声明包用关键字package。
D、一个包中可以包含多个类。
26.设有定义inti=123;longj=456;下面赋值不正确的语句是(D)。
A)j=i;B)j=(long)i;C)i=(int)j;D)i=j;
27.以下哪个是java的原始数据类型(C)
A、IntB、BooleanC、floatD、String
28.哪些是将一个十六进制值赋值给一个long型变量[D]
A.longnumber=345L;
B.longnumber=0345;
C.longnumber=0345L;
D.longnumber=0x345L;
29.当Frame的大小被改变时,Frame中的按钮的位置也可能被改变,请问此时使用的是什么布局管理器[B]
A.BorderLayout
B.FlowLayout
C.CardLayout
D.GridLayout
30.下面的哪些答案可以用以表示八进制值8?
[A]
A.010B.0x10C.08D.0x8E.void
31.下面无效的标识符为:
(A)
A、nullB、lengthC、$Boy26D、_code
32.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的(B)。
A、ArrayListmyList=newObject()B、ListmyList=newArrayList()
C、ArrayListmyList=newList()D、ListmyList=newList()
33.main()方法的返回类型是什么?
[B]
A.intB.voidC.BooleanD.static
34.给出以下关于一个使用适当的字符间距的字体的TextField的表达式TextFieldt=newTextField("theyaregood",40);//40指的是像素哪些叙述是对的?
[D]
A.被显示的字符串可以使用多种字体。
B.一行中最大的字符数是40
C.显示的宽度正好是40个字符宽。
D.用户可以编辑字符。
35关于垃圾收集的哪些叙述是对的?
[B]
A.程序开发者必须自己创建一个线程进行内存释放的工作。
B.垃圾收集将检查并释放不再使用的内存。
C.垃圾收集允许程序开发者明确指定并立即释放该内存。
D.垃圾收集能够在期望的时间释放被java对象使用的内存。
36.给出下面的代码
1publicclassTest{
2intm,n;
3publicTest(){}
4publicTest(inta){m=a;}
5publicstaticvoidmain(Stringarg[]){
6Testt1,t2;
7intj,k;
8j=0;k=0;
9t1=newTest();
10t2=newTest(j,k);
11}
12}
在编译时哪行将导致一个错误?
[D]
A.第3行
B.第5行
C.第6行
D.第10行
37.Thread的方法resume()负责恢复哪些线程的执行?
[D]
A.通过调用stop()方法而停止的线程。
B.通过调用sleep()方法而停止运行的线程。
C.通过调用wait()方法而停止运行的线程。
D.通过调用suspend()方法而停止运行的线程.已经过期
38.JDK提供的编译器是(D)
A、java.exeB、javaw.exeC、javap.exeD、javac.exe
39.下面的哪些赋值语句是错的?
[A]
A.floatf=11.1;B.doubled=5.3E12;C.doubled=3.14159;D.doubled=3.14D;
40.给出下面的不完整的类代码
classPerson{
Stringname,department;
intage;
publicPerson(Stringn){name=n;}
publicPerson(Stringn,inta){name=n;age=a;}
publicPerson(Stringn,Stringd,inta){
//完成Person(Stringn,inta)的逻辑
department=d;
}
}
下面的哪些表达式可以加到构造方法中的注释处?
[C]
A.Person(n,a);B.this(Person(n,a));//构造函数的名字不能当方法名调用;
C.this(n,a);D.this(name,age);//构造方法的参数也不能直接传实例变量名
41.给出下面的代码
publicclassTest{
voidprintValue(intm){
do{
System.out.println("Thevalueis"+m);
}while(--m>10);
}
publicstaticvoidmain(Stringarg[]){
inti=10;
Testt=newTest();
t.printValue(i);
}
}输出将是什么?
[C]
A.8B.9C.10D.11
42.类的设计要求它的某个成员变量不能被外部类直接访问。
应该使用下面的哪些修饰符获得需要的访问控制?
[D]
A.publicB.不加修饰符C.protectedD.private
43.有如下数据声明:
intx;Strings="123";将s转化为int型数据的语句,正确的是(A)
A、x=Interger.parseInt(s);B、x=s.parseInt(s);C、x=x.valueof(s);D.x=String.parseInt(s);
44.给出下面的代码
publicclassPerson{
intarr[]=newint[10];//非静态属性
publicstaticvoidmain(Stringa[]){
System.out.println(arr[1]);//静态方法不能访问非静态属性
}
}
哪些叙述是对的?
[A]
A.编译时出错。
B.编译时正确而运行时出错。
C.输出0。
D.输出null。
45.下面(B)是合法的Java标识符。
A、#_poundB、_underscoreC、5InterstateD、class
46.下面(D)赋值语句不会出现编译警告或错误。
A、floatf=1.3;B、charc="a";C、byteb=257;D、inti=10;
47.编译一个定义了两个类和三个方法的Java源程序文件,总共会产生(D)个字节码文件。
A、5个字节码文件,以“.java”为扩展名B、2个字节码文件,以“.java”为扩展名
C、5个字节码文件,以“.class”为扩展名D、2个字节码文件,以“.class”为扩展名
48.关于下面程序,(A)的结论是正确的。
classJ_SubClassextendsJ_Test{}
publicclassJ_Test{
J_Test(inti){
System.out.println(i);
}
publicstaticvoidmain(String[]args){
J_SubClassa=newJ_SubClass();
}
}
A、不能通过编译,因为类J_Test没有定义无参数的构造方法
B、不能通过编译,因为类J_SubClass没有定义无参数的构造方法
C、不能通过编译,因为没有实现J_SubClass(inti)的构造方法
D、可以成功通过编译
49.关于java中的类及其成员的访问控制权限,以下说法不正确的是(C)
A、java为类提供两种访问控制权限:
public和缺省。
B、java为类中成员提供4种访问控制权限:
public、缺省、private、protected。
C、被private修饰的成员只能被同一个包中的类访问和修改。
D、被protected修饰的成员可被三种类所引用:
该类自身、同一个包中的其他类、在其他包中的该类的子类。
52.有关类的说法,正确的是(B)。
A、类具有封装性,所以类的数据是不能被访问的
B、类具有封装性,但可以通过类的公共接口访问类中的数据
C、声明一个类时,必须使用public修饰符
D、每个类中必须有main方法,否则程序无法运行
53.执行完下面程序片段后,(B)的结论是正确的。
inta,b,c;
a=1;
b=2;
c=(a+b>3?
a++:
b++);
A、a的值是2,b的值是3B、a的值是1,b的值是3
C、a的值是1,b的值是2D、c的值是false
54.将类的成员的访问权限设置为默认的,则该成员能被(A)。
A、同一包中的类访问B、其他包中的类访问C、所有的类访问D、所有的类的子类访问
55.下面的方法重载,正确的是(C)。
A、intfun(inta,floatb){}B、floatfun(inta,floatb){}
floatfun(inta,floatb){}floatfun(intx,floaty){}
C、floatfun(floata){}D、floatfun1(inta,floatb){}
floatfun(floata,floatb){}floatfun2(inta,floatb){}
56.下面关于继承的说法,正确的是(D)。
A、超类的对象就是子类的对象B、一个类可以有几个超类
C、一个类只能有一个子类D、一个类只能有一个超类
57.下面关于多态性的说法,正确的是(C)。
A、一个类中不能有同名的方法C、子类中可以有和父类中同名且参数相同的方法
B子类中不能有和父类中同名的方法D、多态性就是方法的名字可以一样,但返回的类型必须不一样
13.当需要在文件中写入字符而不是字节时,在下面的类中最好选用(B)类。
Ajava.io.RandomAccessFileBjava.io.PrintWriter
Cjava.io.PrintStreamDjava.io.PrintOutputStream
58.关于事件监听,正确的是(C)。
A、一个事件监听器只能监听一个组件
B、一个事件监听器只能监听处理一种事件
C、一个组件可以注册多个事件监听器,一个事件监听器也可以注册到多个组件上
D、一个组件只能引发一种事件
59.关于下面程序,(D)的结论是正确的。
publicclassJ_Test{
publicstaticvoidmain(String[]args){
try{
return;
}
finally{
System.out.println("1");
}
}
}
A、上面程序含有编译错误B、上面程序在运行时会产生一个运行时异常
C、上面程序会正常运行,但不产生任何输出D、上面程序输出“1”
59.用“newFileOutputStream(“data.txt”,true)”创建一个FileOutputStream实例对象,则下面(B)说法是正确的。
A、如果文件“data.txt”存在,则将抛出IOException异常
B、如果文件“data.txt”存在,则将在文件的末尾开始添加新内容
C、如果文件“data.txt”存在,则将覆盖掉文件中已有的内容
D、如果文件“data.txt”不存在,则将抛出IOException异常
60.改变当前容器的布局方式,(A)。
A、调用方法setLayoutB、容器一旦生成,它的布局方式就不能改变
C、调用方法setLayoutManagerD、调用方法updateLayout
二.填空题
1.构造函数_没__有返回值。
2.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和double_____两种具体类型。
3.创建类对象的运算符是__new。
4.当整型变量n的值不能被13除尽时,其值为false的Java语言表达式是__if(n%13!
=0){renturnfalse;}_________。
5.在Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的__元素个数(长度)。
6.定义类就是定义一种抽象的______父类______,它是所有具有一定共性的对象的抽象描述。
7.在Java语言中,使用__平台无关____java虚拟机___等技术,实现软件重用。
8.表达式3/6*5的计算结果是____0____。
9.下面是一个类的定义:
publicclass____Myclass_______
{
intx,y;
Myclass(inti,___intj___)//构造函数
{x=i;y=j;}}
10.下面是一个JavaApplication的主类的定义,其功能是输出所有命令行参数。
importjava.io.*;
publicclassMyClass
{
publicstaticvoidmain(Stringargs[])
{
if(args.length!
=_0__)
for(inti=0;iSystem.out.println(_"i="+i__________);
elseSystem.out.println(没有命令行参数);}}
11下面是一个小程序的主类myprogram的定义,其中A、B是该主类所在源程序中已定义的另两个类的类名:
importjavaawt.*;
importjavaapplet.*;
publicclassmyprogramextendsApplet//定义小程序的主类
{Aa;Bb;
public_____myprogram___init()
{a=newA();b=___new__B();}}
12.Java的复合数据类型有:
类、数组和___接口____等。
Java的简单数据类型有:
数值类型(整形和浮点类型),自负类型和布尔类型
13.表达式3/6*5的计算结果是_0_______。
14.定义初值为10的10次方的长整型变量lvar的语句是:
_longlvar=1*e10__。
15.顺序结构、分支结构(或称选择结构)、__循环结构_是结构化程序设计的三种基本流程控制结构。
16.以下方法m的功能是求两参数之积的整数部分。
intm(floatx,floaty)
{_______k=(int)x*y___________;}
17.Java源程序文件编译后产生的文件称为____字节码____文件,其扩展名为___.class_______。
18.下面的程序段定义了一个Circle类,成员方法area完成圆形面积的计算,构造方法完成圆形宽度的设置,请完成该程序。
publicclassCircle{
intradius;
doubletheArea;
public___Circle___(intradius){
____this.radius=radius____
}//面积计算
publicdoublea