java程序设计试题库-2023修改整理_第1页
java程序设计试题库-2023修改整理_第2页
java程序设计试题库-2023修改整理_第3页
java程序设计试题库-2023修改整理_第4页
java程序设计试题库-2023修改整理_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐java程序设计试题库《Java语言程序设计基础教程》

练习思量题参考答案

第1章Java程序设计概述

1、1单项挑选题

1.编译JavaApplication源文件将产生相应得字节码文件,扩展名就是什么

A、、java????

B、、class

?C、、html???D、、exe

解答:B

2.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中“一次编

译,随处运行”得特点.

?A、容易性????B、平台无关性

C、面对对象性????

D、平安性

解答:B

3.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中并行机制得

特点。

?A、多线程???B、平台无关性

C、面对对象性???

D、平安性

解答:A

4。在Java语言中,下列哪些语句关于内存回收得说明就是正确得?

?A.程序员必需创建一个线程来释放内存;

B.内存回收程序负责释放无用内存;

C.内存回收程序允许程序员直接释放内存;

D.内存回收程序可以在指定得时光释放内存对象

解答:B

5.一个Java源文件中最多只能有多少个public类。

?A、1个?B、2个

C、3个?

D、随意多个

解答:A

6。下面哪一个不就是Java语言所具有得特点。

A、没有全局变量,在类得定义外部没有任何得变量定义;

?B、不直接支持指针操作,而使用更平安得引用类型;

C、支持子类对父类得多继承;

D、具有自动垃圾收集功能;

解答:C

7。下面哪一个不就是Java开发工具包JDK得组成部分.

?A、Java得编译器;

B、Java得解释器;?

?C、Java得API继承类库;

?D、Eclipse开发工具;

解答:C

8。JDK提供得编译器就是()。

?A、java、exe???B、javac、exe

C、javap、exe???

D、javaw、exe

解答:B

9。作为Java应用程序入口得main办法,其声明格式可以就是()

A、publicvoidmain(String[]args)

B、publicstaticvoidmain(String[]args)

C、publicstaticvoidMain(String*args)

D、publicintmain(String[]args)

解答:B

10.下列说法正确得就是(A)

A、JAVA程序得main办法必需写在类里面

B、JAVA程序中可以有多个main办法

C、JAVA程序中类名必需与文件名一样

D、JAVA程序得main办法中假如惟独一条语句,可以不用{}(大括号)括起来

11。下列哪些语句关于Java内存回收得说明就是正确得?(B)

A、程序员必需创建一个线程来释放内存

B、内存回收程序负责释放无用内存

C、内存回收程序允许程序员直接释放内存

D、内存回收程序可以在指定得时光释放内存对象

1、2填空题

1、开发与运行Java程序需要经过得三个主要步骤为____________、____________与____________。

解答:编辑源程序、编译生成字节码与解释运行字节码

2、使用Java编译器___javac____、exe编译源文件得到字节码文件。

3、Java应用程序必需通过Java解释器__JAVA__、exe来解释执行其字节码文件。

4、假如Java源文件中有一个类就是public类,那么源文件得名字必需与这个类得名字彻低_相同______,扩展名就是、java。

5、Java应用程序总就是从主类得____main___办法开头执行。

1、3简答题

13、简述Java程序得开发过程?

(1)使用一个文字编辑器,编写源文件.(2)使用java编译器,编译源文件得到字节码文件。

(3)解释运行字节码,分两种java应用程序必需通过java解释器来解释执行,java小应用程序必需使用解释器与扫瞄器运行程序.

1、什么就是Java虚拟机?为什么Java被称作就是“平台无关得编程语言”?

解答:

Java虚拟机就是一个可以执行Java字节码得虚拟机进程。Java源文件被编译成能被Java虚拟机执行得字节码文件。

Java被设计成允许应用程序可以运行在随意得平台,而不需要程序员为每一个平台单独重写或者就是重新编译。Java虚拟机让这个变为可能,由于它知道底层硬件平台得指令长度与其她特性。

3、Java语言得关键特点有哪些?

解答:

容易性

平台无关性

面对对象性

平安性

分布式

多线程

动态性

1、4综合题

第2章Java基本得程序设计结构

2、1单项挑选题

1、下面哪一项在java中就是非法得标识符?()

A、$user?????

B、point

C、You后,以下说明正确得就是:()

A、x[24]为0???

B、x[24]未定义

C、x[25]为0?

D、x[0]为空

解答:A

4、Java应用程序得main办法中有以下语句,则输出得结果就是()。

int[]x={2,3,-8,7,9};

intmax=x[0];

for(inti=1;imax)

max=x[i];

System、out、println(max);

A、2?

B、-8?

C、7?????D、9

解答:D

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

A、3???

B、3、5

C、4????

D、5

解答:A

5、执行System、out、println(5/4),这条代码得输出结果就是()

A、1??B、1、25

C、1、5??D、0

解答:A

6、下列语句有错误得就是:()

A、int[]a;?

B、int[]b=newint[10];

C、intc[]=newint[];?

D、intd[]=null;

解答:C

7、下列语句有错误得就是:()

A、inta[][]=newint[5][5];?B、int[][]b=newint[5][5];

C、int[]c[]=newint[5][5];D、int[][]d=newint[5,5];

解答:D

8、下列哪一个不属于Java中得8种基本数据类型()

A、double;?

B、char;

C、int;D、String;

解答:D

9、以下数据类型存储空间最大得就是()。

(A)byte(B)long(C)float(D)char

解答:B

10、System、out、println("5"+2);得输出结果应当就是()。

A52B7

C2D5

答案:A

11.在类得定义中可以有两个同名办法,每个办法得参数不同,这种现象称为办法(D)。

(A)封装(B)继承(C)笼罩(D)重载

12.java中定义字符串Strings=”pzhu”,下面操作可以取得字符串长度得就是()。

?A、s、length()B、s、lengthC、s、size()D、length(s)

解答:A

13。指出下列程序运行得结果(B)(很难)

publicclassExample{

Stringstr=newString(”good");

char[]ch={'a’,'b','c'};

publicstaticvoidmain(Stringargs[]){

Exampleex=newExample();

ex、change(ex、str,ex、ch);

System、out、print(ex、str+”and");

System、out、print(ex、ch);

publicvoidchange(Stringstr,charch[]){

str="testok";

ch[0]=’g';

}

A、goodandabc

B、goodandgbc

C、testokandabc

D、testokandgbc

14.下面代码得运行结果为:(C)(较难)

importjava、io、*;

importjava、util、*;

publicclassfoo{

publicstaticvoidmain(String[]args){

Strings;

System、out、println("s="+s);

}

A代码得到编译,并输出“s=”

B代码得到编译,并输出“s=null”

C因为Strings没有初始化,代码不能编译通过

D代码得到编译,但捕捉到NullPointException异样

15.关于以下程序段,正确得说法就是(C)

1.Strings1=”abc”+”def”;

2。Strings2=newString(s1);

3.if(s1==s2)

4.System、out、println(“==succeeded”);

5.if(s1、equals(s2))

6。System、out、println(“、equals()succeeded”);

A、行4与行6都将执行

B、行4执行,行6不执行

C、行6执行,行4不执行

D、行4、行6都不执行

16。Javaapplication中得主类需包含main办法,main办法得返回类型就是

什么?(D)A、intB、float

C、doubleD、void

17。为一个boolean类型变量赋值时,可以使用(B)方式

A、boolean=1;

B、booleana=(9〉=10);

C、booleana="真";

D、booleana==false;

18.表达式(11+3*8)/4%3得值就是(D)

A、31B、0C、1D、2

19。运算符优先级别排序正确得就是(A)(太难)

A、由高向低分离就是:()、!、算术运算符、关系运算符、规律运算符、赋值运算符;

B、由高向低分离就是:()、关系运算符、算术运算符、赋值运算符、!、规律运算符;

C、由高向低分离就是:()、算术运算符、规律运算符、关系运算符、!、赋值运算符;

D、由高向低分离就是:()、!、关系运算符、赋值运算符、算术运算符、规律运算符;

20.下列值不为true得表达式有(C).

A、”john"==”john"

B、"john”、equals("john”)

C、”john"="john"

D、”john”、equals(newString(”john”))

21、下面得办法,当输入为2得时候返回值就是多少?(D)(很难)

publicstaticintgetValue(inti){

intresult=0;

switch(i){

case1:

result=result+i;

case2:

result=result+i*2;

case3:

result=result+i*3;

}

returnresult;

}

A0B2C4D10

答案:D

解析:注重这里case后面没有加break,所以从case2开头向来往下运行。

22、下面有关for循环得描述正确得就是(A)

A、for循环体语句中,可以包含多条语句,但要用大括号括起来

B、for循环只能用于循环次数已经确定得状况

C、在for循环中,不能使用break语句跳出循环

D、for循环就是先执行循环体语句,后举行条件推断

23、score就是一个整数数组,有五个元素,已经正确初始化并赋值,认真阅读下面代码,程序运行结果就是(B)

temp=score[0];

for(intindex=1;index<5;index++){

if(score[index]b?a:b);

voidmax(floata,floatb){

??System、out、println(a>b?a:b);

}

?voidmax(doublea,doubleb){

System、out、println(a>b?a:b);

?}

?publicstaticvoidmain(String[]args){

??Testt=newTest();

??t、max(3,4);

?}

3、编写一个矩形类对数学中得矩形举行抽象描述,并具有办法可以计算矩形得周长与面积,详细分为以下三个子任务完成。

(1)创建Rectangle类,添加属性width、height,并定义构造办法Rectangle(double_width,double_height);

(2)在Rectangle类中添加两种办法putCircum()与putArea()分离计算矩形得周长与面积;

(3)编程利用Rectangle对象输出一个30*40得矩形得周长与面积。

解答:

publicclassTestRectang{

?publicstaticvoidmain(String[]args){

?//TODOAuto-generatedmethodstub

?Rectanglerect1=newRectangle(20,30);

?System、out、println(rect1、putArea());

System、out、println(rect1、putCircum());

?}

classRectangle{

doublewidth,height;

Rectangle(){

?width=0;

??height=0;

}

Rectangle(double_width,double_height){

??width=_width;

?height=_height;

?}

?doubleputArea(){

?returnwidth*height;

?}

doubleputCircum(){

?return2*(width+height);

}

第4章继承、接口与内部类

4、1单项挑选题

1、Java中用于定义接口得关键字就是()

A、importB、package

C、class??D、interface

解答:D

2、以下关于abstract得说法,正确得就是()

A、abstract只能修饰类

B、abstract只能修饰办法

C、abstract类中必需有abstract办法

D、abstarct办法所在得类必需用abstract修饰

解答:D

3、下列哪种说法就是正确得()

A、私有办法不能被子类笼罩。

B、子类可以笼罩超类中得任何办法。

C、笼罩办法可以声明自己抛出得异样多于那个被笼罩得办法。

D、笼罩办法中得参数清单必需就是被笼罩办法参数清单得子集。

解答:A

4、关于类继承得说法,正确得就是()

A、Java类允许多重继承

B、Java接口允许多继承

C、接口与类都允许多继承

D、接口与类都不允许多继承

解答:B

5、关于抽象类,正确得就是______。

A、抽象类中不行以有非抽象办法

B、某个非抽象类得父类就是抽象类,则这个子类必需重载父类得全部抽象办法

C、可以用抽象类直接去创建对象

D、接口与抽象类就是同一个概念

解答:B

8、抽象类A与抽象类B得定义如下:

abstractclassA{

abstractintgetinfo();

}

publicclassBextendsA{

?privateinta=0;

publicintgetinfo(){

??returna;

?publicstaticvoidmain(Stringargs[]){

?Bb=newB();

?System、out、println(b、getinfo());

?}

关于上述代码说明正确得就是()。

A、输出结果为0??

B、通过编译但没有输出任何结果

C、第5行不能通过编译?D、程序第2行不能通过编译

解答:A

9、下面程序得运行结果就是______

classex4_5_11_A{

protectedstaticintcount=0;

?publicex4_5_11_A(){

?count++;

?}

classex4_5_11_Bextendsex4_5_11_A{

publicex4_5_11_B(){

??count++;

?}

}

classex4_5_11{

?publicstaticvoidmain(Stringargs[]){

??ex4_5_11_Bx=newex4_5_11_B();

??System、out、println(”count="+x、count);

?}

A、count=1??

B、count=2

C、count=3???D、count=4

解答:B

10、设有下面两个类得定义:

classPerson

{?longid;//身份证号

Stringname;//姓名

classStudentextendsPerson

{intscore;//入学总分

intgetScore(){

returnscore;

}

}

?问:类Person与类Student得关系就是()

A、包含关系??B、继承关系

C、关联关系?

D、无关系,上述类定义有语法错误

解答:B

11、以下程序代码错误得就是(B)。

abstractclassP{}

classAextendsP{}

abstractclassBextendsP{}

(A)Pp=newA();(B)Pp=newB();

(C)Aa=newA();(D)Pp=newP(){voidfoo(){}};

12、下面就是People与Child类得定义与构造办法,每个构造办法都输出编号。在执行newChild(”mike”)得时候都有哪些构造办法被挨次调用?请挑选输出结果(D)classPeople{

Stringname;

publicPeople(){

System、out、print(1);

publicPeople(Stringname){

System、out、print(2);

this、name=name;

}

}

classChildextendsPeople{

Peoplefather;

publicChild(Stringname){

System、out、print(3);

this、name=name;

father=newPeople(name+":F”);

publicChild(){

System、out、print(4);

A312B32C432D132

13、选项中哪一行代码可以替换题目中//addcodehere而不产生编译错误?(A)

publicabstractclassMyClass{

publicintconstInt=5;

//addcodehere

publicvoidmethod(){

Apublicabstractvoidmethod(inta);

BconstInt=constInt+5;

Cpublicintmethod();

DpublicabstractvoidanotherMethod(){}

15、以下哪项就是接口得正确定义?(D)

A、interfaceB{voidprint(){}}

B、abstractinterfaceB{voidprint()}

C、abstractinterfaceBextendsA1,A2//A1、A2为已定义得接口

{abstractvoidprint(){};}

D、interfaceB{voidprint();}

16、A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明:

1、Aa0=newA();

2、Aa1=newB();

3、Aa2=newC();

问以下哪个说法就是正确得?(D)

A、惟独第1行能通过编译

B、第1、2行能通过编译,但第3行编译出错

C、第1、2、3行能通过编译,但第2、3行运行时出错

D、第1行、第2行与第3行得声明都就是正确得

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

classA

{inti;

staticStrings;

voidmethod1(){}

staticvoidmethod2(){}

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

B、a、method1();

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

18、以下关于继承得讲述正确得就是(A).

A、在Java中类只允许单一继承

B、在Java中一个类只能实现一个接口

C、在Java中一个类不能同时继承一个类与实现一个接口

D、在Java中接口只允许单一继承

19、以下关于抽象类与接口得说法错误得就是(E)

A、抽象类在Java语言中表示得就是一种继承关系,一个类只能使用一次继承。但就是一个类却可以实现多个接口。

B、在抽象类中可以没有抽象办法

C、实现抽象类与接口得类必需实现其中得全部办法,除非它也就是抽象类。接口中得办法都不能被实现

D、接口中定义得变量默认就是publicstaticfinal型,且必需给其初值,所以实现类中不能重新定义,也不能转变其值。

E、接口中得办法都必需加上public关键字。

4、2填空题

1、?在Java语言中全部得类都就是直接或间接地继承_Object_____类而得到得。

2、在Java中一个父类可以有___多___个子类,一个类只能有__一____个直接父类。

3、Java中不能被实例化、只能被子类继承得就是____抽象_____类

4、当子类中得变量或办法与父类得变量与办法重名时,子类得变量被______躲藏,子类中得办法被______重载.此时,指向父类中得变量或办法,则用______super关键字实现。

5、用来定义一个类指定继承父类得关键字就是______extends,用来指定接口得继承得关键字就是______implements

7、在已有类得基础上构造一个新得类,称为类得______继承。

4、3简答题

1、请举例简要说明JAVA语言得继承机制有何特点?

解答:子类可以使用父类中得成员变量与办法,然后也可以添加自己得属性与办法。假如子类没有构造办法,则编译器首先为子类添加一个无参得构造办法,然后调用父类得默认构造办法,假如子类有构造办法,则先调用父类得默认构造办法,再调用子类得构造办法;假如父类中没有默认构造办法,则出错。(太难)

2、什么就是继承?什么就是多重继承与单继承?Java采纳何种机制来实现多重继承?

解答:继承就是面对对象编程得一种特性,就是保留原有类功能得前提下拓展或改写部分功能,实现代码复用得方式。单继承就就是一个类只可以继承自一个父类,多继承就是指一个类可以同时继承多个父类.java中使用得就是单继承,也就就是一个类有且只能有

一个父类,java中可以使用接口实现来实现类似多继承得效果。

3、简述super关键字自得义,以及如何使用。

解答:关键字super表示父类对象.通过在子类中使用super做前缀可以引用被子类躲藏得父类变量或被子类重写得父类办法。super用来引用当前对象得父类,虽然构造办法不能够继承,但利用super关键字,子类构造办法中也可以调用父类得构造办法.1)操作被躲藏得变量与办法;2)使用super调用父类得构造办法.

4、抽象类就是什么,抽象办法就是什么。

解答:抽象类就就是不能使用new办法举行实例化得类,即没有详细实例对象得类。抽象类有点类似“模板”得作用,目得就是按照其格式来创建与修改新得类。对象不能由抽象类直接创建,只可以通过抽象类派生出新得子类,再由其子类来创建对象。

抽象办法就就是以abstract修饰得办法,这种办法只声明返回得数据类型、办法名称与所需得参数,没有办法体,也就就是说抽象办法只需要声明而不需要实现。当一个办法为抽象办法时,意味着这个办法必需被子类得办法所重写,否则其子类得办法仍然就是abstract得。

4、接口就是什么,以及它得用处体现在哪几个方面。

解答:接口就是抽象类得一种,只包含常量与办法得定义,而没有变量与办法得实现,且其办法都就是抽象办法。它得用处体现在下面几个方面:1)通过接口实现不相关类得相同行为,而无需考虑这些类之间得关系.2)通过接口指明多个类需要实现得办法。3)通过接口了解对象得交互界面,而无需了解对象所对应得类。

5、什么就是接口,什么就是抽象类,接口与抽象类得区分?

解答:

抽象类就就是不能使用new办法举行实例化得类,即没有详细实例对象得类。抽象类有点类似“模板”得作用,目得就是按照其格式来创建与修改新得类。对象不能由抽象类直接创建,只可以通过抽象类派生出新得子类,再由其子类来创建对象。

接口就是抽象类得一种特别形式,只包含常量与办法得定义,而没有变量与办法得实现,且其办法都就是抽象办法。

抽象层次不同,抽象类就是对类得抽象,而接口就是对行为得抽象。

跨域层次不同,抽象类得跨域就是具有相像得类,接口可以跨域不同得类。

设计层次不同,抽象类就是自底向上抽象而来,子类抽象父类接口就是自顶向下设计得,无需知道子类。

6、接口得用处体现哪几个方面?

解答:

通过接口实现不相关类得相同行为,而无需考虑这些类之间得关系。

通过接口指明多个类需要实现得办法。

通过接口了解对象得交互界面,而无需了解对象所对应得类.

7、接口与实现类(详细类)关系:

解答:

多个无关得类可以实现同一个接口。

一个类可以实现多个无关得接口.

与继承关系类似,接口与实现类之间存在多态性。

14、子类与父类得继承关系中,什么就是属性躲藏?什么就是办法重写?

解答:躲藏就是指当父类与子类有相同名字得属性得时候,父类得同名变量形式上不行见了.但就是实际还就是存在得。

重写就是针对办法得,通常就是父类得办法在子类中重新写过.当执行子类得实例得时候,实际运行得就是子类得办法。在子类里面可以通过super、method()来显式得拜访。

15、子类会继承父类得全部办法与属性么?

解答:在同一个包中除private声明外得办法都可以继承。不在同一个包中,只继承protected与public声明得办法.(太难了)

16、Java中得办法重写(Overriding)与办法重载(Overloading)分离就是什么?

解答:Java中得办法重载发生在同一个类里面两个或者就是多个办法得办法名相同但就是参数不同得状况。与此相对,办法重写就是说子类重新定义了父类得办法。子类中重写得办法与父类中被重写得办法必需有相同得办法名,参数列表与返回类型,只就是办法体不同。

4、4综合题

1、写出一个类People,并由该类做基类派生出子类Employee与Teacher.其中People类具有name、age两个庇护成员变量,分离为String类型、整型,且具有公有得getAge成员函数,用于返回age变量得值。Employee类具有庇护成员变量empno为String类型,Teacher类有teano为String类型与zc成员变量为String类型。

解答:

//People类:

publicabstractclassPeople{

protectedStringname;

protectedintage;

publicintgetAge(){

returnage;

//Employee类:

publicclassEmployeeextendsPeople{

protectedStringempno;

//Teacher类:

publicclassTeacherextendsPeople{

protectedStringteano;

protectedStringzc;

}

2、定义一个新得类Student类,继承Person类。要求:

1)增强“school”属性为String类型.

2)重载Student类得构造办法,Student(Stringn,Stringl,Stringschool)。

3)重写Person类得info()办法,增强school信息。

classPerson{

privateStringname;

privateStringlocation;?

Person(Stringname,Stringlocation){

?this、name=name;

?this、location=location;?

?}

publicStringinfo(){

??return”name:”+name+"location:"+location;

?}

解答:

classStudentextendsPerson{

?privateStringschool;

?Student(Stringn,Stringl,Stringschool){

?super(n,l);

?this、school=school;

?}

publicStringinfo(){

?returnsuper、info()+"school:”+school;

}

3、定义一个接口,该接口中惟独一个抽象办法getClassName()。设计一个类Horse,该类实现接口ClassName中得办法getClassName(),功能就是猎取该类得类名.

interfaceClassname{

?publicStringgetclassname();

classHorseimplementsClassname{

publicStringgetclassname(){

returnthis、getClass()、getName();

?}

publicclassTest{

publicstaticvoidmain(String[]args){

??Classnamename=newHorse();

?System、out、println(name、getclassname());

}

4、编写一个Java应用程序,该程序中有1个Cat类继承Object类,具有三个成员属性Stringname、intfurColor、intheight,一个构造办法Cat(Stringname,intfurColor,intheight),并且重写Cat类得toString()与equals(Objectobj)成员办法。详细要求如下:

a)重写toString成员办法,返回值就是成员属性Stringname得值。

b)重写equals成员办法,假如两个Cat对象得furColor与height属性相等那么返回值就是true,否则返回值就是false.

classCat{

intcolor;

?intheight,weight;

?publicCat(Stringname,intcolor,intheight,intweight){

?this、name=name;

?this、color=color;

?this、height=height;

??this、weight=weight;

?}

publicStringtoString(){

returnthis、name;

?}

publicbooleanequals(Objectobj){

?if(obj==null)returnfalse;

?else{

?if(objinstanceofCat){

?Catc=(Cat)obj;

???if(c、color==this、color&&c、height==this、height)

???returntrue;

?}

?}

?returnfalse;

?}

18、定义一个动物类Animal,具有name成员变量,构造办法与sing()办法.定义一个Cat类继承Animal类,增添furColor成员变量,重写构造办法与sing()办法.定义一个Bird类继承Animal类,增添featherColor成员变量,重写构造办法与sing()办法。

在main办法中接收用户得输入"1、Cat2、Bird"创建Cat或者Bird对象,并把该对象得引用赋值给一个Animal引用变量pet,最后调用引用变量pet得办法sing(),并将结果输出。

package、pm、Poly;

classAnimal{

?privateStringname;

Animal(Stringname){

this、name=name;

publicvoidenjoy(){

?System、out、println("叫声、、、、”);

}

}

classCatextendsAnimal{

?privateStringeyesColor;

Cat(Stringn,Stringc){

?super(n);

??eyesColor=c;

publicvoidenjoy(){

System、out、println("猫叫声、、、、”);

?}

classDogextendsAnimal{

privateStringfurColor;

Dog(Stringn,Stringc){

?super(n);

?furColor=c;

?publicvoidenjoy(){

??System、out、println(”狗叫声、、、、");

?}

classBirdextendsAnimal{

privateStringfeatherColor;

Bird(Stringn,Stringf){

?super(n);

?featherColor=f;

?}

publicvoidenjoy(){

?System、out、println("鸟叫声、、、、、”);

}

classLady{

?privateStringname;

?privateAnimalpet;

Lady(Stringname,Animalpet){

this、name=name;this、pet=pet;

}

?publicvoidmyPetEnjoy(){

?pet、enjoy();

publicclassTestPolymoph{

?publicstaticvoidmain(String[]args){

?//TODOAuto—generatedmethodstub

?Ladyl3=newLady("l3",newBird("birdname","green"));

l3、myPetEnjoy();

}

第5章JavaAPI

5、1单项挑选题

2、认真分析下面程序,正确得输出结果就是()

publicclassTest1{

publicstaticvoidchangeStr(Stringstr){

??str="wele";

?publicstaticvoidmain(String[]args){

Stringstr="1234";

changeStr(str);

?System、out、println(str);

?}

}

A、wele??B、wele1234

C、1234????D、1234wele

解答:C(太难)

3、Java语言中得一些常用得有用工具,如处理时光得Date类,处理变长数组得Vector类等,所在得包就是()。

A、java、lang包??

B、java、io包

C、java、awt包??D、java、util包

解答:D

6、在Java中,全部类得根类就是().

A、java、lang、Object

B、java、lang、Class

C、java、applet、Applet

D、java、awt、Frame

解答:A

7、以下用于创建容器对象得类就是(A)

A、Frame

B、Checkbox

C、Button

D、TextField

8、在JAVA中,以下(C)类得对象以键-值得方式存储对象

A、java、util、List

B、java、util、ArrayList

C、java、util、Hashtable

D、java、util、LinkedList

9、给定如下Java程序代码片段,编译运行这段代码,结果就是(B).

java、util、Hashtabletable=newjava、util、Hashtable();

table、put("name”,null);

table、put("name",”Jack");

System、out、println(table、get("name"));

A、null

B、Jack

C、nullJack

D、运行时浮现异样

5、2填空题

1、java得___自动垃圾收集机制大大减轻了程序员得负担,不用再编写特地得内存回收程序解决内存分配问题

2、Math、random()可以产生一个在0与1之间得数,请写出产生一个在125与175之间得整数得语句Math、round(125+50*Math、random())

5、3简答题

1、请举例说明string类与StringBuffer类得区分?

StringBuffer对象得内容可以修改;而String对象一旦产生后就不行以被修改,重新

赋值其实就是两个对象。StringBuffer得内部实现方式与String不同,StringBuffer在举行字符串处理时,不生成新得对象,在内存使用上要优于String类。所以在实际使用时,假如常常需要对一个字符串举行修改,使用StringBuffer要越发适合一些。

2、写出下面代码得结果,并容易说明缘由

publicclassTestString{

publicstaticvoidlink(Stringa){

a+=”World";

publicstaticvoidmain(String[]args){

Stringa=”Hello”;

link(a);

System、out、println(a);

}

解答:这道题考两个方面:

1)、String对象得内容就是不能转变得,a+="World"并不就是把a所指对象转变,而就是先生成一个暂时String对象,其值为a+”World”,然后在把这个暂时对象赋给a、

2)、Java中函数参数传递方式为Callbyvalue,link办法中会生产a得一个拷贝,同样指向a所指得对象,综合以上两点,得出结果为Hello

5、4综合题

1、请编写程序,将下列字符串s=”1,2;3,4,5;6,7,8”转为二维实数数组?

publicclassArrayParser{

publicstaticvoidmain(String[]args){

double[][]d;

?Strings=”1,2;3,4,5;6,7,8”;

String[]sFirst=s、split(";");

d=newdouble[sFirst、length][];

for(inti=0;i〈sFirst、length;i++){

?String[]sSecond=sFirst[i]、split(",”);

??d[i]=newdouble[sSecond、length];

??for(intj=0;j<sSecond、length;j++){

?d[i][j]=Double、parseDouble(sSecond[j]);

???//System、out、println(sSecond[j]);

?}

??}

for(inti=0;i<d、length;i++){

?for(intj=0;j〈d[i]、length;j++){

?System、out、print(d[i][j]+”");

?}

??System、out、println();

}?

}

第6章图形用户界面设计

6、1单项挑选题

1、下列哪一项不就是直接或者间接继承了ponent类得子类.

A、Frame

B、Panel

C、Button

D、Menu

解答:D

2、下列哪一项就是一个用于在GridLayout中得特定区域中放置多个组件得容器?

A、Applet

B、Panel

C、Button

D、Rectangle

解答:B

3、下列容器类中哪一个就是从java、awt、Window继承得?()

A、Frame

B、Panel

C、Container

D、Applet

解答:A

4、下面哪个大事监听器可以处理在文本框中输入回车键得大事______。

A、ItemListener?

B、ActionListener

C、KeyListener?D、MouseListener

解答:B

5、Frame类对象得默认布局就是什么布局?()。

A、FlowLayout布局?B、BorderLayout布局

C、CardLayout布局D、GridLayout布局

解答:B

6、Panel类对象得默认布局就是什么布局?()。

A、FlowLayout布局

B、BorderLayout布局

C、CardLayout布局??

D、GridLayout布局

解答:A

7、下列办法中,不属于WindowListener接口得就是(D)。

A.windowOpened()

B。windowClosed()

C.windowActivated()

D.mouseDragged()

8、JAVA中,容器被重新设置后,哪种布局管理器得容器中得组件大小不随容器大小得变化而转变(B)

(A)CardLayout(B)FlowLayout

(C)BorderLayout(D)GridLayout

6、2填空题

1、Java中GUI工具包有__java、awt____与__java、Swing____。

2、通过调用办法__setLayout____可以转变当前容器得布局方式.

3、通过__add____办法向容器中添加组件。

4、AWT布局管理器有______、______、______、______与______。

5、图形用户界面得设计中有大事处理模型处理大事,在该模型中主要包括大事源、大事对象与________大事监听器

6、_______BorderLayout布局管理器包括五个显然得区域:东、南、西、北、中.6、3简答题

1、请举例简要说明JAVA语言使用大事监听器举行大事处理得过程。

首先大事监听器(包含真正处理大事得代码)向大事源(与大事关联得控件,如按钮、滚动条)注册,大事(敲击键盘,或点击鼠标)发生时,大事源向大事监听器发送一个大事对象(假如在该大事源上注册了多个大事监听器,则向全部得监听器发送)

1)对于某种类型得大事XXXEvent,要想接收并处理这类大事,必需定义相应得大事监听器类,该类需要实现与该大事相对应得接口XXXListener;

2)大事源实例化以后,必需举行授权,注册该类大事得监听器,使用addXXXListener(XXXListener)办法来注册监听器.

2、什么就是布局管理器?

解答:Java语言中,提供了布局管理器(LayoutManager)这个工具来管理组件在容器中得布局,如:罗列挨次,组件得大小、位置,当窗口移动或调节大小后组件如何变化等,而不使用直接设置组件位置与大小得方式。

每个容器都有一个布局管理器,不同得布局管理器使用不同算法与策略,当容器需要对某个组件举行定位或推断其大小尺寸时,就会调用其对应得布局管理器。容器可以通过挑选不同得布局管理器来打算布局.

3、JAVA得大事处理模型主要涉及到哪3类对象,容易介绍其内容。

解答:

大事:用户对界面操作在java语言上得描述,以类得形式浮现,例如键盘操作对应得大事类就是KeyEvent。

大事源:大事发生得场所,通常就就是各个组件,例如按钮Button。

大事处理者:接收大事对象并对其举行处理得对象。

4、简述JAVA得组件ponent类与容器Container类。

解答:Java得图形用户界面得最基本组成部分就是组件(ponent),组件就是一个以图形化得方式显示在屏幕上并能与用户举行交互得对象,例如一个按钮,一个标签等。组件不能自立地显示出来,必需将组件放在一定得容器中才可以显示出来。

容器java、awt、Container也就是一个类,实际上就是ponent得子类,因此容器本身也就是一个组件,具有组件得全部性质,但就是它得主要功能就是容纳其它组件与容器。一个容器可以容纳多个组件,并使它们成为一个整体。容器可以简化图形化界面得设计,以整体结构来布置界面。

6、4综合题

1、利用AWT控件编写一个求解一元二次方程根得程序,要求:

(1)具有一元二次方程三个系数a、b、c得输入界面。

(2)显示b*b-4*a*c得值。

(3)显示求出得根。

2、编写一个应用程序,实现一个基于图形用户界面得加法运算器得功能,窗口中用TextField类来创建三个文本框,用Label类来创建“+”号,用Button类来创建按钮。并通过实现ActionListener接口得监听器,完成如下功能:当用户点击按钮时,对前面两个文本框得数举行相加,并将结果显示在第三个文本框中,如下图所示。

importjava、awt、*;

publicclassTFMath{

?publicstaticvoidmain(String[]args){

??newTFFrame();

classTFFrameextendsFrame{

TextFieldnum1,num2,num3;

?TFFrame(){

?num1=newTextField(10);

?num2=newTextField(10);

num3=newTextField(15);

?LabellblPlus=newLabel("+”);

??ButtonbtnEqual=newButton("=");

btnEqual、addActionListener(newMyMonitor());

setLayout(newFlowLayout());

?add(num1);

??add(lblPlus);

?add(num2);

?add(btnEqual);

add(num3);

?pack();

??setVisible(true);

?}

//privateclassMyMonitorimplementsActionListener{//利于封装,不让别得类拜访它

classMyMonitorimplementsActionListener{

??publicvoidactionPerformed(ActionEvente){

???intn1=Integer、parseInt(num1、getText());

?intn2=Integer、parseInt(num2、getText());

?num3、setText(""+(n1+n2));

?}

?}

}

3、编写一个主类为TestGUI得程序实现如下功能:给出一个窗口,带有一个文本框与一个按钮,文本框输入用,用于输入字符。点击按钮后统计字符个数,并输出显示“您输入字符得个数为:"。

importjava、awt、*;

//importjavax、swing、JOptionPane;

publicclassTestGUIextendsFrame{

privateTextFieldtf=null;

?privateButtonbtn=null;

?publicstaticvoidmain(String[]args){

?newTestGUI()、init();

publicvoidinit(){

?//窗口关闭大事

?addWindowListener(newWindowAdapter(){

??publicvoidwindowClosing(WindowEvente){

????System、exit(0);

???}

??});

setLayout(newFlowLayout());

?tf=newTextField(15);

?btn=newButton("计算");

//按键响应大事

?btn、addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

?Strings="您输入字符得个数为:"+tf、getText()、length();

//弹窗显示结果

?//JOptionPane、showMessageDialog(null,s);

??System、out、println(s);

?}

?});

?add(tf);

?add(btn);

?setBounds(400,300,400,300);//设置窗体得位置与尺寸

??setVisible(true);

?}

4、编写一个主类为TestKey得程序实现如下功能:在窗口画出一个红色圆点,并可以通过键盘方向键(左右上下)控制红色圆点圆点举行移动。涉及到KeyEvent对应监听器接口得实现,paint()办法得重写,内部类等学问点。

importjava、awt、*;

importjava、awt、event、*;

importjava、util、*;

publicclassTestKey{

?publicstaticvoidmain(String[]args){

?newKeyFrame()、launchFrame();

?}

}

classKeyFrameextendsFrame{

?intframLocaX=200;

intframLocaY=200;

?//Pointp=newPoint(framLocaX+100,framLocaY+100);?Pointp=newPoint(100,100);

?publicvoidlaunchFrame(){

?setSize(400,400);

?setLocation(framLocaX,framLocaY);

??addKeyListener(newMyKeyMonitor());

?setVisible(true);

}

publicvoidpaint(Graphicsg){

??g、setColor(Color、BLUE);

?g、fillOval(p、x,p、y,10,10);

?}

?classMyKeyMonitorextendsKeyAdapter{

??publicvoidkeyPressed(KeyEvente){

???intkeyCode=e、getKeyCode();

?/*if(keyCode==KeyEvent、VK_UP){

System、out、println(”UP");?

??}*/

???switch(keyCode){

?caseKeyEvent、VK_UP:

??p、y=p、y—10;

???break;

?caseKeyEvent、VK_DOWN:

???p、y=p、y+10;

??break;

?caseKeyEvent、VK_RIGHT:

p、x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论