Java复习.docx
《Java复习.docx》由会员分享,可在线阅读,更多相关《Java复习.docx(48页珍藏版)》请在冰豆网上搜索。
Java复习
2018《Java程序设计》复习课
编程题30分啊
一、选择题
1.JAVA所定义的版本中不包括________。
A.JavaSEB.JavaMEC.JavaRED.JavaEE
2.下列说法正确的是________D_____。
A.Java程序的main方法必须写在publicclass里面//class{main()}
B.Java程序可以有多个main方法
C.Java程序中类的名字必须和源文件名相同
D.Java被编译后扩展名为.class
3.在Java中,变量命名规范正确的是________。
A.变量名由字母、下划线、数字、$符号随意组成
B.变量不能以数字作为开头
C.A和a在java中是同一个变量
D.不同类型的变量,可以起相同的名字
4.下面代码
publicclassTest
{
privateintx;
publicTest(){
x=35;
}
publicvoidTest(doublef){
this.x=(int)f;
}
publicTest(Strings){}
}
有几个构造函数C
A.0B.1C.2D.3
5.给定下面代码段
classTest{
privateintm;
publicstaticvoidfun(){
//somecode...
}
}
如何使成员变量m被函数fun()直接访问_____C____。
A、将privateintm改为protectedintm
B、将privateintm改为publicintm
C、将privateintm改为staticintm
D、将privateintm改为intm
6.为一个boolean类型变量赋值时,可以使用____B_____方式
A.boolean=1;
B.booleana=(9>=10);
C.booleana=”true”;
D.booleana==false;
7.关于实例变量、静态变量、实例方法和静态方法,下面叙述不正确的是C
A.实例方法可以访问实例变量和静态变量
B.静态方法不能访问实例变量
C.实例变量和静态变量都可以通过类名访问
D.静态方法只能访问静态变量
8.以下____C______是不合法的标识符
A.STRINGB.x3xC.voidD._de$f
9.下面程序运行结果为C
classAnimal{
publicAnimal(){
System.out.println("Animal");
}
}
//Bird类是Animal的子类
publicclassBirdextendsAnimal{
publicBird(){
System.out.println("Bird");
}
publicstaticvoidmain(String[]args){
Birdb=newBird();
}
}
A.AnimalB.Bird
C.AnimalD.Bird
BirdAnimal
10.下面___C______表达式不可以作为循环条件
A.i++Bi>5C.bEqual=str.equals(“q”)Dcount==i
11.方法resume()负责恢复哪些线程的执行________。
A、通过调用stop()方法而停止的线程。
B、通过调用sleep()方法而停止的线程。
C、通过调用wait()方法而停止的线程。
D、通过调用suspend()方法而停止的线程
12.下述代码的执行结果是____E______。
classSuper{
publicintgetLength(){
return4;
}}
publicclassSubextendsSuper{
publiclonggetLength(){
return5;}
publicstaticvoidmain(String[]args){
Supersooper=newSuper();
Subsub=newSub();
System.out.println(sooper.getLength()+","+sub.getLength());
}}
A、4,4B、4,5C、5,4D、5,5
E、代码不能被编译
13.有下列一段代码,执行后输出结果为______C___________。
importjava.util.*;
publicclassSortOf{
publicstaticvoidmain(String[]args){
ArrayLista=newArrayList<>();
a.add
(1);
a.add(5);
a.add(3);
Collections.sort(a);
a.add
(2);
Collections.reverse(a);
System.out.println(a);
}
}
A.[1,2,3,5]B.[2,1,3,5]
C.[2,5,3,1]D.[1,3,5,2]
14.有如下类的定义,Inner类称为_________________。
publicclassOuter{
classInner{
publicvoidgo(){
System.out.print("hi");
}}}
A.匿名内部类B.局部内部类C.成员内部类D.静态内部类
15.以下哪个约束符可用于定义成员常量___C__________。
A、staticB、finalC、abstractD、constant
16.JRE是指
A.Java开发工具B.Java虚拟机
C.Java运行环境D.Java编程接口
17.开发Java程序必须安装的软件是B
A.JVMB.JDKC.JRED.API
18.在Java中,short型变量所占的字节数是B
A.1B.2C.4D.8
19.下面代码段执行后,i、j的值分别为D
inti=1,j=10;
do{
if(i++>--j)
continue;
}while(i<5);
System.out.println("i="+i+"j="+j);
A.i=6j=5B.i=5j=5
C.i=6j=4D.i=5j=6
20.给定下面代码段,程序运行结果是A
publicclassMyClass{
privatestaticinta=100;
publicstaticvoidmodify(inta){
a=a+5;
}
publicstaticvoidmain(String[]args){
modify(a);
System.out.println(a);}}
A.100B.105C.101D.95
21.执行下列程序段后foo的值为
Stringfoo="blue";
boolean[]bar=newboolean[1];
if(bar[0]){
foo="green";
}
System.out.println(foo);
A.""B.nullC.blueD.green
22.关于实例变量、静态变量、实例方法和静态方法,下面叙述不正确的是
A.实例方法可以访问实例变量和静态变量
B.静态方法不能访问实例变量
C.实例变量和静态变量都可以通过类名访问
D.静态方法只能访问静态变量
23.执行下列语句后输出的结果是C
Strings="COMPUTER";
System.out.println(s.substring(3,6));
A.COMB.MPUC.PUTD.TER
24.下面程序运行结果为C
classAnimal{
publicAnimal(){
System.out.println("Animal");
}}
//Bird类是Animal的子类
publicclassBirdextendsAnimal{
publicBird(){
System.out.println("Bird");
}
publicstaticvoidmain(String[]args){
Birdb=newBird();
}
}
A.AnimalB.Bird
C.AnimalD.Bird
BirdAnimal
25.下面代码在运行时会产生什么异常C
Strings="ABC";
System.out.print(s.charAt(3));
A.ArrayIndexOutOfBoundsException
B.IndexOutOfBoundsException
C.StringIndexOutOfBoundsException
D.NullPointerException
26.下列程序的输出结果为
importjava.io.IOException;
publicclassTest{
publicstaticvoidmethodA(){
thrownewIOException();
}
publicstaticvoidmain(String[]args){
try{
methodA();
}catch(IOExceptione){
System.out.println("CaughtException");
}
}
}
A.代码有编译错误B.输出“CaughtException”
C.输出“CaughtIOException”D.程序正常执行,没有任何输出
27.有下列一段代码,执行后输出结果为。
(C)
TreeSetmySet=newTreeSet<>();//自动排序功能
mySet.add("one");
mySet.add("two");
mySet.add("three");
mySet.add("four");
mySet.add("one");
Iteratorit=mySet.iterator();
while(it.hasNext()){
System.out.println(it.next()+"");
}
A.onetwothreefourB.fourthreetwoone
C.fouronethreetwoD.onetwothreefourone
28.有下列一段代码,执行后输出结果为。
()
importjava.util.*;
publicclassSortOf{
publicstaticvoidmain(String[]args){
ArrayLista=newArrayList<>();
a.add
(1);
a.add(5);
a.add(3);
Collections.sort(a);
a.add
(2);
Collections.reverse(a);
System.out.println(a);
}}
A.[1,2,3,5]B.[2,1,3,5]C.[2,5,3,1]D.[1,3,5,2]
29.有如下类的定义,Inner类称为()。
publicclassOuter{
classInner{
publicvoidgo(){
System.out.print("hi");
}}}
A.匿名内部类B.局部内部类
C.成员内部类D.静态内部类
30.Runnable接口中定义的唯一方法是
A.run()B.start()C.begin()D.sleep()
31.下面选项哪些是合法的Java标识符
A.longStringWithMeaninglessNameB.$intC.bytes
D.finalistE.abstract
32.下面选项哪些表达式的值为12
A.33/2B.3<2C.3*4D.3<<2E.3*2^2
33.有下面的类定义,与aMethod()重载的方法有
publicclassMyClass{
publicfloataMethod(floata,floatb){
return0;
}}
A.publicintaMethod(inta,intb){}
B.publicfloataMethod(floatx,floaty){}
C.publicfloataMethod(floata,floatb,intc){}
D.publicfloataMethod(inta,intb,intc){}
E.publicvoidaMethod(floata,floatb){}
34.下面叙述哪些是正确的
A.使用super可以在子类中调用父类被覆盖的方法
B.Object类是所有类的根类
C.抽象类中不可以定义非抽象方法
D.一个类可以实现多个接口
E.一个类可以继承多个类
35.已知4个类之间的关系如图1所示,Shape表示形状、Circle类表示圆、Rectangle表示矩形、Cylinder表示圆柱,图中箭头表示类的继承关系。
有下面Java代码:
Rectanglert=newRectangle();
Cylindercl=newCylinder();
Shapesh=rt;
图1Shape类的层次结构图
下列赋值语句中合法的有:
A.cl=sh;B.sh=rt;C.rt=cl;D.cl=rt;E.sh=cl;
36.JVM是指
A.Java开发工具B.Java虚拟机
C.Java运行环境D.Java编程接口
37.Java字节码文件的扩展名是
A.cB.exeC.javaD.class
38.在Java中,byte型变量所占的字节数是
A.1B.2C.4D.8
39.给定下面代码段,输出j的值是多少
inti=1,j=0;
switch(i){
case1:
j+=6;
case2:
j+=1;
default:
j+=2;
}
System.out.println(j);
A.2B.6C.7D.9
40.给定下面代码段,程序运行结果是
publicclassTest{
staticvoidleftshift(inti,intj){
i<<=j;//i=i<}
publicstaticvoidmain(String[]args){
inti=4,j=2;
leftshift(i,j);
System.out.println("i="+i);
}
}
A.i=1B.i=2C.i=3D.i=4
41.执行下列程序段后a和b的值为
classAB{
inta,b;
publicvoidinit(intx){
a=x;
intb=5;
}
publicvoiddisplay(){
System.out.println("a="+a+"b="+b);
}
}
publicclassABTest{
publicstaticvoidmain(String[]args){
ABab=newAB();
ab.init(6);
ab.display();
}
}
A.a=5b=5B.a=0b=0
C.a=6b=5D.a=6b=0
42.下列程序段的运行结果为
int[][]x={{1,2},{3,4,5},{6,7,8,9}};
int[][]y=x;
System.out.println(y[2][1]);
A.3B.4C.6D.7
43.执行下列语句后输出的结果是
Strings="COMPUTER";
System.out.println(s.indexOf(‘M’));
A.0B.1C.2D.3
44.下面程序运行结果为
classAA{
AA(inta){
System.out.print(a);}}
classBBextendsAA{
BB(Strings){
super(88);
System.out.print(s);}}
publicclassConstructorDemo{
publicstaticvoidmain(String[]args){
BBb=newBB("hello");}}
A.该程序有编译错误B.88hello
C.hello88D.hello
45.下面程序运行结果为
classSuper{
publicinti=0;
publicSuper(Stringtext){
i=1;
}
}
publicclassSubextendsSuper{
publicSub(Stringtext){
super(“”);
i=2;
}
publicstaticvoidmain(String[]args){
Subsub=newSub("Hello");
System.out.println(sub.i);
}
}
A.该程序有编译错误B.编译成功输出0
C.编译成功输出1D.编译成功输出2
46.下面代码在运行时会产生什么异常
intm=100;
System.out.println(m/0);
A.ClassNotFoundExceptionB.MathException
C.ArithmeticExceptionD.NullPointerException
47.有下列一段代码,执行后输出结果为。
()
importjava.util.*;
publicclassSortOf{
publicstaticvoidmain(String[]args){
ArrayLista=newArrayList<>();
a.add
(1);
a.add(5);
a.add(3);
Collections.sort(a);
a.add
(2);
Collections.reverse(a);
System.out.println(a);
}
}
A.[1,2,3,5]B.[2,1,3,5]C.[2,5,3,1]D.[1,3,5,2]
48.如果要求其中不能包含重复的元素,使用哪种结构存储最合适?
()
A.CollectionB.List
C.SetD.Map
49.一个类要具备什么条件才可以序列化?
()
A.继承ObjectStream类B.具有带参数构造方法
C.实现Serializable接口D.定义了writeObject()方法
50.Thread类的哪个方法用来使线程睡眠一段时间
A.run()B.start()C.begin()D.sleep()
51.下面选项哪些是合法的Java标识符
A.MyGameB._isRightC.2JavaProgram
D.Java-Virtual-MachineE._$12ab
52.下面选项哪些是合法的对float变量的声明和赋值
A.floatfoo=-1;B.floatfoo=1.0;
C.floatfoo=2.02f;D.floatfoo=3.03d;
E.floatfoo=0x0123;
53.下面哪两个方法不能被子类覆盖?
A.finalvoidmethodA(){}B.voidfinalmethodA(){}
C.staticvoidmethodA(){}D.staticfinalvoidmethodA(){}
E.finalabstractvoidmethodA(){}
54.已知4个类之间的关系如图1所示,Shape表示形状、Circle类表示圆、Rectangle表示矩形、Cylinder表示圆柱,图中箭头表示类的继承关系。
有下面Java代码:
Rectanglert=newRectangle();
Cylindercl=newCylinder();
Shapesh=rt;
图1Shape类的层次结构图
关于上述Java代码中sh和rt的以下叙述中,正确的有
A.sh和rt分别引用同一类型的不同的对象;
B.sh和rt分别引用同一个对象;
C.sh和rt分别引用不同类型的不同对象;
D.sh和rt分别引用同一个对象的不同拷贝;
E.sh和rt所引用的内存空间是相同的。
55.Java语言属于
A.机器语言B.高级语言C.自然语言D.汇编语言
56.Java源文件的扩展名是
A.docB.exeC.javaD.class
57.Java语言的字符使用的字符编码是
A.ASCIIB.UnicodeC.UTF-8D.GB2312
58.Java中int类型所占字节数是
A.1B.2C.