java期末复习题一.docx
《java期末复习题一.docx》由会员分享,可在线阅读,更多相关《java期末复习题一.docx(26页珍藏版)》请在冰豆网上搜索。
![java期末复习题一.docx](https://file1.bdocx.com/fileroot1/2023-2/6/60e9f560-93ec-4f35-ab47-fd05a4e795c9/60e9f560-93ec-4f35-ab47-fd05a4e795c91.gif)
java期末复习题一
期末复习题
(一)
一选择题
1.下列java标识符,错误的是(D)
A._sys_varlB.$change
C.User_nameD.1_file
2.下列不属于简单数据类型的是(B)
A.整数类型B.类
C.符点数类型D.布尔类型
3.下列属于JAVA关键词的是(C)
A.TRUEB.goto
C.floatD.NULL
4.下列声明和赋值语句错误的是(C)
A.doublew=3.1415;B.Stringstrl=”bye”;
C.floatz=6.74567D.booleantruth=true;
5.java中,八进制数以(B)开头。
A.0xB.0C.0XD.08
6.自定义类型转换是由按优先关系从低级数据转换为高级数据,优先次序为(A)
A.char-int-long-float-doubleB.int-long-float-double-char
B.long-float-int-double-charD.以上都不对
7.在java中,Integer.MAX_VALUE表示(B)
A.浮点类型最大值B.整数类型最大值
C.长整型最大值D.以上说法都不对
8.JAVA中,数据类型值中不可能出现的符号是(D)
A.dB.fC.eD./
9.下列表示单引号的是(B)
A.‘’’D.‘\\
10.下列语句片断中,four得值为:
(D)intthree=3;
charone=‘1’
charfour=(char)(three+one);
A.3
B.1
C.31
D.4
11.
下列不属于整型变量的类型是(
C
)
A.byte
B.short
C.float
D.long
12.
int类型整型变量在内存中的位数为(
C)
A.8
B.16
C.32
D.64
13.
下列数据类型转换,必须进行强制类型转换的是(
D)
A.byte
→int
B.short
→long
C.float
→double
D.int
→char
14.java中,用(A)关键字定义常量
A.finalB.#define
C.floatD.const
15.关于变量的作用范围,下列说法错误的是(A)
A.异常处理参数作用域为整个类
B.局部变量作用于声明该变量的方法代码段
1
C.类变量作用于声明该变量的类
D.方法参数作用于传递到方法内代码段
16.下列属于条件运算符的是(B)
A.+B.?
:
C.&&D.>>
17.下列程序test类中的变量c的最后结果为(D)
publicclasstest{
publicstaticvoidmain(Stringargs[]){
inta=10;
intb;
intc;
if(a>50){
b=9;
}
c=b+a;
}
}
A.10B.0C.19D.编译出错
18.下列程序片断的执行,说法正确的是(C)
publicclasstest{
publicstaticvoidmain(Stringargs[]){
byteb=100;
inti=b;
inta=2000;
b=a;
System.out.println(b);
}
}
A.b的值为100
B.b
的值为2000
C.第六行出错
D.第八行出错
19.
00101010(&)00010111
语句的执行结果为(A)
00000010
11111111
00111111
11000000
20.
已知i为整形变量,关于一元运算++
i和i++,下列说法正确的是(
D)
A.++i运算将出错
B.在任何情况下运行程序结果都一样
C.在任何情况下运行程序结果都不一样
D.在任何情况下变量i的值都增1
21.在java中语句:
37.2%10的运算结果为(A)
A.7.2
B.7
C.3
D.0.2
2
22.在java语句中,运算符&&实现(B)
A.逻辑或
B.逻辑与
C.逻辑非
D.逻辑相等
23.在java语句中,位运算操作数只能为整型或(B)数据
A.实型
B.字符型
C.布尔型
D.字符串型
24.00101010(|)00010111语句的执行结果为(C)
A.00000000
B.11111111
C.00111111
D.11000000
25.~0010101语句的执行结果为(A)
A.1101010
B.0010101
C.11111111
D.00000000
26.复合语句用(B)括起来的一段代码。
A.小括号()
B.大括号{}
C.中括号〔〕
D.单引号‘’
27.
下列不属于条件语句关键字的是(
D
)
A.
if
B.else
C.
swich
D.while
28.
多分支语句switch
(表达式){}中,表达式不可以返回哪种类型的值(C)
A.
整型
B.实型
C.接口型
D.字符型
29.下面不属于java条件分支语句结构的是(D)
A.if结构B.if-else结构
C.if-elseif结构D.if-elseelse机构
30.下列方法method()执行,返回值为(D)
intmethod(){
intnum=10;if(num>20)
returnnum;
num=30;
}
A.10B.20C.30D.编译出错
31.三元条件运算符ex1?
ex2:
ex3,相当于下面(A)语句。
A.if(ex1)ex2;elseex3;B.if(ex2)ex1;elseex3;
C.if(ex1)ex3;elseex2;D.if(ex3)ex2;elseex1;
32.java用(A)来实现goto语句所特有的一些功能。
A.breakB.defaultC.continueD.return
33.一个循环一般应包括哪几部分内容(D)
A.初始化部分B.循环体部分
3
C.迭代部分和终止部分D.以上都是
34.关于while和do-while循环,下列说法正确的是(D)
A.两种循环除了格式不通外,功能完全相同
B.与do-while语句不通的是,while语句的循环至少执行一次
C.do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句
D.以上都不对。
35.下列程序输出结果为(C):
publicclasstest{
publicstaticvoidmain(Stringargs[]){
inta=0;
outer:
for(inti=0;i<2;i++){
for(intj=0;j<2;j++){
if(j>i){
continueouter;
}
a++;
}
}
System.out.println(a);
}
}
A.0B.2C.3D.4
36.下列数组定义及赋值,错误的是(B)
A.
intintArray[];
B.
intArray=newint[3];
intArray[1]=1;
intArray[2]=2;
intArray[3]=3;
C.
inta[]={1,2,3,4,5};
D.
int[][]=newint[2][];
a[0]=newint[3];
a[1]=newint[3];
37.在java中,字符串由
java.lang.String和(B)定义
A.
java.lang.StringChar
B.
java.lang.StringBuffer
C.
java.io.StringChar
D.
java.io.StringBuffer
38.
java
程序的执行过程中用到一套
JDK工具,其中javac.exe
指(A
)
A.
java
语言编译器
B.
java
字节码解释器
C.
java
文档生成器
D.
java
类分解器
39.
java
的API结构中,不属于类库主要包括的核心包的是(C
)
4
A.java包
B.javax
C.javadoc包
D.org扩展包
40.每个java的编译单元可包含多个类或界面,但是每个编译单元最多只能
有(A)类或者界面是公共的
A.一个
B.两个
C.四个
D.任意多个
41.在当前的java实现中,每个编译单元就是一个以(A)为后缀的文件
A.java
B.class
C.doc
D.exe
42.在Java编程中,Java编译器会将Java源程序转换为(A)。
A.字节码B.可执行代码C.机器代码D.以上所有选项都不正确
43.关于Applet和Application,下列说法错误的是(B)
A.Applet自身不能运行B.Applet可以嵌在Application中运行
C.Application以main()方法为入口D.Applet可嵌在浏览器中运行
44.整型数据类型中,需要内存空间最少的是(D)。
A.shortB.longC.intD.byte
45.下面的代码段,输出结果是(B)。
intx=015;
System.out.println(x);
A.015B.13C.15D.编译错误
46.若有以下程序段:
inta=1,b=2,c;
c=1/b*a;
执行后,c的值是(A)。
A.0B.0.5C.1D.2
47.下列关于数组的定义中,不正确的是(C)
A.int[]a=newint[5];
B.inta[]={1,2,3,4};
C.inta[][]=newint[][9];
D.inta[][]={{1}{1,2}{1,2,3}};
48.已知x=5;y=7;经过表达式(x++>5)&&(++y>0)的运算,x和y的值分别是(D)
A.5和7B.5和8C.6和7D.6和8
49.下面描述正确的是:
(A)
A.声明变量时必须指定一个类型
B.java认为变量number和Number相同
C.java中唯一的注释方式是“//”
D.源文件中public类可以有0个或多个
50.下面有关抽象类定义合法的是(D)。
5
A.classAnimal{abstractvoidgrowl();}
B.abstractAnimal{abstractvoidgrowl();}
C.classabstractAnimal{abstractvoidgrowl();}
D.abstractclassAnimal{abstractvoidgrowl();}51.根据下面的代码
if(x>0){System.out.println("第一");}
elseif(x>-3){System.out.println("第二");}
else{System.out.println("第三");}
判断x的取值在什么范围内时将打印字符串“第二”?
(D)
A.x>0B.x>-3C.x<=-3D.x<=0&x>-3
52.要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,则(A)。
A.该类不使用任何关键字
B.使用private关键字
C.使用final关键字
D.使用protected关键字
53.以下关于接口不正确的说法是(D)。
A.一个类可以实现多个接口类似于多重继承
B.接口没有构造函数和析构函数
C.接口可以继承
D.接口包含的方法既可以有实现,也可以没有实现
54.对于可以独立运行的Java应用程序,下列(D)说法是正确的。
A.无须main方法
B.必须有两个main方法
C.可以有多个或零个main方法
D.必须有一个main方法
55.以下关于继承的叙述正确的是(A)。
A.在Java中类只允许单一继承
B.在Java中一个类只能实现一个接口
C.在Java中一个类不能同时继承一个类和实现一个接口
D.在Java中接口只允许单一继承
56.在浏览器中执行applet程序,以下选项中的哪个方法将被最先执行(A)。
A.init()B.start()C.destroy()D.stop()
57.Java源文件和编译后的文件扩展名分别为(B)。
A..class和.javaB..java和.class
C..class和.classD..java和.java
58.Java语言不是(C)。
A.高级语言B.编译型语言
C.结构化设计语言D.面向对象设计语言
59.Java语言中创建一个对象使用的关键字为(C)
A.classB.interfaceC.newD.create
60.设有对象x具有属性a则访问该属性的方法为(C)
A.a.xB.a.x()C.x.aD.x.a()
61.Java中,用package语句说明一个包时,该包的层次结构必须是(B)
A.与文件的结构相同
6
B.与文件目录的层次相同
C.与文件类型相同
D.与文件大小相同
二、填空题
1.1991年,SUN公司的JameGosling和BillJoe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个_Oak__软件,它是java的前身。
2.java是一个网络编程语言,简单易学,利用了_面向对象__的技术基础,但又独立于
硬件结构,具有可移植性、健壮性、安全性、高性能。
3.java可以跨平台的原因是__java虚拟机__
4.JAVA的产品主流操作系统平台是Solaris、___Windows__和Macintosh.
5.JAVA系统运行时,通过___垃圾回收___机制周期性的释放无用对象所使用的内存,完成对象的清除。
6.
在JAVA语言中,将后缀名为
__java____的源代码文件编译后形成后缀名为.class
的字节码文件。
7.
JAVA语言的执行模式是半编译和
___半解释型___。
8.JAVA类库具有___跨平台__的特点,保证了软件的可移植性。
9.
在JAVA语言中,为将源代码翻译成___字节码___文件时产生的错误称为编译错误。
而
将程序在运行中产生的错误称为运行错误。
10.
JavaApplication应用程序的编写和执行分
3步进行:
编写源代码、编译源代码、
___解释执行__。
11.
每个java应用程序可以包括许多方法,但必须有且只能有一个__main___
方法。
12.
JAVA源文件中最多只能有一个__public或公共___类,其它类的个数不限。
13.JAVA的体系结构中,最下层是移植接口,上面一层是虚拟机,虚拟机的上层是__java
基本类___和基本API,它们都是具有可扩展性。
14.
JAVA解释器采用生成与体系结构无关的
____字节代码__指令的技术,只需安装JAVA
运行系统,就可保证JAVA程序可以在网络的任何地方运行。
15.
把对象实例化可以生成多个对象,使用
___new___运算符为对象分配内存空间。
16.
java程序引入接口的概念,是为了弥补只允许类的
___单继承_____的缺憾。
17.java语言以____类___为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。
18.
抽象方法只能存在于抽象类中。
抽象方法用关键字
____abstract____来修饰。
19.
java语言中____Object___是所有类的根.
20.在java中有一种叫做___构造方法____的特殊方法,在程序中用它来对类成员进
行初始化.
21.new是___创建___对象的操作符.
22.继承主要强调子类在父类的基础上取”长”补”短”,而___多态性___主要强调的是类与类之间的传输
23.我们在java程序中,把关键字____supper____加到方法名称的前面,来实现子类
7
调用父类的方法
24.定义一个类包括定义类头和定义____类体__两个部分
25.在java程序里,同一类中重载的多个方法具有相同的方法名和__不同的___的参数列
表.重载的方法可以有不同的返回值类型
26.java是面向对象语言,对象是客观事物的____实体___,对象与之是一一对应的,它是很具体的概念.
27.java语言通过接口支持__多重____继承,使类继承具有更灵活的扩展性
28.一个对象的生命周期包含三个阶段:
生成,___使用___和清除
29.java语言中,调用方法时,参数传递是___值___调用,而不是地址调用
30.
接口是一种只含有抽象方法或
___常量___的一种特殊抽象类
31.
创建一个类就是创建一个新的数据类型,而类在
java中属于___复合___数据类型。
32.
abstract方法____不能____(不能或能)与final
并列修饰同一个类
33.如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法
的____参数个数____必须是不同的,这种现象称为方法的重载。
34.Java中用___extends______关键字指明继承关系,用___implement__关键字指明对接
口的实现。
35.在Java语言中,有一个类是所有类和接口的父类,这个类的名称是__Object___。
36.在Java程序中,类只能实现__单__继承,但通过接口的定义可以实现_多重__继承。
37.__构造方法___是类中的一种特殊方法,用来实例化对象的初始状态。
38.某Java源程序中有一个类的定义为:
publicclassMyPrg,则该源程序的完整文件名应
该为:
MyPrg.java。
39.面向对象的模型中,最基本的概念是__类___和__对象___。
40.有一种方法,仅有方法头,没有具体方法体和操作实现的方法,该方法必须定义在抽象
类中,该方法称为抽象方法。
三.程序阅读题
(1)
importjava.io.*;
classParent{
voidprintMe(){
System.out.println("parent");
}
}
classChildextendsParent{
voidprintMe(){
System.out.println("child");
}
voidprintAll(){
8
super.printMe();
this.printMe();
printMe();
}
}
publicclassClass1{
publicstaticvoidmain(Stringargs[]){
ChildmyC=newChild();
myC.printAll();
}
}
运行结果为:
parent
child
child
(2)
publicclassClass2{
publicstaticvoidmain(String[]args){
Aa1=newA();a1.printa();
Bb1=newB();b1.printb();b1.printa();
}
}
classA{
intx=1;
voidprinta(){System.out.println(x);}
}
classBextendsA{
intx=100;
voidprintb(){
super.x=super.x+10;
System.out.println("super.x="+super.x+"x="+x);
}
}
运行结果为:
1
super.x=11x=100
11
(3)
interfaceA{
intx=1;
voidshowX();
9
}
interfaceB{
inty=2;
voidshowY();
}
classInterfaceTestimplementsA,B{
intz=3;
publicvoidshowX(){System.out.println("x="+x);}
publicvoidshowY(){
System.out.println("y="+y);
}
publicvoidshowMe(){
System.out.println("z="+(z+x+y));
}
}
publicclassClass3{
publicstaticvoidmain(Stringargs[]){
InterfaceTestmyObject=newInterfaceTest();
myObject.showX();
myObject.showY();
myObject.showMe();
}
}
运行结果为:
x=1
y=2
z=6
(4)
publicclassClass4{
staticStrings;
publicstaticvoidmain(String[]args){
System.out.println(“s=”+s);
}
}
运行结果为:
s=null
(5)
publicstaticvoidmain(String[]args){
intj=10;
inti=1;
do{
if(i++>--j)
continue;
}while(i<5)
10
}
运行结果为:
i=5
j=6
(6)
importjava.io.*;
publicclassClass6{
publicstaticvoidmain(Stringargs[]){
inti,s=0;
inta[]={10,20,30,40,50,60,70,80,90};