JAVA复习带答案.docx

上传人:b****5 文档编号:7247889 上传时间:2023-01-22 格式:DOCX 页数:26 大小:105.03KB
下载 相关 举报
JAVA复习带答案.docx_第1页
第1页 / 共26页
JAVA复习带答案.docx_第2页
第2页 / 共26页
JAVA复习带答案.docx_第3页
第3页 / 共26页
JAVA复习带答案.docx_第4页
第4页 / 共26页
JAVA复习带答案.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

JAVA复习带答案.docx

《JAVA复习带答案.docx》由会员分享,可在线阅读,更多相关《JAVA复习带答案.docx(26页珍藏版)》请在冰豆网上搜索。

JAVA复习带答案.docx

JAVA复习带答案

第一章java开发入门

1.java语言得特点:

简单,面向对象,安全,跨平台,支持多线程。

简单:

(丢弃了C++中难于理解得运算符重载,多继承,指针等,并且提供自动垃圾回收机制)

面向对象:

只支持单继承,纯面向对象得语言。

安全:

不支持指针,一切内存访问必须通过对象实例来实现,从而使应用更安全。

跨平台:

同一段程序既可以在window运行也可以在Linux运行

多线程:

支持多线程。

下列选项哪个不属于java语言包含得内容?

()

A具有类与对象B一次编译处处运行C具有多线程得能力D具有多继承得特点

下列关于java语言特点错误得就是()

A.java语言可以进行面向对象编程也可以面向过程编程

B.java语言就是面向对象得语言

C.java语言支持跨平台编程

D.java语言支持多线程

下列特点不属于java语言得就是()

A.多线程

B.多继承

C.跨平台

D.垃圾自动回收

2.java程序为什么能跨平台?

通过java虚拟机可以达到跨平台得特性。

3、java程序得编译过程:

源文件a、java-→编译a、class(字节码文件)→虚拟机运行

下面哪种类型得文件可以在java虚拟机中运行?

A、、javaB、、jreC、、exeD、、class

在Java中负责对字节码解释执行得就是()。

A、垃圾回收器B、虚拟机C、编译器D、多线程机制

编译Java  Application 源程序文件将产生相应得字节码文件,这些字节码文件得扩展名为(     )。

A、    、java   B、    、class 

       

  C、    、htmD、    、exe

第二章java编程基础

1.java代码基本格式

java语言区分大小写,程序代码必须写在一个类中

Java中main()函数得返回值就是()。

A、StringB、intC、charD、void

void得含义()

A方法没有返回值B方法体为空

C没有意义D、定义方法时必须使用

2、java标识符可以由任意顺序得大小写字母、数字、下划线_与美元符号$组成,但不能以数字开头,不能就是java关键字。

以下选项中,哪个就是合法标识符()

A.abcB、classC、123sbDbyte

如下哪个不就是Java中有效得变量名。

()

A、ifB、_helloC、nameD、$good

下面选项中哪个就是Java中得标识符

A、publicB、superC、3numberD、width

下面哪个单词就是Java语言得关键字()

A.FalseB.FORC.ForD.for

下列标识符中,正确得就是。

A、1_BackB、$_MoneyC、$-moneyD、a、b

下列标识符中,合法得一个就是。

A.$#!

$B.$我们$C.$22$D.2$$2

3、运算符表达式条件循环++--/%

设x=1,y=2,z=3则表达式y+=z--/++x得值就是()。

A、3B、3、5C、4D、5

以下程序得运行结果就是:

()

publicclassIncrement{

publicstaticvoidmain(Stringargs[]){

inta;

a=6;

System、out、print(a);

System、out、print(a++);

System、out、print(a);}}

A.666B、667C、677D、676

下列代码输出结果就是()

inti=10;while(i>0){

i=i+1;

if(i==10){

break;}}

A、while循环执行10次B、死循环C、循环一次都不执行D、循环执行一次

执行下面代码结果()

for(inti=0;;){

System、out、println("这就是"+i);

Break;}

A、语法错误,缺少表达式2与表达式3

B、死循环

C、程序什么都不输出

D、输出:

这就是0

下列语句执行后变量a、c得值分别就是。

intx=182;

inta,c;

c=x/100;

a=x%10;

A)12B)21C)1、82,2D)100,82

下列语句执行后,k得值就是()

intj=4,i,k=10;

for(i=2;i!

=j;i++)k=k-i;

 A.4B.5C.6D.7

break中断语句若在一个for语句中加入break语句它可以

A.对for语句执行没有影响

B.中断本次循环进入下一次循环

C.退出for循环执行for语句后面得语句

D.以上说法均不对、

执行完下面程序片段后得结论就是正确得。

inta,b,c;

a=1;b=2

c=(a+b>3?

a++:

b++);

A、a得值就是2b得值就是3B、a得值就是1b得值就是3

C、a得值就是1b得值就是2D、c得值就是false

4、方法(函数)

方法得重载:

函数名相同,参数个数与参数类型不同。

返回值不同不算重载。

方法得重写:

在继承关系中,子类重新定义父类得同名方法(参数个数与类型与父类一样)。

P116

方法递归就是指在一个方法得内部调用自身得过程。

必须给出结束条件,不然会陷入死循环。

函数重载就是指()。

A、两个或两个以上得函数取相同得函数名,但形参得个数或类型不同

B、两个以上得函数取相同得名字与具有相同得参数个数,但形参得类型可以不同

C、两个以上得函数名字不同,但形参得个数或类型相同

D、两个以上得函数取相同得函数名,并且函数得返回类型相同

一个类可同时定义许多同名得方法,这些方法得形式参数个数、类型,传回得值也可以不相同。

这种面向对象程序得特性称为()。

A、隐藏

B、覆盖

C、重载

D、Java不支持此特性

重写与重载得关系就是()

A、重写只有发生在父类与子类之间而重载可以发生在同一个类中

B、重写方法可以不同名而重载方法必须同名

C、final修饰得方法可以被重写但不能被重载

D、重写与重载就是同一回事

下列方法头中哪一个不与其她方法形成重载(overload)关系?

(D)

A、voidmmm()B、voidmmm(inti)

C、voidmmm(Strings)D、intmm()(方法名不一样)

JAVA程序经常用到“递归”“递归”得基本思想就是()。

A、“让别人反复调用自己”

B、“自己反复调用别人”

C、“自己反复调用自己”

D、以上说法都不对

5、数组数组元素得值

下列程序段执行后得结果就是()。

Strings=newString("abcdefg");

for(inti=0;i

{System、out、print(s、charAt(i));}

A)acegB)ACEGC)abcdefgD)abcd

应用程序得main方法中有以下语句则执行后输出得结果就是(B)。

int[]x={125,21,5,168,98};

intmin=x[0];

for(inti=1;i

{if(x[i]

min=x[i];

}

System、out、println(min);

A)125B)5C)98D)168

若inta[3][2]={{123,345},{34,56},{34,56}},则a[2][1]=__56____。

设有整型数组得定义:

“intx[][]={{12,34},{-5},{3,2,6}};”则x、length得值为(9)

第三章面向对象(上)

1、java得面向对象得特点:

封装继承多态。

P7879

java得特性中体现对数据得保护得就是()

A.抽象性B.封装性

C.继承性D.多态性

java得特性中体现代码重用得就是()

A.抽象性B.封装性

C.继承性D.多态性

2.几个关键字:

extendsimplementsabstractinterface

类得创建,接口,抽象类创建得写法。

所有类得父类就是Object类。

Java中用      关键字定义继承(接口,抽象类 )。

Java语言中,①就是所有类得根类。

1Object②Root③Thread④Applet

下面就是类A得构造方法声明,其中正确得就是②

1voidA(intx){、、、}②A(intx){、、、}③a(intx){、、、}④voida(intx){、、、}

下列类定义中不正确得就是

3publicclassAextendsB{}②publicclassAextendsB,D{}

2publicclassAimplementsB,D{}④publicclassAextendsBimplementsC,D,E{}

下列哪个类声明就是正确得()。

A.publicabstractclassCar{…}B.abstractprivatemove(){…}

C.protectedprivatenumber;D.abstractfinalclassH1{…}

请瞧下面得程序段

publicclassTest{

longa[]=newlong[10];

pubicstaticvoidmain(Stringargs[]){

System、out、println(a[6]);

}

}

哪一个选项就是正确得()。

A.不输出任何内容B.输出0

C.当编译时有错误出现D.当运行时有错误出现

定义类A如下:

classA{

inta,b,c;

publicvoidB(intx,inty,intz){a=x;b=y;c=z;}

}

下面对方法B得重载哪些就是正确得()。

A.publicvoidA(intx1,inty1,intz1){a=x1;b=y1;c=z1;}

B.publicvoidB(intx1,inty1,intz1){a=x1;b=y1;c=z1;}

C.publicvoidB(intx,inty){a=x;b=y;c=0;}

D.publicB(intx,inty,intz){a=x;b=y;c=z;}

下列方法得声明中不合法得就是。

A.floatarea(){…}B.voidarea(){…}

C.area{…}D.intarea(intr){…}

下面哪一个就是正确得类得声明?

 A、publicvoidHH{…}B、publicclassMove(){…}

 C、publicclassvoidnumber{}D、publicclassCar{…}

3.类得设计与封装(属性,方法,继承,接口,抽象类) 程序题

所谓类得封装就是指在定义一个类时,将类中得属性私有化,即用private关键字来修饰,私有属性智能在它所在得类中被访问。

4、 构造方法:

方法与类名相同,方法名前面没有返回值类型,在方法中不能使用

return语句返回一个值,当创建对象时调用,可以重载。

构造函数在一个类中肯定存在,如果不定义也不会报错,会有一个默认无参数构造函数,该函数函数体为空,如自己定义则无参数构造函数就没有了。

下列关于构造方法错误得就是()

A.java语言中构造方法名必须与类名相同

B.java语言中构造方法没有返回值,所以用void声明

C.java语言构造函数可以重载

D.java语言构造函数就是在创建对象时自动调用。

构造函数何时被调用()

A、创建对象时B、类定义时

C、使用对象得方法时D、使用对象得属性时

以下关于构造函数得描述错误得就是。

A、构造函数得返回类型只能就是void型。

B、构造函数就是类得一种特殊函数,它得方法名必须与类名相同。

C、构造函数得主要作用就是完成对类得对象得初始化工作。

D、一般在创建新对象时,系统会自动调用构造函数。

在Java中,关于构造方法,下列说法错误得就是()

A、构造方法得名称必须与类名相同

B、构造方法可以带参数

C、构造方法不可以重载

D、构造方法绝对不能有返回值

下面就是类A得构造方法声明,其中正确得就是

A.voidA(intx){、、、}B、A(intx){、、、}

C、a(intx){、、、}D、voida(intx){、、、}

有一个类A,对于其构造函数得声明正确得就是()。

A.voidA(intx){…}B.publicA(intx){…}

C.AA(intx){…}D.intA(intx){…}

以下关于构造函数得描述错误得就是()。

A、构造函数得返回类型只能就是void型。

B、构造函数就是类得一种特殊函数,它得方法名必须与类名相同。

C、构造函数得主要作用就是完成对类得对象得初始化工作。

D、一般在创建新对象时,系统会自动调用构造函数。

5、 static关键字(静态)

在定义一个类时,只就是在描述某类事物得特征与行为,并没有产生具体得数据。

只有通过new关键字创建类得实例对象后,系统才会为对象分配空间,存储各自得数据。

有时候,我们希望某些特定得数据在内存中只有一份,而且能够被一个类得实例对象所共享。

静态变量:

Static修饰得变量被称为静态变量,静态变量被所有实例共享,可以使用类名、变量名访问。

静态方法:

有时我们希望不创建对象得情况下可以调用某给方法,也就就是说方法不必与对象绑在一起。

用static修饰得方法就是静态方法,可以用类名、方法名调用,也可以用实例对象访问。

在一个静态方法中只能访问用static修饰得成员,原因就是没有被static修饰得成员需要先创建对象才能访问,而静态方法在被调用时可以不创建任何对象。

假设A类有如下定义,设a就是A类得一个实例,下列语句调用哪个就是错误得?

()

classA

{inti;

staticStrings;

voidmethod1(){}

staticvoidmethod2(){}

}

A、System、out、println(a、i);B、a、method1();

C、A、method1();D、A、method2()

下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段得输出结果。

()

classClassDemo{

publicstaticintsum=1;

publicClassDemo(){

sum=sum+5;}

}

publicclassClassDemoTest{

publicstaticvoidmain(Stringargs[]){

ClassDemodemo1=newClassDemo();

ClassDemodemo2=newClassDemo();

System、out、println(demo1、sum);}

}

A、0B、6C、11D、2

请瞧下面得程序段

classTest{

privateintm;

publicstaticvoidfun(){

//somecode

}

}

方法fun()如何来访问变量m()

A.将privateintm改成protectedintmB.将privateintm改成publicintm

C.将privateintm改成staticintmD.将privateintm改成intm

声明为static得方法不能访问()类成员。

A.超类B.子类

C.非staticD.用户自定义类

第四章面向对象(下)

1.继承extends

只有单继承,

在Java语言中,下列关于类得继承得描述,正确得就是()。

A、一个类可以继承多个父类

B、一个类可以具有多个子类

C、子类可以使用父类得所有方法

D、子类一定比父类有更多得成员方法

Java中,如果类C就是类B得子类,类B就是类A得子类,那么下面描述正确得就是()

A、C不仅继承了B中得成员,同样也继承了A中得成员

B、C只继承了B中得成员

C、C只继承了A中得成员

D、C不能继承A或B中得成员

Java语言中对父类与子类关系描述正确得就是

A、一个子类可以有多个父类一个父类也可以有多个子类

B、一个子类可以有多个父类但一个父类只可以有一个子类

C、一个子类可以有一个父类但一个父类可以有多个子类

D、上述说法都不对

有两个类定义:

classA{voidwho(){System、out、print("A");}}

classBextendsA{voidwho(){System、out、print("B");}}

则顺序执行如下语句后输出得结果为③。

Aa=newB();Bb=newB();

a、who();b、who();

①AA②AB③BB④BA

已知类关系如下:

ClassEmployee{}

ClassManagerextendsEmployee{}

ClassDirectorextendsEmployee{}

则下列语句正确得就是:

()。

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

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

关于Java中得继承,下列说法错误得就是。

A.继承就是面向对象编程得核心特征,通过继承可以更有效地组织程序结构。

B.继承使得程序员可以在原有类得基础上很快设计出一个功能更强得新类,而不必从头开始,避免了工作上得重复。

C.每一次继承时,子类都会自动拥有父类得属性与方法,同时也可以加入自己得一些特性,使得它更具体、功能更强大。

D.继承一般有多重继承与单一继承两种方式,在单一继承中每一个类最多只有一个父类,而多重继承则可以有多个父类。

Java中得类都采用多重继承。

2.Super关键字:

调用父类得方法。

编译运行下面得程序,结果就是()。

publicclassA{

publicstaticvoidmain(Stringargs[]){

Bb=newB();

b、test();

}

voidtest(){

System、out、print(“A”);

}

}

classBextendsA{

voidtest(){

super、test();

System、out、print(“B”);

}

}

A.产生编译错误

B.代码可以编译运行,并输出结果:

AB

C.代码可以编译运行,但没有输出

D.编译没有错误,但会产生运行时异常

ClassParent{

VoidprintMe(){

System、out、println(“parent");

}

}

classChildextendsParent{

voidprintMe(){

System、out、println("child");

}

voidprintAll(){

super、printMe();

this、printMe();

printMe();

}

}

publicclassA{

publicstaticvoidmain(Stringargs[]){

ChildmyC=newChild();

myC、printAll();

}

}

运行结果就是:

3.Final关键字可用于修饰类、变量与方法,它有“这就是无法改变得”或者“最终”得含义,因此被final修饰得类、变量与方法将具有以下特性:

1、final修饰得类不能被继承。

2、final修饰得方法不能被子类重写。

3、final修饰得变量(成员变量与局部变量)就是常量,只能赋值一次。

在Java中关于final关键字得说法不正确得就是。

A、如果修饰变量则一旦赋了值就等同一个常量。

B、如果修饰类则该类只能被一个子类继承。

C、如果修饰方法则该方法不能在子类中被覆盖。

D、如果修饰类则该类不能被继承。

什么样得方法不能被重写。

A.私有(private)方法B.最终(final)方法

C.受保护(protected)得方法D.以上都不对

4.抽象类与接口

定义方法时不写方法体,不包含方法体得方法为抽象方法,抽象方法必须使用abstract关键字来修饰,具体示例如下:

当一个类中包含了抽象方法,该类必须使用abstract关键字来修饰,使用abstract关键字修饰得类为抽象类,具体示例如下:

如果一个抽象类中得所有方法都就是抽象得,则可以将这个类用另外一种方式来定义,即接口。

在定义接口时,需要使用interface关键字来声明。

对抽象类得描述错误得就是②

①必须被继承使用②方法必须被覆盖③不能实例化④用abstract修饰符修饰

下列关于接口得叙述中,④就是正确得。

1接口与抽象类就是相同得概念②接口之间不能有继承关系

3个类只能实现一个接口④接口中只含有抽象方法与常量

接口就是Java面向对象得实现机制之一,以下说法正确得就是()。

A.Java支持多重继承,一个类可以实现多个接口

B.Java只支持单重继承,一个类可以实现多个接口

C.Java只支持单重继承,一个类只可以实现一个接口

D.Java支持多重继承,但一个类只可以实现一个接口

下列有关抽象类与接口得叙述中正确得就是哪一个。

A.抽象类中必须有抽象方法,接口中也必须有抽象方法

B.抽象类中可以有

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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