收藏 分享(赏)

【达内培训】计算机等级考试二级Java练习题及解析(6).doc

上传人:kpmy5893 文档编号:8002534 上传时间:2019-06-03 格式:DOC 页数:5 大小:57KB
下载 相关 举报
【达内培训】计算机等级考试二级Java练习题及解析(6).doc_第1页
第1页 / 共5页
【达内培训】计算机等级考试二级Java练习题及解析(6).doc_第2页
第2页 / 共5页
【达内培训】计算机等级考试二级Java练习题及解析(6).doc_第3页
第3页 / 共5页
【达内培训】计算机等级考试二级Java练习题及解析(6).doc_第4页
第4页 / 共5页
【达内培训】计算机等级考试二级Java练习题及解析(6).doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、【达内培训】计算机等级考试二级 Java 练习题及解析(6)1 在进行顺序查找过程中,如果线性表中被查的元素是线性表中的最后一个,或者被查元素根本不在线性表中,则为了查找这个元素需要与线性表中所有元素进行比较,这是顺序查找最坏的情况。 信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。 2 模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。 衡量软件的模块独立性的度量标准是耦合性和内聚性。一个模块的内聚性越强,则该模块的模块独立性越强。而内聚性是信息隐蔽和局部化概念的自然扩展。 面向对象的设计方法与传统的的面向

2、过程的方法有本质不同,它的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。它强调模拟现实世界中的概念而不强调算法,它鼓励开发者在软件开发的绝大部分中都用应用领域的概念去思考。 总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。 3 数据库概念设计的过程中,视图设计一般有三种设计次序,它们是: 1、自顶向下。这种方法是先从抽象级别高且普遍性强的对象开始逐步细

3、化、具体化与特殊化。2、由底向上。这种设计方法是先从具体的对象开始,逐步抽象,普遍化与一般化,最后形成一个完整的视图设计。 3、由内向外。这种设计方法是先从最基本与最明显的对象着手逐步扩充至非基本、不明显的其它对象。 4 在方法中定义的局部变量在方法退出时被自动撤消,只有静态变量不会被撤消。如果未对变量指定修释符,在 JAVA 中将自动将其设置为局部变量,局部变量也叫自动变量,对于方法外面的变量,将在对象被创建时一起被创建,其初值可通过构造函数对其进行初始化。如果方法中是一个简单类型的形参,由于其是按值传递,在编译时会占用存储空间,直到该对象释放时为止。如果形参为一个类类型,其参数是按地址传递

4、,编译时不会为其分配空间,因此该参变量不会存在于方法中。 5 类加载器(class loader)加载程序运行所需要的所有类,它通过区分本机文件系统的类和网络系统导入的类增加安全性,这可以限制任何的特洛伊木马程序,因为本机类总是先被加载,一旦所有的类被加载完,执行文件的内存划分就固定了,在这个时候特定的内存地址被分配给对应的符号引用,查找表(lookup table)也被建立,由于内存划分发生在运行时,解释器在受限制的代码区增加保护防止未授权的访问;然后字节码校验器(byte code verifier)进行校验,主要执行下面的检查:类符合 JVM 规范的类文件格式,没有违反访问限制,代码没有

5、造成堆栈的上溢或者下溢,所有操作代码的参数类型都是正确的,没有非法的数据类型转换(例如将整型数转换成对象类型)发生;校验通过的字节码被解释器(interpreter)执行,解释器在必要时通过运行时系统执行对底层硬件的合适调用。 7 public class Parent public int addValue( int a, int b) int s; s = a+b; return s; class Child extends Parent 选项中_B_方法可以正确加入类 Child 中且父类的方法不会被覆盖。 A、int addValue( int a, int b )/ do somet

6、hing. B、public void addValue ()/ do something. C、public int addValue( int a, int b )throws MyException /do something. D、public float addValue ( int a ,int b, float b=1.0 )/ do something. 解析:此题涉及方法重载(overload),方法重写(override)以及类派生时方法重写的规则。方法重载的规则是: 一、参数列表必须不同,个数的不同完全可以,如果个数相同,则参数类型的不同不会引起歧意,例如 int 和 l

7、ong,float 和 double 就不能作为唯一的类型不同; 二、返回值可以不同,但是不能是重载时唯一的不同点(这点和 c+中不同,c+中返回类型必须一致)。 方法重写发生在类继承时,子类可以重写一个父类中已有的方法,必须在返回类型和参数列表一样时才能说是重写,否则就是重载,java 中方法重写的一个重要而且容易被忽略的规则是重写的方法的访问权限不能比被重写的方法的访问权限低! 重写的另一个规则是重写的方法不能比被重写的方法抛弃(throws)更多种类的异常,其抛弃的异常只能少,或者是其子类,不能以抛弃异常的个数来判断种类,而应该是异常类层次结果上的种类。 来源:此题中选取项 A 的错误就

8、是重写的访问权限比被重写的方法的低,而 B 属于重载,选项 C 的错误在于比被重写的方法抛弃了更多种类的异常。选项 D 中,当只传递两个变量的值的时候,那系统就不知道倒底调用哪个方法了,因为 b 为常量,可以不指定,所以只有选项 B 是符合题意的。 8 假设有以下代码 String s= “hello“; String t = “hello“; char c = h,e,l,l,o ; 下列选项中返回 false 的语句是 B 。 A、s.equals(t); B、t.equals(c); C、s=t; D、t.equals(new String(“hello“); 解析:=操作符比较的是操作

9、符两端的操作数是否是同一个对象,而 String 的 equals()方法比较的是两个 String 对象的内容是否一样,其参数是一个 String 对象时才有可能返回true,其它对象都返回假。需要指出的是由于 s 和 t 并非使用 new 创建的,他们指向内存池中的同一个字符串常量,因此其地址实际上是相同的(这个可以从反编译一个简单的测试程序的结果得到,限于篇幅不列出测试代码和反编译的分析),因此答案 C 也是正确的。 9 欲构造 ArrayList 类的一个实例,此类实现了 List 接口,下列_B_方法是正确的。A、ArrayList myList=new Object( ); B、L

10、ist myList=new ArrayList( ); C、ArrayList myList=new List( ); D、List myList=new List( ); 解析:不能直接建立接口的实例,只能通过实现接口的相应的类来实现接口。 10 下列程序运行的结果是_B_。 public class Example String str=new String(“good“); charch=a,b,c; public static void main(String args) Example ex=new Example(); ex.change(ex.str,ex.ch); Syste

11、m.out.print(ex.str+“ and “); System.out.print(ex.ch); public void change(String str,char ch) A、good and abc B、good and gbc C、test ok and abc D、test ok and gbc 11 Java 语言中,原始数据类型变量是按值传递的,引用类型变量是按地址传递的。 12 要从文件“file.dat“文件中读出第 10 个字节到变量 C 中,下列_A_方法适合。 A、FileInputStream in=new FileInputStream(“file.dat

12、“); in.skip(9); int c=in.read(); B、FileInputStream in=new FileInputStream(“file.dat“); in.skip(10); int c=in.read();C、FileInputStream in=new FileInputStream(“file.dat“); int c=in.read(); D、RandomAccessFile in=new RandomAccessFile(“file.dat“); in.skip(9); int c=in.readByte(); 解析:Java 提供 FileInputStre

13、am 是将文件作为流的方式读取,它是按照文件的顺序从 0 位置开始进行读取,RandomAccessFile 是随机读取数据,读取的位置不一定是从 0 开始,可以使用 skip(n)方法来跳过 n 个字符,通过 readByte()读取一个字符,通过 read()可以读取输入流中的一个字符。 13 下列代码_C_会出错。 1) public void modify() 2) int i,j,k; 3) i=100; 4) while (i0) 5) j=i*2; 6) System.out.println (“ The value of j is “ +j ); 7) k=k+1; 来源: 8

14、) i-; A、line 4 B、line 6 C、line 7 D、line 8 解析:由于 Java 中声明变量并没有分配内存空间,必须通过初始化才能使用变量。 14 下面关于 Applet 的说法正确的是_B_。 A、Applet 也需要 main 方法 B、Applet 继承自 java.awt.Applet 或javax.swing.JApplet C、Applet 能访问本地文件 D、Applet 程序不需要编译 解析:Java Applet 的字节码文件必须嵌入 HTML 的文件中并由负责解释 HTML 文件的 WWW 浏览器充当解释器来解释运行。因此 Applet 不需要 ma

15、in 方法,但必须继承 java.awt.Applet 类或javax.swing.JApplet,因为这两个类实现了 Applet 程序于浏览器的通讯。 15 为了系统的安全,一般情况下 Applet 程序不能访问本地文件,只有通过授权后才能读写。16 下列关于 for 循环和 while 循环的说法中_A_是正确的。 A、while 循环能实现的操作,for 循环也都能实现 B、while 循环判断条件一般是程序结果,for 循环判断条件一般是非程序结果 C、两种循环任何时候都可替换 D、两种循环结构中循环体都不可以为空 解析: for 循环的一般形式为: for(; ; ) 语句; 初始

16、化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用“;“分开。 例如: for(i=1; i10 时,结束循环。 注意: 1、for 循环中语句可以为语句体,但要用“和“将参加循环的语句括起来。 2、for 循环中的“初始化“、“条件表达式“和“增量“都是选择项,即可以缺省,但“;“不能缺省。省略了初始化,表示不对循环控制变量赋初值。省略了条件表达式,则不做其它处理时便成为死循环。省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。与 for 循环一

17、样,while 循环总是在循环的头部检验条件,这就意味着循环可能什么也不执行就退出。17 下列关于 Java Application 与 Java Applet 程序的差别描述正确的是 D 。 A、运行方式不同,程序结构相同,运行工具不同,受到的限制相同 B、运行方式相同,程序结构不同,运行工具不同,受到的限制相同 C、运行方式相同,程序结构相同,运行工具不同,受到的限制也不同 D、运行方式不同,程序结构不同,运行工具不同,受到的限制也不同 解析: Application 和 Java Applet 的区别。 Java 语言是一种半编译半解释的语言。Java 的用户程序分为两类:Java Ap

18、plication 和 Java Applet。这两类程序在组成结构和执行机制上都有一定的差异,主要体现在以下几方面: (1)运行方式不同。Java Application 是完整的程序,可以独立运行;Java Applet 程序不能单独运行,它必须嵌入到用 HTML 语言编写的 Web 页面中,通过与 Java 兼容的浏览器来控制执行。 来源:(2)运行工具不同。Java Application 程序被编译以后,用普通的 Java 解释器就可以使其边解释边执行,而 Java Applet 必须通过网络浏览器或者 Applet 观察器才能执行。 (3)程序结构不同。每个 Java Applic

19、ation 程序必定含有一个并且只有一个 main 方法,程序执行时,首先寻找 main 方法,并以此为入口点开始运行。含有 main 方法的那个类,常被称为主类,也就是说,Java Application 程序都含有一个主类。而 Applet 程序则没有含 main方法的主类,这也正是 Applet 程序不能独立运行的原因。尽管 Applet 没有含 main 方法的主类,但 Applet 一定有一个从 java.applet.Applet 派生的类,它是由 Java 系统提供的。 (4)受到的限制不同。Java Application 程序可以设计成能进行各种操作的程序,包括读写文件的操作

20、,但是 Java Applet 对站点的磁盘文件既不能进行读操作,也不能进行写 操作。然而,由于 Applet 的引入,使 Web 页面具有动态多媒体效果和可交互性能,这使由名为超文本、实为纯文本的 HTML 语言编写成的 Web 页面真正具有了超文本功能,不但可以显示文本信息,而且还可以有各种图片效果和动态图形效果,从而使页面显得生动美丽;另外,Applet使 Web 页面增加了按钮等功能,从而增加了交互性。 故本题答案为 D。 18 在 java.applet、java.awt、java.awt.image 包中,包含了许多图象支持的类和方法。在程序中图像由一个 java.Image 类的

21、对象来表示。目前 Java 所支持的图像格式有:GIF、JPEG、和 PNG3 种。其中 PNG 格式是 JDK1.3 以上版本支持的一种光栅图像格式,它的显示方法与其他两格式相同。 19 假设有 String a=“A“;char b=A;int c=65,下面选项中_B_是正确的。 A、if(a=b) System.out.print(“Equal“) B、if(c=b) System.out.print(“Equal“) C、if(a=c) System.out.print(“Equal“) D、if(c=b) System.out.print(“Equal“) 解析: 由于 Java

22、是强类型语言,String 不能和 char,int 类型变量直接进行对比。但如果 char 和int 两类型在同一个表达式中运算,系统是可以进行自动类型转换的,因此这两个类型的变量可以比较。 软件工程的基本原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。 信息隐蔽是指采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 典型的数据流类型有两种:变换型和事务型。 变换型:是指信息沿输入通路进入系统,同时由外部形式变换为内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。 事务型:在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流就叫做事务。 java.awt 包是 Java 语言用来构建图形用户界面(GUI)的类库,它包括了许多界面元素和资源,主要在低级绘图操作、图形界面组件和布局管理、以及界面用户交互控制和事件响应三个方面支持界面设计。

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报