java复习题教学教材.docx

上传人:b****8 文档编号:29986827 上传时间:2023-08-04 格式:DOCX 页数:45 大小:39.26KB
下载 相关 举报
java复习题教学教材.docx_第1页
第1页 / 共45页
java复习题教学教材.docx_第2页
第2页 / 共45页
java复习题教学教材.docx_第3页
第3页 / 共45页
java复习题教学教材.docx_第4页
第4页 / 共45页
java复习题教学教材.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

java复习题教学教材.docx

《java复习题教学教材.docx》由会员分享,可在线阅读,更多相关《java复习题教学教材.docx(45页珍藏版)》请在冰豆网上搜索。

java复习题教学教材.docx

java复习题教学教材

 

java复习题

1、下列关于java语言特点描述错误的是

A.Java语言不支持指针B.Java具有自动垃圾回收的机制

C.Java只能运行在Window和Linux平台D.Java允许多个线程同时执行

2下列关于JDK的说法中,错误的是?

A.JDK是Java开发工具包的简称B.JDK包括Java编译器、Java文档生成工具、Java打包工具等C.安装JDK后,还需要单独安装JRED.JDK是整个Java的核心

答案:

C

解析:

SUN公司提供了一套Java开发环境,简称JDK(JavaDevelopmentKit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Java文档生成工具、Java打包工具等。

JDK工具中自带了一个JRE工具,也就是说开发环境中包含运行环境,这样一来,开发人员只需要在计算机上安装JDK即可,不需要专门安装JRE工具了。

3下面关于path环境变量的说法中,错误的是?

()

A.path环境变量是系统环境变量中的一种,它用于保存一系列的路径,每个路径之间以分号分隔

B.在命令行窗口输入“setpath”命令,可以查看当前系统的path环境变量

C.在命令窗口对环境变量进行的任何修改只对当前窗口有效,一旦关闭窗口,所有的设置都会被取消

D.配置系统环境变量时以英文半角逗号(,)分隔每一个路径

答案:

D

解析:

配置系统环境变量时时以英文半角分号(;)分隔每一个路径的。

4安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种()

A.Java文档制作工具B.Java解释器C.Java编译器D.Java启动器

答案:

B

1下列选项中,哪一个是单行注释的符号?

()

A.\\B.//C./D.\

答案:

B解析:

//双斜杠表示注释单行代码

2下列常量中,属于整型常量的是?

()

A.198B.2e3fC.trueD.null答案:

A

解析:

2e3f属于浮点数常量,true属于布尔常量,null属于null常量

3下列选项中,哪个是程序的运行结果

classTest{

publicstaticvoidmain(String[]args){

inta=3;

intb=6;

System.out.print(a==b);

System.out.print(a

System.out.print(a!

=b);

System.out.print(a>=b);

}

}

A.falsefalsetruefalseB.falsefalsetruetrueC.falsetruetruefalseD.truefalsefalsetrue

答案:

C解析:

3==6(错),3<6(对),3!

=6(对),3>=6(错)

4若x=6,y=5则表达式intmax=x>y?

x:

y的结果为()

A.6B.5C.trueD.false答案:

A

解析:

三元表达式语法结构:

判断条件?

表达式1:

表达式2当判断条件成立时,运算结果为表达式1的值,否则结果为表达式2的值

5请阅读下面的程序片段

booleanb=true;

if(b=false){

System.out.println("a");

}elseif(b){

System.out.println(b);

}elseif(!

b){

System.out.println("c");

}else{

System.out.println("d");

}

程序的执行结果是()

A.aB.bC.cD.d答案:

C

解析:

条件语句的值为false,所以值为false的语句才可以输出,这里用到了逻辑运算符!

(非)即!

true的值为false,因此输出结果是c

6请阅读下面的程序

publicclassSwitchDemo3{

publicstaticvoidmain(String[]args){

charc=‘B’;

switch©{

case‘A’:

System.out.println(“优”);

break;

case‘B’:

System.out.println(“良”);

break;

case‘C’:

System.out.println(“差”);

break;

}

}

}

下列选项中,哪一个才是程序的运行结果

A.优B.良C.差D.编译失败答案:

B

解析:

charc=’B’与case‘B’相匹配,因此输出结果为“良”

7请阅读下面的程序

PublicclassTest{

publicstaticvoidmain(String[]args){

inta=0;

intb=0;

for(inti=1;i<=5;i++){

a=i%2;

while(a-->=0){

b++;

}

}

System.out.println("a="+a+",b="+b);

}

}

下列选项中,哪一个是正确的运行结果()

A.a=8,b=-2B.a=-2,b=8C.a=3,b=0D.a=0,b=3

答案:

B解析:

本题中有两个循环语句,分别是外层循环的for语句和内层循环的while语句,首先程序会执行for循环中的语句,并执行循环体中的表达式a=i%2,计算出a的值,然后在进入while循环计算b的值,循环往复直到外层循环条件i>5为止

8阅读下面的程序

publicclassTest{

publicstaticvoidmain(String[]args){

for(intx=0;x<=3;x++){

continue;

System.out.print(x%2);

}

}

}

运行结果正确的是

A.跳出循环,无输出B.0121C.01D.0123

答案:

A解析:

continue语句的作用是终止本次循环,因此contine后的代码永远不会被执行,都是无效代码

9____关键字用于包的声明答案:

package解析:

10【】关键字用于引入包答案:

import

11若x=2,则表达式(x++)/3的值是【】答案:

0

12若inta=2;a+=3;执行后,变量a的值为【】答案:

5

13方法重载的条件是:

方法名相同,【】不相同答案:

参数列表

解析:

方法的重载与返回值类型无关,它只有两个条件,一是方法名相同,二是参数列表(参数个数或参数类型)不相同

14定义一个方法时,要有访问修改符、返回值类型、方法名、【】

答案:

参数列表解析:

方法的定义比较严格,必须要有访问修饰符、返回值类型、方法名称、参数列表(参数类型、参数名称)

“隐藏对象的属性和实现细节,仅对外提供公有的方法”描述的是面向对象的哪个特征()

A.封装B.继承C.多态D.以上都不是

答案:

A解析:

封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。

2下列选项中,不属于面向对象特征的是()。

A.继承性B.封装性C.跨平台性D.多态性

答案:

C解析:

面向对象有三种特性,分别是封装性、继承性和多态性。

跨平台性是Java语言的特点,而不是面向对象的特征。

3请阅读下面的代码

classA{

intx;

staticinty;

voidfac(Strings){

System.out.println(“字符串:

”+s);

}

}

下列选项中描述正确的是()

A.x,y和s都是成员变量B.x是实例变量,y是类变量,s是局部变量

C.x和y是实例变量,s是参数D.x,y和s都是实例变量

答案:

B解析:

在方法中声明的s是局部变量,使用static关键字修饰的y是类变量,在类中定义的x是实例变量。

4请阅读下面的程序代码

ClassPerson{

voidsay(){

System.out.println(“hello”);

}

}

classExample{

publicstaticvoidmain(String[]args){

Personp2=newPerson();

Personp1=newPerson();

  p2.say();

p1.say();

p2=null;

p2.say();

}

}

下列关于程序运行结果的描述中,正确的是()

A.输出1个helloB.输出2个hello后会抛出异常

C.输出3个hello后会抛出异常D.不会输出hello,直接抛出异常

答案:

B解析:

程序中创建了2个Person对象p1、p2,并分别调用了say()方法输出两个hello,然后将p2对象置为null,使p2对象失去了引用,因此再次使用p2对象调用say()方法时,会抛出异常。

5下列关键字中,用于创建类的实例对象的是()。

A.classB.newC.privateD.void

答案:

B解析:

Java中使用new关键字创建对象,class用于定义一个类,private是权限修饰符,表示表示只能在本类中访问,void表示无返回值

6下面哪个关键字用于将类中的属性私有化()

A.defaultB.publicC.privateD.protected答案:

C

7下面关于调用构造方法的描述中,正确的是()

A.构造方法在类定义的时候被调用B.构造方法在创建对象的时候被调用

C.构造方法在调用对象方法时被调用D.构造方法在使用对象的变量时被调用

答案:

B解析:

调用构造方法创建对象构造方法的作用是为对象中的属性赋值,在创建对象时,构造方法就会被调用。

8下列关于构造方法定义的描述中,错误的是()。

A.方法名与类名相同B.在方法名的前面没有返回值类型的声明C.当定义了有参构造方法,系统默认的无参构造方法依然存在D.在方法中不能使用return语句返回一个值

答案:

C

9下列关于构造方法的描述,错误的是()。

A、一个类中只能定义一个构造方法B、一个类中可以定义多个构造方法C、如果在一个类中定义有参的构造方法,jvm就不会提供默认的无参构造方法D、构造方法的作用是用来给属性进行初始化的答案:

A

10Personp=newPerson(“张三”,23);这条语句会调用下列哪个构造方法给属性进行初始化()

A.publicPerson(){}B.publicPerson(Stringname,intage){this.name=name;this.age=age;}

C.publicPerson(intage,Stringname){this.age=age;this.name=name;}

D.publicPerson(Stringname){this.name=name;}

答案:

B解析:

创建对象时会找到匹配的构造方法给属性进行初始化,由于Personp=newPerson(“张三”,23);这条语句中有两个参数,而且第1个参数是String类型的,第2个参数是int类型的,因此会调用B选项中的构造方法。

11在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?

A.inheritsB.implementsC.extendsD.modifies答案:

C

12在类的继承关系中,需要遵循以下哪个继承原则?

A.多重B.单一C.双重D.不能继承答案:

B

13已知类的继承关系如下:

classEmployee;

classManagerextendsEmployeer;

classDirectorextendsEmployee;

则以下语句能通过编译的有哪些?

A.Employeee=newManager();B.Directord=newManager();

C.Directord=newEmployee();D.Managerm=newDirector();

答案:

A

14编译运行下面的程序,结果是什么?

publicclassA{

publicstaticvoidmain(String[]args){

Bb=newB();

b.test();

}

voidtest(){

System.out.print("A");

}

}

classBextendsA{

voidtest(){

super.test();

System.out.print("B");

}

}

A.产生编译错误B.代码可以编译运行,并输出结果AB

C.代码可以编译运行,但没有输出D.编译没有错误,但会产生运行时异常

答案:

B

15publicclassExample{

publicstaticvoidmain(String[]args){

try{

intrst=4/0;

System.out.println("ret="+rst);

}catch(Exceptione){

System.out.println("catch语句块执行");

return;

}finally{

System.out.println("finally语句块执行");

}

System.out.println("程序继续向下执行");

}

}

运行以上程序,输出的结果是()

A.catch语句块执行B.catch语句块执行程序继续向下执行

C.catch语句块执行finally语句块执行D.0程序继续向下执行

答案:

C解析:

在try语句块中发生了除零异常,因此会执行catch语句块中的内容,输出"catch语句块执行",finally语句块中表示一定会执行的语句,虽然catch中有return,但依然会输出"finally语句块执行"

16下面程序运行的结果是()

classDemo{

publicstaticvoidmain(String[]args){

try{

intx=div(1,2);

}catch(Exceptione){

System.out.println(e);

}

System.out.println(x)

}

publicstaticintdiv(inta,intb){

returna/b;

}

}

A.输出1B.输出0C.输出0.5D.编译失败答案:

C

17在try{}catch(______e){}横线处需要填写的是()

A.异常对象B.异常类C.任意对象D.任意类

答案:

B解析:

catch代码块需要一个形参指明它所能够接收的异常类型,这个参数的类型必须是Exception类或其子类

18以下对于try…catch语句描述正确的是()

A.try…catch语句处理程序中的错误B.try...catch语句处理程序中的bug

C.try...catch语句处理程序中的异常D.以上说法都不正确

答案:

C解析:

try...catch语句处理程序中的异常

19下列选项中,关于final修饰成员变量的说法正确的是?

()

A.被final修饰的成员变量可以被多次赋值B.被final修饰的成员变量为常量

C.final只能在接口中修饰成员变量D.以上都不对

答案:

B解析:

被final修饰的变量为常量,不能被第二次赋值或改变引用

20下列选项中,不可以被final修饰的是?

()

A.接口B.类C.方法D.变量

答案:

A解析:

final关键字可用于修饰类、变量和方法

题目难度:

★☆☆☆容易

21分析下面程序,哪一行代码能正确赋值?

()

classDemo{

publicvoidmethod(){

finalintnum1=10;

staticintnum2=20;

abstractintnum3=30;

privateintnum4=40;

}

}

A.finalintnum1=10;B.staticintnum2=20;C.abstractintnum3=30;D.privateintnum4=40;

答案:

A解析:

final可以修饰局部变量

22下面程序的运行结果是()

publicclassDemo{

publicstaticvoidmain(String[]args){

try{

System.out.println(10/0);

System.out.println("除法正常运行");

}catch(ArithmeticExceptione){

System.out.println("除数不能为0");

}

}

}

A.编译失败B.编译通过,没有结果输出C.输出:

除法正常运行D.输出:

除数不能为0

答案:

D解析:

虽然是运行时期异常,但是也可以使用try…catch语句进行处理。

一旦进入处理语句就不会再回去执行

23下列选项中,用于解压jar文件的命令是()

A.jar–cB.jar–xC.jar–vD.jar-f

答案:

B解析:

参数x用于解压

24下列选项中,可以导入指定包中所有类的是()

A.package包名;B.package包名.*;C.import包名;D.import包名.*;

答案:

D解析:

如果有时候需要用到一个包中的许多类,则可以使用“import包名.*;”来导入该包下所有类

25下列关于protected的说法中,正确的是()

A.protected修饰的方法,只能给子类使用B.protected修饰的类,类中的所有方法只能给子类使用C.如果一个类的成员被protected修饰,那么这个成员既能被同一包下的其它类访问,也能被不同包下该类的子类访问D.以上都不对

答案:

C解析:

如果一个类的成员被protected访问控制符修饰,那么这个成员既能被同一包下的其它类访问,也能被不同包下该类的子类访问

26如果类的成员被()访问控制符来修饰,则这个成员只能被该类的其它成员访问,其它类无法直接访问

A.privateB.defaultC.protectedD.public

答案:

A解析:

如果类的成员被private访问控制符来修饰,则这个成员只能被该类的其它成员访问,其它类无法直接访问。

类的良好封装就是通过private关键字来实现的

27阅读下列的代码

publicclassTest{

publicstaticvoidmain(String[]args){

_________________________

_________________________

}

}

classOuter{

staticclassInner{

publicvoidmethod(){

System.out.println("method");

}

}

}

下列选项中,填写在空白处可以使程序正常运行的是()

A.Outero=newOuter();o.method();B.InnerI=newInner();i.method();

C.Outer.Inneroi=newOuter.Inner();oi.method();D.以上答案都不对答案:

C

28阅读下列的程序

publicclassTest3{

publicstaticvoidmain(String[]args){

_________________________

_________________________

}

}

classOuter{

staticclassInner{

publicvoidmethod(){

System.out.println("method");

}

}

}

下列选项中,可以正确输出method()方法的是()

A、Outero=newOuter();

o.method();

B、InnerI=newInner();

i.method();

C、Outer.Inneroi=newOuter.Inner();

oi.method();

D、以上答案都不对

答案:

C

29下列关于使用this调用构造方法的说法中,错误的是?

()

A.使用this调用构造方法的格式为this([参数1,参数2…])

B.只能在构造方法中使用this调用其它的构造方法

C.使用this调用其它构造方法的语句必须放在第一行

D.在一个类的两个构造方法中可以使用this互相调用答案:

D

30下列关于this的说法中,错误的是()

A.只能在构造方法中使用this调用其它的构造方法,不能在成员方法中使用

B.在构造方法中,使用this调用构造方法的语句必须位于第一行,且只能出现一次

C.this关键字可以用于区分成员变量与局部变量

D.this可以出现在任何方法中答案:

D

31在Java语言中,所有的类都直接或间接继承自【】类答案:

Object

32一个类如果实现一个接口,那么它就需要实现接口中定义的全部【】,否则该类就必须定义成【】答案:

方法,抽象类

33异常的捕获通常由try、catch两部分组成,【】代码块用来存放可能发生异常,【】代码块用来处理产生的异常答案:

try,catch

34在Java语言中,允许使用已存在的类作为基础创建新的类,这种技术我们称为【】

答案:

继承

35当一个对象被当成垃圾从内存中释放时,它的【】方法会被自动调用。

答案:

finalize()

36final修饰的方法,不能被子类【】答案:

重写

解析:

final修饰的方法为最终方法,不能被重写

37final修饰的局部变量只能被赋值【】次答案:

解析:

final最终变量,只能赋值一次

38RuntimeException类及其子类都是【】异常答案:

运行时

39自定义异常需要继承【】类答案:

Exception

解析:

Exception是所有异常的超类

40构造方法没有返回值类型,因此不能使用【】语句。

答案:

return

41构造方法的名称必须和【】保持一致。

答案:

类名

42如果在某一个方法中定义的局部变量与成员变量同名时,在该方法中通过变量名访问到的是【】。

答案:

局部变量

43类与对象的关系中,【】用于描述多个对象的共同特征,它是对象的模板。

【】用于描述现实中的个体,它是类的实例。

答案:

类,对象

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1