潍坊学院JAVA考试习题.docx
《潍坊学院JAVA考试习题.docx》由会员分享,可在线阅读,更多相关《潍坊学院JAVA考试习题.docx(36页珍藏版)》请在冰豆网上搜索。
潍坊学院JAVA考试习题
一、选择填空题
1.以下哪个不是Java的原始数据类型()
(A)int(B)boolean(C)float(D)String
程序的执行过程中用到一套JDK工具,其中是指()
(A)Java文档生成器 (B)Java解释器
(C)Java编译器 (D)Java类分解器
3.Java程序设计语言采用的16位代码格式是()。
(A)Unicode(B)ASCII(C)EBCDIC(D)十六进制
4.在Java中,属于整数类型变量的是()
(A)single (B)double
(C)byte (D)char
5.下列语句片段inta=10,b=4,c=20,d=6;System.out.println(a++*b+c*--d);的结果为()
(A)144 (B)28
(C)140 (D)不能执行
6.下面无效的标识符为:
()
(A)A1234(B)_two(C)jdk1_3(D)2_cugii
7.intm[]={0,1,2,3,4,5,6},下面哪条语句的结果与数组元素个数相同()
(A)m.length(B)m.length()(C)m.length+1(D)m.length()+1
8.编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。
(A).java (B).class(C).html (D).exe
9.给出下面代码:
publicclasstest{
staticinta[]=newa[10];
publicstaticvoidmain(Stringargs[]){
System.out.println(arr[10]);
}
}
那个选项是正确的?
()
(A)编译时将产生错误; (B)编译时正确,运行时将产生错误;
(C)输出零; (D)输出空。
10.在Java中,不属于整数类型变量的是()
(A)double (B)long
(C)int (D)byte
11.下面哪些选项是正确的main方法说明?
()
(A)publicmain(Stringargs[])
(B)publicstaticvoidmain(Stringargs[])
(C)privatestaticvoidmain(Stringargs[])
(D)voidmain()
12.intindex=1;intfoo[]=newint[3];intbar=foo[index];intbaz=bar+index;经过以上代码后,baz的值是()
(A)0(B)1(C)2(D)代码不能编译
13.面向对象技术中的基本概念是()。
(A)类(B)程序(C)方法(D)语法
14.JAVA程序经常用到“递归”,“递归”的基本思想是()
(A)“让别人反复调用自己” (B)“自己反复调用别人”
(C)“自己反复调用自己” (D)以上说法都不对
15.如果在student类里面的setid()方法带了一个整型参数,给id赋值,并且创建了一个名为scholar的含有20个student对象的数组,则下面哪条语句正确地为第一个scholar赋了一个id号。
()
(A)student[0].setid(1234)(B)scholar[0].setid(1234)
(C)student.setid[0](1234)(D)scholar.setid[0](1234)
16.下面是一个递归JAVA程序,其功能为()
longFactorial(intn){
if(1==n){
return1;
}
else
returnn*Factorial(n-1);
}
(A)求1-n的和 (B)求2到n的和
(C)求n的阶乘 (D)求2-n的积
17.MAX_LENGTH是int型public成员变量,其值保持为常量100,用简短语句定义这个变量。
()
(A)publicintMAX_LENGTH=100;
(B)finalintMAX_LENGTH=100;
(C)finalpublicintMAX_LENGTH=100;
(D)publicfinalintMAX_LENGTH==100.
18.static方法可以()。
(A)访问实例变量(B)可以使用this关键字
(C)访问实例方法(D)直接用类名称来调用
19.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?
()
(A)ArrayListmyList=newObject();
(B)ListmyList=newArrayList();
(C)ArrayListmyList=newList();
(D)ListmyList=newList();
20.paint()方法使用哪种类型的参数
(A)Graphics (B)Graphics2D
(C)String (D)Color
21.下列哪个属于容器的构件( )
(A)JFrame (B)JButton
(C)JPnel (D)Japplet
22.intA[][]={{51,28,32,12,34},{72,64,19,31}};则值为19的元素是()。
(A)a[1][3](B)A[2][3](C)A[0][2](D)A[1][2]
23.采用继承可以减少错误的原因是()。
(A)新类有权访问更少的数据成员(B)新类有权访问更少的方法
(C)可以复制已经创建的方法(D)许多所需要的方法已经被使用和测试过
24.Java编程所必须的默认引用包为()
(A)java.sys包 (B)java.lang包(C)java.new包 (D)以上都不是
25.下列哪个类声明是正确的( )
(A)abstractfinalclassH1{…}
(B)abstractprivatemove(){…}
(C)protectedprivatenumber;
(D)publicabstractclassCar{…}
26.关于paint方法,以下说法错误的是()
(A)Java自动调用的
(B)当窗口从隐藏变成显示时自动执行
(C)从缩小图标还原之后自动执行
(D)方法没有参数
27.当子类的方法与父类方法同名且参数类型及个数都相同时,子类可以()父类方法。
(A)覆盖(B)过度使用(C)重载(D)过度代替
28.当创建一个子类的对象时,将首先执行()的构造函数。
(A)子类(B)父类(C)扩展的类(D)派生的类
29.Float与float的区别是()。
(A)float是一个基本类型而Float是一个类
(B)float是一个类而Float是一个基本类型
(C)都是基本类型(D)都是类
30.static方法可以()。
(A)访问实例变量(B)可以使用this关键字
(C)访问实例方法(D)直接用类名称来调用
31.出现在Java程序文件类定义外面的语句包含()语句。
(A)while(B)System(C)package(D)以上都是
32.当传递数组给方法时,方法接收()。
(A)数组的拷贝(B)数组中第一个元素的拷贝
(C)数组的地址(D)无
33.当子类的方法与父类方法同名且参数类型及个数都相同时,子类可以()父类方法。
(A)覆盖(B)过度使用(C)重载(D)过度代替
34.对象使用时,下面描述错误的是()
(A)通过“.”运算符调用成员变量和方法
(B)通过成员变量的访问权限设定限制自身对这些变量方法的调用
(C)将一个对象申明为类的成员时,必须在使用前为其分配内存
(D)在方法中使用对象作为参数时,采用引用调用
35.当创建一个子类的对象时,将首先执行()的构造函数。
(A)子类(B)父类(C)扩展的类(D)派生的类
36.给出如下代码:
classTest{
privateintm;
publicstaticvoidfun(){
//somecode...
}
}
如何使成员变量m被函数fun()直接访问()
(A)将privateintm改为protectedintm
(B)将privateintm改为publicintm
(C)将privateintm改为staticintm
(D)将privateintm改为intm
37.在接口里,所有的()。
(A)变量必须是公有的(B)变量必须是私有的
(C)方法必须是空的(D)方法必须是抽象的。
38.构造方法何时被调用()
(A)类定义时 (B)创建对象时
(C)调用对象方法时 (D)使用对象的变量时
39.为AB类的一个无形式参数无返回值的方法method1,书写方法头,使得使用基于该类创建的对象名称作为前缀就可以调用它,该方法头的形式为( )。
(A)privatevoidmethod1() (B)public void method1()
(C)finallongmethod1() (D)abstract void method1()
40.下列哪些语句关于内存回收的说明是正确的()
(A)程序员必须创建一个线程来释放内存;
(B)内存回收程序负责释放无用内存
(C)内存回收程序允许程序员直接释放内存
(D)内存回收程序可以在指定的时间释放内存对象
41.语句intm[]=newint[34];为()个整数保留了存储空间
(A)0(B)33(C)34(D)35
42.以下有关事件监听器的说法中错误的是()
(A)聆听者必须向产生事件component对象注册
(B)一个聆听者只能接收和处理一个component对象的事件
(C)一个聆听者能接收和处理多个component对象的事件
(D)一个component对象可以有多个聆听者
43.给出下面代码段
1)publicclassTest{
2)intm,n;
3)publicTest(){}
4)publicTest(inta){m=a;}
5)publicstaticvoidmain(Stringarg[]){
6)Testt1,t2;
7)intj,k;
8)j=0;k=0;
9)t1=newTest();
10)t2=newTest(j,k);
11)}
12)}
哪行将引起一个编译时错误?
()
(A)line3 (B)line5
(C)line6 (D)line10
44.子类Doll继承了父类Toy。
假定每个类都有一个publicvoidplay()方法。
下面哪一条语句可以从Doll类中调用属于Toy类的play()方法。
()
(A)play()(B)this.paly()(C)super.play()(D)Doll.play()
45.当编写一个JavaApplet时,以()为扩展名将其保存。
(A).app(B).html(C).java(D).class
46.函数重载是指()
(A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
(B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
(C)两个以上的函数名字不同,但形参的个数或类型相同
(D)两个以上的函数取相同的函数名,并且函数的返回类型相同
47.对于下列代码:
1)classPerson{
2)publicvoidprintValue(inti,intj){//...}
3)publicvoidprintValue(inti){//...}
4)}
5)publicclassTeacherextendsPerson{
6)publicvoidprintValue(){//...}
7)publicvoidprintValue(inti){//...}
8)publicstaticvoidmain(Stringargs[]){
9)Persont=newTeacher();
10)t.printValue(10);
11)}
第10行语句将调用哪行语句?
(A)line2 (B)line3
(C)line6 (D)line7
48、下列语句序列执行后,j的值是
intj=2;
for(inti=7;i>0;i-=2)j*=2;
(A)15(B)1(C)60(D)32
49、下列语句序列执行后,j的值是
intj=1;
for(inti=5;i>0;i-=2)j*=i;
(A)15(B)1(C)60(D)0
50、以下for循环的执行次数是
for(intx=0;(x==0)&(x>4);x++);
(A)无限次(B)一次也不执行
(C)执行4次(D)执行3次
51、若a和b均是整型变量并已正确赋值,正确的switch语句是
(A)switch(a+b);{......}
(B)switch(a+b*3.0){......}
(C)switcha{......}
(D)switch(a%b){......}
52、若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是
(A)b=a!
=7;(B)a=7+b+c=9;
(C)i=12.3*%4;(D)a=a+7=c+b;
二、判断题
1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
()
2.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。
()
3.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。
()
4.Java的坐标系统是相对于窗口的,以像素为单位,原点位于窗口的左下角。
()
5.Java语言中类和接口的继承都可以是多重继承。
()
6.重载是指方法名称相同,根据参数个数的不同,或参数类型的不同来设计不同的功能。
()
7.Java语言中,声明一个数组,数组名是一个变量,系统会分配一块内存给它,用来保存指向数组实体的地址。
()
8.Java语言中,所有类或接口的父类名称是Frame ()
10.每个JavaApplet均派生自Applet类,但不需加载Applet类,系统会自动加载。
()
11.Java的数据类型有分为原始数据类型和非原始数据类型。
()
12.在Java中main()方法可声明成privatestatic且没有返回值,之前要加上void关键字。
()
13.父类的变量不能访问子类的成员,子类的变量也不能访问父类的成员。
()
14.在抽象类中不可以定义构造函数。
()
15.覆盖是指定义多个方法,方法的名称相同,但参数个数不同或参数类型不同。
()
16.在Java中每个异常都是一个对象,它是异常类或其子类的实例。
()
17.在Java中,方法的参数传递只有一种形式:
值传递。
()
18.if(true){inti=17;}System.out.println(i);运行此程序的结果是输出17
19、在一个Java源程序文件中,可以有多个public类。
()
20、Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。
()
21、Java有两类程序:
JavaApplication和JavaApplet,其中JavaApplet程序由嵌入到浏览器中的解释器解释运行。
(T)
22、Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。
(T)
23、无论Java源程序包含几个类的定义,若该源程序文件以A.java命名,编译后生成的都只有一名为A的字节码文件。
(F)
24.虚拟机是用来解释Java指令的软件,可以让Java程序在任何机器上运行.
25.continue的作用是结束正在进行的,直接进入下一次循环.
26.在一个类中,静态方法只能调用本类中的其他静态成员(包括变量和成员函数).
27.子类不能定义与父类同名的方法.
28、通过String类说明的对象实例在程序运行过程中是不能够更改的;()
29、语句int[][]a=newint[3][4]可以创建一个整型二维数组;()
30、Java的每个子类的构造函数都要显式的调用它的直接父类的构造函数;()
31、在同一个Java源程序文件中只能有一个标识为public的类;()
32、Java语法格式中允许各种数据类型间进行相互转换;()
33、子类覆盖父类中的同名方法时,其访问权限可以是任意的;()
34. ( )Java语言除了应用于网络,还可以用于编写单机的应用程序。
35. ( )Java语言没有自动收集无用内存的功能。
36. ( )Java语言程序与硬件、软件平台有关
37. ( )Java语言是解释型语言
38. ( )Java语言支持类的继承,但不支持类的多重继承
39. ( )Unicode码与ASCII码不同,Unicode码是16位的,而ASCII码是8位的..
39. ( )在Java语言中即支持一维数组,也支持多维数组。
40. ( )在Java语言中,允许一个类继承一个父类的内容,但不允许继承多个父类的内容
41. ( )方法的重载是指子类和父类具有相同的名字、相同的参数表,但返回类型可以不相同。
42. ( )当一个文件使用完后,必须调用close()方法关闭。
43. ( )在定义类时,抽象类中的方法必须是空的方法,不能有任何代码.
44. ( )在Java中,add()方法是向容器组件中添加控件的方法。
()45、Java源程序文件中是不区分字母的大小写的。
()46、Javaapplet不能够存取客户机磁盘上的文件。
()47、可以用new来创建一个类的实例,即”对象”。
()48、Java程序对计算机硬件平台的依赖性很低。
()49、Java可以用来进行多媒体及网络编程。
()50、用final修饰的类必须被继承。
()51、类是对象实例。
()52、每个类都只能有一个构造方法。
()53、applet可以运行在浏览器中。
三·编程题
1、写一个完整的程序使用循环结构计算1+3+5+…+99的和并输出运算结果。
(15分)
2、写出一个Point(点)类,该类具有x,y(表示点的横、纵坐标)两个属性,并定义两个个构造方法,一个无参数,将x,y均设置为0,另一对坐标值为参数,设置x,y为给定坐标值。
该类的show方法输出该点的坐标值。
(15分)
四·阅读JAVA程序,写出运行结果。
1、publicclassko5_2{
publicstaticvoidmain(Stringargs[]){
intx=20,y=30;
if(x>0)
if(xx-=10;
else
y+=10;
System.out.print("x="+x);
System.out.println("y="+y);
}}
请给出运行结果___________________________
2、publicclassko5_12{
publicstaticvoidmain(Stringargs[]){
intt,z=10;
t=sum(z);
System.out.println("sum="+t);}
staticintsum(intx){
if(x==1)
return
(1);
else
return(sum(x-1)*x);
}
}
请给出运行结果___________________________
3、interfaceko6_7interface{
floatx=30.5;
floaty=4.6;
floattotal();
}
publicclassko6_7implementsko6_7interface
{
floatdollar,money;
ko6_7(floata,floatb)
{dollar=a;money=b;}
publicfloattotal()
{returnx*dollar+money/y;}
publicstaticvoidmain(Stringargs[]){
ko6_7z=newko6_7(100,4600);
System.out.print("美金="+z.dollar);
System.out.print("人民币="+z.money);
System.out.print("折合台币="+z.total());
}
}
请给出运行结果___________________________
4、classkoA{
staticinta;
publicvoiddisplay(){
System.out.print(“a=”+a);
}}
classko13{
publicstaticvoidmain(Stringargs[]){
koAa1=newkoA;a1.a=10;
koAa2=ne