高级语言程序设计2018春期末复习题_第1页
高级语言程序设计2018春期末复习题_第2页
高级语言程序设计2018春期末复习题_第3页
高级语言程序设计2018春期末复习题_第4页
高级语言程序设计2018春期末复习题_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、北京邮电大学网络教育学院高级程序语言(基于Java)综合练习题目录综合练习题3一简答题3二填空3三单项选择题4四读下列程序,然后按照程序下面的要求答题。7五编程题9参考答案11一简答题11二填空13三单项选择题13四读下列程序,然后按照程序下面的要求答题。14五编程题14 综合练习题一简答题。1 程序执行方式有两种,试比较解释方式和编译方式的优缺点2 简述Java的特点3 Java有哪些基本数据类型,它们的关键字和字长以及变量的默认值是什么?4 面向对象程序设计与面向过程程序设计有哪些不同?5 什么是访问控制修饰符?访问控制修饰符的种类有哪些?它们各有什么作用?6 类变量和实例变量有哪些不同?

2、7 类方法和实例方法有哪些不同?8 重载和覆盖有什么区别?9 什么是接口?接口与类以及抽象类之间有什么区别和联系?二填空。1 Java程序分为两种,一种是_,另一种是_。2 开发一个Java程序有三个步骤,依次是_、_和_。3 设a, b 都是整型变量,a=12,b=8,则表达式a!=b的值为_,表达式(a<10&&a>10?a:b)的值为_。4 面向对象编程的三个基本特征是_、_和_。5 this引用实际代表的是_;super引用代表的是_。6 抽象方法只能有方法的_,不能有_。7 创建对象的时候,new操作符为对象分配内存后,将调用类的_,确定对象的初始状态。8

3、 设有如下语句,String s1="hello"s1=s1+" world!"则s1的值是_。9 int类型的数据占用存储空间是_位10 Java表示逻辑值的基本数据类型,称为_11 自动类型转换的原则是把级别_的变量转换为级别_的变量12 假若 int x=10; float y; y=x;这时y的值为_13 数组是一组相同类型变量的集合,其下标是从_ 开始算的14 一个类是类声明和_两部分组成。15 创建一个名为 MyPackage 的包的语句是_16 Java 程序可以分为 Application 和 Applet 两大类,能在 WWW 浏览器上

4、运行的是 _ 。 17 在Java中有5种算术运算符,分别为加、减、乘、除以及_18 do-while语句与while语句的区别在于先执行循环体中的语句再计算条件表达式, 所以do-while语句的循环体至少被执行_ 次。19 Java程序用 将多条语句组合在一起,语句之间必须用_隔开。20 要编译一个文件名为Test的Java源程序,需在命令控制台窗口输入编译命令_21 通常类名可由字母、数字、下划线以及美元符号组成,但类名的第一个字符不能是_22 Java定义了8个基本数据类型:字节型、短整型、整型、长整型、字符型、布尔型、单精度浮点型和_23 在Java中,两个连续等号(=)是比较运算符

5、,那么一个等号是_运算符三单项选择题。1 下面不是Java关键字的是( )(A)class(B)interface(C)new(D)subclasses2Java语言用于定义接口的关键字是( )(A)class(B)interface(C)try(D)catch3下面哪个是合法的布尔类型声明( )(A) boolean b1=0;(B) boolean b2=false;(C) boolean b3=false;(D) boolean b4=no;4关于主类的叙述正确的是( )(A)源程序文件中定义的第一个类是主类(B)源程序文件中定义的最后一个类是主类(C)一个源程序文件中至多有一个类是主类

6、(D)以上说法都不对5下面选项中,均是不合法的用户标示法的选项是( )(A)AP_0do(B)floatla0_A(C)b-atryint(D)_123tempINT6设有以下程序段if(x>0) System .out .println(“first”);else if(x<10) System .out .println(“second”);else System .out .println(“third”) 当程序输出“second”时,x的范围为( )(A)x < = 0(B)x < 10 并且 x > 0(C)x > 0(D)x >= 107

7、以下运算符中优先级最低的是( )(A)? :(B)= =(C)|(D)!8下面可以调用void set(int x,int y)方法选项是( )(A)set(“hello”)(B)set(50,“hello”)(C)set(10,25)(D)set(3,10,2)9设有以下程序,在不合法的调用语句是( )class A void show1() System.out.println("a");class B extends A void show2() System.out.println("b");public class Cmy public sta

8、tic void main( String args ) A obj1=new A();B obj2=new B();(A)obj1.show1();(B)obj2.show1();(C)obj1.show2();(D)obj2.show2();10没有访问控制修饰符的成员变量被自动视为( )(A)public变量(B)private变量(C)protected变量(D)package变量11. 下列选项中哪个是将一个十六进制值赋值给一个long型变量的正确方法( )(A) long number = 345L; (B) long number = 0345;(C) long number =

9、 0345L; (D) long number = 0x345L;12. 下面初始化数组的语句中,不正确的是:( )(A) int x = 8,5,6,4; (B) int x4 = 8,5,6,4;(C) int x = 8,5,6,4; (D) int x = new int8,5,6,4;13. 下面的代码段中,执行之后i 和j 的值是什么? ( )int i =3; int j; j = i-; (A) 3, 3 (B) 2, 3(C) 3, 2(D) 2, 214. 下列关于构造方法的叙述中,错误的是( )(A) Java语言规定构造方法名与类名必须相同(B) Java语言规定构造方

10、法没有返回值,但不用void声明(C) Java语言规定构造方法不可以重载(D) Java语言规定构造方法只能通过new自动调用15. 下列关于修饰符混用的说法,错误的是( )(A)abstract不能与final并列修饰同一个类 (B)abstract类中不可以有private的成员 (C)abstract方法必须在abstract类中 (D)static方法中能处理非static的属性16. 运行下面程序段的结果是:( )public class MyMain public static void main(String args) String a = “ !”; System.out.

11、println(“Hello Java”+a);(A)输出Hello Java +a(B)输出Hello Java !(C)运行时出错(D)以上答案都不对17. 下面哪个表达式正确?( )(A)float f=1.3;(B)char c="a"(C)byte b=257;(D)int i=10;18. 下面哪个是不合法的标识符?( )(A)$persons(B)TwoUsers(C)*point(D)_endline19. 下面初始化数组的语句中,不正确的是:( )(A)int x = 1,2,3;(B)int x3 = 1,2,3;(C)int x = 1,2,3;(D)

12、int x = new int1,2,3;20. 下面哪个单词是Java语言的关键字( )(A)Float(B)this(C)string(D)unsigned21. 下面关于继承的哪些叙述是正确的? ( )(A)在java中允许多继承。 (B)在java中一个类只能实现一个接口。 (C)在java中一个类不能同时继承一个类和实现一个接口。 (D)java的单一继承使代码更可靠。22. 下面关于变量及其作用范围的陈述哪个是不对的?( )(A)实例变量是类的成员变量。(B)实例变量用关键字static声明。(C)在方法中定义的局部变量在该方法被执行时创建。(D)局部变量在使用前必须被初始化。23

13、. 以下代码段执行后的输出结果为( )。int x=-3;float y=10.0f;System.out.println(y%x);(A)不能成功编译(B)-1.0(C)1.0(D)-124. 下面哪个是不合法的标识符? ( )(A)$persons;(B)TwoUsers;(C)*point;(D)_endline;25. 下述概念中不属于面向对象方法的是( )。(A)对象、消息(B)继承、多态 (C)类、封装(D)过程调用四读下列程序,然后按照程序下面的要求答题。1public class ex3 public static void main (String args) int n,n

14、um,sum=0; n= 5; for(num=1;num<=n;num+=2) sum+=num; System.out.println("sum="+sum); 程序的运行结果是:2class CCircle double pi=3.14; double radius; void show_area() System.out.println("area="+pi*radius*radius); void show_all() System.out.println("radius="+radius); show_area();

15、 public class ex4 public static void main(String args) CCircle cir1=new CCircle(); cir1.radius=2.0; cir1.show_all(); 程序的运行结果是:3interface A int X=1; void showX(); interface B int Y=2;void showY();class InterfaceTest implements A,B int z=3;public void showX() System.out.println("X="+X);publi

16、c void showY() System.out.println("Y="+Y);public void showMe() System.out.println("z="+(z+X+Y);public class ex8 public static void main( String args ) InterfaceTest myObject=new InterfaceTest();myObject.showX();myObject.showY();myObject.showMe();程序的运行结果是:五编程题1. 编写一段小程序,打印出99乘法口诀。

17、2. 编写一各Java程序,查找1100之间的素数并将运行结果输出。3. 设有以下关于点point类的定义,请在此基础上创建一个正方形类square,用以描述正方形作上角的位置、边长,能够计算出正方形的面积。class CPoint int x,y;public void setXY(int x1,int y1)x=x1;y=y1;int getX() return x;int getY() return y;参考答案一 简答题。1.优点缺点解释方式可以快速进行测试:使用解释型语言编写程序时,可以立即进行测试,找出错误并修正,然后再试;运行速度比其他程序慢;编译方式它尽可能地对程序进行优化,使

18、其高效运行。编译后的程序不需要解释器就可直接运行,且运行速度比解释型程序快;但测试起来需要更多的时间。在测试前,需要编写并编泽程序。发现错误并修改后,必须重新编译,以确定错误是否已消除;2.Java的特点有:简单性;面向对象;跨平台性;健壮性;安全性;可移植性;多线程性;动态性。3数据类型类型名位长默认值取之范围布尔型boolean1falsetrue,false字节型byte80-128127字符型char16'u0000''u0000''uffff'短整型short160-3276832767整型int320-2,147,483,6482,1

19、47,483,647长整型long640-9,223,372,036,854,775,8089,223,372,036,854,775,807符点型folat320.01.4E-453.402 823 5E+38双精度double640.04.9E-3241.797 693 134 862 315 7E+3084从思维方式角度看,面向过程编程注重用功能构造系统,思维方式更贴近于计算机逻辑。而面向对象编程则注重从现实世界中的客观存在建立系统,强调直接以问题域中的事物为中心思考问题和认识问题,并根据这些事物的本质特征和系统责任,把它们抽象为系统中的对象,用对象作为系统的基本构成单位。从程序构造角度

20、看,在过程性语言编写的程序中,待处理的数据和处理数据的方法分散在程序的各个地方。而面向对象语言编写的程序中,待处理的数据和处理数据的方法都放在同一实体(entity)(程序模块)中,形成“封装”。通过封装,可以最大限度的实现代码重用,减小数据的依赖性,从而解决面向过程语言中存在的问题。5.修饰符是用于限定类对象使用的权限,从而实现类中成员的信息隐藏。访问修饰符适用于类成员,而不是方法内部的局部变量。Java常见的访问修饰符有这4种:private、default、protected和public。l public 可以被所有的类访问l pravite 只能被类本身访问,其他类无法访问l pro

21、tected 可以被类本身、它的子类(包括同一个包中以及不同包中的子类)l default 属于默认的访问状态,可以被类本身和同一个包中的类访问6在定义成员变量时,如果用static修饰符修饰,则该变量是类变量(也称“静态变量”),否则是实例变量。类变量的本质特点是:它是类的变量,不属于类的任何一个具体对象。它保存在类的内存区域的公共存储单元。类的任何一个对象对类变量的存取都是对同一个内存单元进行操作。与类变量相对,实例变量属于类的某个具体的对象。它在类的每个对象的内存区域中都保存一份。类的任何一个对象对实例变量的存取都是对自己内存区域内保存的实例变量的副本进行操作。7类方法不针对特定的对象,

22、所以在没有创建对象之前可以执行。但是在类方法中只能访问类变量和类方法,而不能访问实例变量和实例方法。实例方法则只能针对特定的对象执行,因此,如果任何对象都不存在,则也就没有可以执行的实例方法。另外,尽管实例方法专用于类中的对象,但在内存中也只有一份实例方法,供类中的所有对象共享。因为为每个对象都复制一份实例方法的代价太大了。系统中有一种专门机制来保证:每当通过对象调用一个实例方法时,代码都按照专用于某个对象的方式运行。8“覆盖”与“重载”均是Java“多态”(ploymorphism)的技巧之一。它们又不同之处:重载:英文名称是overloading,它是在相同类内,定义名称相同,但参数个数或

23、类型不同的方法。编译器会根据实参的个数和类型,确定调用哪个方法。覆盖:英文名称是overriding,它是在子类当中,定义名称、参数个数与类型均与父类相同的方法,用以改写父类方法的功能。9接口是一种完全没有实现的类,在接口中只包含了抽象方法和常量的定义。与类不同的是,接口的定义使用interface关键字,而类定义使用class关键字。从本质上讲,接口是一种特殊的类,这种类中只包含常量和方法的定义,没有变量和方法的实现。用修饰符abstract修饰的类称为抽象类。抽象类专门用于继承,不能实例化。抽象类中一般都含有抽象方法,同时也可以含有一般的变量和方法。这与接口不同。二填空。1 小应用程序应用

24、程序2 编辑编译运行3 true 84 封装性继承性多态性5 当前类或对象本身 父类6 声明部分实现部分7 构造方法8 hello world!9 3210 布尔型11 低 高12 10.013 014 类描述15 package MyPackage;16 Applet17 求模18 119 ;20 javac Test.java21 数字22 双精度浮点型23 赋值三单项选择题。1.D2.B3.C4.D5.C6.A7.A8.C9.C10.D11.D 12.D 13.B 14.C 15.D16.B 17.D 18.C 19.B 20.B21. D 22.B 23.C 24.C 25.D 四读下

25、列程序,然后按照程序下面的要求答题。1程序的运行结果是:sum=92程序的运行结果是:radius=2.0area=12.563程序的运行结果是:x=1y=2z=6五编程题1public class Step01       public static void main(String args)            for(int i=1 ; i<10 ;i+)      &#

26、160;          for(int j=1 ;j<i+1 ;j+)                      System.out.print(i+"*"+j+"="+i*j+"t");                                  System.out.println();     

温馨提示

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

评论

0/150

提交评论