福建工程学院信息学院《java复习提纲》.docx

上传人:b****8 文档编号:8896365 上传时间:2023-02-02 格式:DOCX 页数:15 大小:21.29KB
下载 相关 举报
福建工程学院信息学院《java复习提纲》.docx_第1页
第1页 / 共15页
福建工程学院信息学院《java复习提纲》.docx_第2页
第2页 / 共15页
福建工程学院信息学院《java复习提纲》.docx_第3页
第3页 / 共15页
福建工程学院信息学院《java复习提纲》.docx_第4页
第4页 / 共15页
福建工程学院信息学院《java复习提纲》.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

福建工程学院信息学院《java复习提纲》.docx

《福建工程学院信息学院《java复习提纲》.docx》由会员分享,可在线阅读,更多相关《福建工程学院信息学院《java复习提纲》.docx(15页珍藏版)》请在冰豆网上搜索。

福建工程学院信息学院《java复习提纲》.docx

福建工程学院信息学院《java复习提纲》

1.数组的创建和初始化,数组的索引,对数组元素的要求,数组的长度

2.Java源文件的相关问题:

●编译:

javac文件路径---文件名.java

●执行:

java文件路径---公共类名

●一个原文件可编译出的class类的个数问题

3.Java中类的定义基本要求:

课本p29-33、

●另外要能根据相关要求编写一个类的完整代码(包括成员变量、构造方法、类方法);

●抽象类的相关内容

●还要能书写接口创建和实现接口的完整代码;

●Java中方法的重载和重写的区别p94,p98,p107—5.5小节

●This、super、final关键字

●第五章除了过时信息(5.12小节)外给我认真看!

4.Java的注释语句

5.线程thread必须写run()方法,创建线程的两种方法

6.Java的基本语法规范

7.Java的编译执行过程

8.Java访问控制四大关键字:

作用域

当前类

同一package

子孙类

其他package

public

√   

√   

√   

√   

protected

√   

√   

√   

 × 

default

√   

√   

 × 

 × 

private

√   

 × 

 × 

 × 

9.GUI中Frame和Panel的默认布局管理器

10.异常处理的处理过程,try、catch、finally关键字

试卷结构:

一、选择题、15X2=30

二、判断题5X2=10

三、填空题15X2=30

四、简答题5X2=10

五、编程题10X2=20

练习题

一、选择题(每道题只有一个正确答案,每小题2分,共30分)15道题

1、关于Java语言叙述错误的是:

(C)

A.Java语言具有跨平台性

B.Java是一种面向对象的语言

C.Java语言中的类可以多继承

D.Java的垃圾收集机制自动回收程序已不再使用的对象

2、以下叙述正确的是:

(B)的确台a

A.构造方法必须是public方法

B.main方法必须是public方法

C.Java应用程序的文件名可以是任意的

D.构造方法应该声明为void类型

3、关于Java中数据类型叙述正确的是:

(B)

A、整型数据在不同平台下长度不同

B.boolean类型数据只有2个值,true和false

C.数组属于简单数据类型

D.Java中的指针类型和C语言的一样

4、设intx=1,floaty=2,则表达式x/y的值是:

(D)

  A.0

  B.1

  C.2

  D.以上都不是

5、以下语句有语法错的是:

(A)

  A.intx=1;y=2;z=3

  B.for(intx=10,y=0;x>0;x++);

  C.while(x>5);

  D.for(;;);

6、关于类和对象的叙述正确的是:

(A)

A.Java的类分为两大部分:

系统定义的类和用户自定义的类

B.类的静态属性和全局变量的概念完全一样,只是表达形式不同

C.类的成员至少有一个属性和一个方法

D.类是对象的实例化

7、以下有关构造方法的说法,正确的是:

(A)

  A.一个类的构造方法可以有多个

  B.构造方法在类定义时被调用

  C.构造方法只能由对象中的其它方法调用

  D.构造方法可以和类同名,也可以和类名不同

8、以下有关类的继承的叙述中,正确的是:

(D)

  A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性

  B.子类只能继承父类的方法,不能继承父类的属性

  C.子类只能继承父类的非私有属性,不能继承父类的方法

  D.子类不能继承父类的私有属性

9、下列属于容器的组件有:

(B)

  A.JButton

  B.JPane

  C.Canvas

  D.JTextArea

10、void的含义:

(C)

  A.方法体为空

  B.定义的方法没有形参

  C.定义的方法没有返回值

  D.方法的返回值不能参加算术运算

11、关于Java中异常的叙述正确的是:

(D)

  A.异常是程序编写过程中代码的语法错误

  B.异常是程序编写过程中代码的逻辑错误

  C.异常出现后程序的运行马上中止

  D.异常是可以捕获和处理的

12、所有的异常类皆继承哪一个类?

(C)

  A.java.io.Exception

  B.java.lang.Throwable

  C.java.lang.Exception

  D.java.lang.Error

13、下面哪个不是java语言中的关键字?

(B)

  A.long

  B.sizeof

  C.instanceof

  D.const

14、为实现进程之间的通信,需要使用下列那种流才合适?

(D)

  A.Datastream

  B.Filestream

  C.Bufferedstream

  D.Pipedstream

15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?

(D)

  A.ActionListener

  B.MouseListener

  C.MouseMotionListern

  D.ItemListener

二、填空题(每空1分,共20分)

1、面向对象程序设计所具有的基本特征是:

___抽象性___,_封装性___,_继承性__,_多态性__

2、数组x定义如下

  intx[][]=newint[3][2]

  则x..length的值为____3________,

    x[0].length的值为_____2_______。

3、Java中实现多线程一般使用两种方法,一是___继承Thread类_________,二是_____实现Runnable方法__________

4、Java的图形用户界面设计中,有很多布局管理器用来摆放组件的位置,一般用到的布局管理器有(列出四种即可)__FlowLayout_____,___GridLayout_____,__BorderLayout_____,___CardLayout_______三、阅读程序,写出程序的输出结果(每题5分,共20分)

1、classA{

privateintprivateVar;

A(int_privateVar){

      privateVar=_privateVar;

   }

   booleanisEqualTo(AanotherA){

   if(this.privateVar==anotherA.privateVar)

   returntrue;

   else

   returnfalse;

   }

  }

publicclassB{

publicstaticvoidmain(Stringargs[]){

Aa=newA

(1);

Ab=newA

(2);

System.out.println(a.isEqualTo(b));

   }

  }

程序的输出结果为:

____false_____

  2、classA{

  doublef(doublex,doubley){

  returnx*y;

  }

  }

  classBextendsA{

  doublef(doublex,doubley){

  returnx+y;

  }

  }

  publicclassTest{

  publicstaticvoidmain(Stringargs[]){

  Bobj=newB();

  System.out.println("Theprogramoutputis"+obj.f(4,6));

  }

  }

程序的输出结果为:

__Theprogramoutputis10_

3、publicclassUnchecked{

publicstaticvoidmain(String[]args){

try{

method();

}catch(Exceptione){

System.out.println("A");

}finally{

System.out.println("B");

}

}

staticvoidmethod(){

try{

wrench();

System.out.println("C");

}catch(ArithmeticExceptione){

System.out.println("D");

}finally{

System.out.println("E");

}

System.out.println("F");

}

staticvoidwrench(){

thrownewNullPointerException();

}

}

程序的输出结果为:

E

A

B

4、publicclassTest{

publicstaticvoidmain(String[]args){

intx;

inta[]={0,0,0,0,0,0};

calculate(a,a[5]);

System.out.println("thevalueofa[0]is"+a[0]);

System.out.println("thevalueisa[5]is"+a[5]);

}

staticintcalculate(intx[],inty){

for(inti=1;i

if(y

x[i]=x[i-1]+1;

returnx[0];

}

}

程序的输出结果为:

thevalueofa[0]is0

thevalueisa[5]is5

设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是(B)。

A)i=i+2B)a[0]=7;

C)i++---j;D)a(0)=66;

 

模拟题:

选择题

编译下面源程序会得到()文件?

classA{}

classB{}

publicclassC{publicstaticvoidmain(stringargs[]){}}

(A)只有B.class文件

(B)只有A.class和B.class文件。

(C)有A.class、B.class和C.class文件

(D)编译不成功。

Java语言的类间的继承关系是(B)。

A)多重的B)单重的C)线程的D)不能继承

一个类中定义了如下两个方法,选项()说法正确。

voidout(){System.out.println();}

voidout(intx){System.out.println(x);}

(A)这种定义是正确的,是方法的重载。

(B)这种定义是正确的,是方法的重写。

(C)此种定义是错误的,一个类中不能定义两个名字相同的方法。

D)此种定义是错误的,第二个方法应该和第一个方法的参数相同。

下面程序段在运行时输出()。

classMyException{

publicstaticvoidmain(String[]args){

try{intx=1/0;

}catch(Exceptione){

System.out.print("有刺客!

");

}finally{System.out.println("别闹了,洗洗睡吧");}

}}

(A)无内容输出。

(B)有刺客!

(C)别闹了,洗洗睡吧。

(D)有刺客!

别闹了,洗洗睡吧。

若已定义byte[]x={11,22,33,-66};

其中0≤k≤3,则对x数组元素错误的引用是(C)。

A)x[5-3]B)x[k]C)x[k+5]D)x[0]

设有定义floatx=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是(B)。

A)x>y||x>zB)x!

=y

C)z>(y+x)D)x

(x

填空题

构造函数_没__有返回值。

.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和___double_______两种具体类型。

请完善下面Java应用程序,是一个类的定义:

publicclass_intMyclass___________

{

intx,y;

Myclass(inti,intj)//构造函数

{

x=i;

y=j;

}

}

请完善下面Java应用程序,使其运行时输出:

classmyThreadimplementsRunnable{

{int[]a={1,2,3};

m(a);}}

publicstaticvoidm(int[]x){

for(inti=0;i

System.out.println("a["+i+"]="+x[i]);

}}

publicclassTest

{

publicstaticvoidmain(String[]args){

Threadt=newThread(______);

t.______;

}}

}

publicvoidrun()、newmyThread()、start()

.以下方法m的功能是求两参数之积的整数部分。

intm(floatx,floaty)

{__int_____k=(int)x*y___________;}

 

编程题

1.编写一个圆形类Circle,包含:

(1)一个public属性:

圆形的半径rad。

(2)两个构造方法:

一个带有一个参数、一个不带参数的构造方法,其中不带参数的构造方法将圆形初始化为半径为10.0。

(3)两个方法:

求圆形面积的方法mianji()和求圆形周长的方法zhouchang()。

(4)获取圆形半径的方法getRad();

classCircle{

publicdoublerad;

publicCircle(){rad=10.0;}

publicCircle(doubler){

rad=r;

}

publicdoublemianji(){

return3.14159*rad*rad;

}

publicdoublezhouchang(){

return2*3.14159*r;

}

publicdoublegetRad(){

returnrad;

}

}

用接口interfaceSingger{abstractpublicvoidsing();}来模拟民歌(Folk),流行(Pop),摇滚(Rock)的歌声。

在main中,使用Singger数组来引用Folk,Pop,Rock对象,用多态来实现。

interfaceSingger//CHAPTER6

{

publicvoidsing();

}

classFolkimplementsSingger

{

publicvoidsing()

{

System.out.println("美丽的草原啊我到家….");

}

}

classPopimplementsSingger

{

publicvoidsing()

{

System.out.println("听妈妈的话….");

}

}

classRockimplementsSingger

{

publicvoidsing()

{

System.out.println("想带上你私奔……");

}

}

publicclassMusicion

{

publicstaticvoidmain(String[]agrs)

{

SinggermySinggers[]=newSingger[4];

mySinggers[0]=newRock();

mySinggers[1]=newPop();

mySinggers[2]=newRock();

mySinggers[3]=newFolk();

for(intindex=0;index<4;index++)

mySinggers[index].sing();

}

}

3.编写一个Java应用程序,在屏幕上输出”你好,JAVA!

”。

并写出应保存的文件名和编译、执行的语句。

publicclassHelloJava{

publicstaticvoidmain(Stringargs[]){

System.out.println("你好,JAVA!

");

}

}}

4.编写两个类Person和Student,要求Student类继承Person类;其中

(1).Person类有privateStringname属性、privateintage属性两个属性;

(2).Person类有setName(Stringname)、setAge(intage)、getName()、getAge()四个方法分别用来设置和获取名字、年龄

(3).Student类还要具有privateStringschool属性和setSchool()和getSchool()方法用来设置和获取Student对象的school属性;

(4).编写测试类Test,在主函数main中创建一个学生对象,分别设置和获取该学生对象的name,age,school属性。

classPerson{

privateStringname;

privateintage;

publicvoidsetName(Stringname){

this.name=name;

}

publicvoidsetAge(intage){

this.age=age;

}

publicStringgetName(){

returnname;

}

publicintgetAge(){

returnage;

}

}

classStudentextendsPerson{

privateStringschool;

publicStringgetSchool(){

returnschool;

}

publicvoidsetSchool(Stringschool){

this.school=school;

}

}

publicclassTest{

publicstaticvoidmain(Stringarg[]){

Studentstudent=newStudent();

student.setName("John");

student.setAge(18);

student.setSchool("SCH");

System.out.println(student.getName());

System.out.println(student.getAge());

System.out.println(student.getSchool());

}

}

,5.编写一个线程的创建和实现实例:

在公共类TestThread中的主线程main中创建(两种方法均可)并启动一个线程,要求两个线程都循环输出0-99这100个数字,并在运行中能区分所输出的数字是有那个线程的执行结果。

publicclassTestThread{

publicstaticvoidmain(Stringargs[]){

Runner1r=newRunner1();

r.start();

for(inti=0;i<100;i++){

System.out.println("MainThread:

------"+i);

}

}

}

//classRunner1implementsRunnable{

classRunner1extendsThread{

publicvoidrun(){

for(inti=0;i<100;i++){

System.out.println("Runner1:

"+i);

}

}

}

2.用接口interfaceSingger{abstractpublicvoidsing();

}来模拟Folk,Pop,Rock的叫声。

在main中,使用Singger数组来引用Folk,Pop,Rock对象,用多态来实现。

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

当前位置:首页 > 总结汇报 > 学习总结

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

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