版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品文档(2011年计算机等级考试二级java精选练习题习题(1)1 在结构化方法中,用数据流程图(dfd)作为描述工具的软件开发阶段是(b)。a、可行性分析 b、需求分析 c、详细设计 d、程序编码2 下面叙述正确的是_c。a、算法的执行效率与数据的存储结构无关 b、算法的空间复杂度是指算法程序中指令(或语句)的条数c、算法的有穷性是指算法必须能在执行有限个步骤之后终止 d、以上三种描述都不对3 在一棵二叉树上第5层的结点数最多是_b_。a、8 b、16 c、32 d、154 下面描述中,符合结构化程序设计风格的是_a_。a、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 b
2、、模块只有一个入口,可以有多个出口c、注重提高程序的执行效率 d、不使用goto语句5 下列模式中,能够给出数据库物理存储结构与物理存取方法的是_a_。a、内模式 b、外模式 c、概念模式 d、逻辑模式6 在下面附属类方法中的下划线处,应填入的正确参数是 c 。public void writedata( throws ioexceptiongregorancalendar calendar=new gregoriancalendar()calendar.settime(hireday);out.println(name+|+salary+|+calendar.get(calendar.yea
3、r)+|+(calendar.get(calendar.month)+1)+|a、employee e b、employee.dat c、printwriter out d、bufferedwriter7 在匹配器(matcher)类中,用于输入字符串与模式串比较的方法是 a 。a、static boolean matches() b、boolean matcher.find() c、int matcher.start() d、int matcher.end()8 下列内部类的正确用途是 b 。btnn.addactionlistener(new actionlistener() /注册监听器
4、public void actionperformed(actionevent event)string s=input.gettext();output.settext(hello+s+,welcome you!;)a、用于访问外部类的数据 b、用于进行事件处理 c、隐藏起来不被同一包中的其他类所见 d、生成事件适配器9 下面程序段:boolean a=false;boolean b=true;boolean c=(a&b)&(!b);boolean result =(a&b)&(!b);执行完后,正确的结果是 a 。a、c=false;result=false b、c=true;resul
5、t=true c、c=true;result=false d、c=false;result=true10 下列属于正则表达式的是_d_。a、一个数组 b、一组二进制数据 c、一个字符串 d、一个公式11 下列关于applet的叙述中,错误的是 a 。a、applet是java类,所以可以由jdk中的解释器java.exe直接解释运行b、applet应该定义为java.applet.applet类或javax.swing.japplet类的子类c、applet与application的主要区别在执行方式上d、通过在html文件中采用标记可以向applet传递参数12 java中对applet设置
6、了严格的安全限制。下列关于applet在java2中安全限制叙述正确的是 c 。a、根本无法解除 b、只有部分限制可以解除,而其它限制无法解除 c、可以在安全策略的控制下解除 d、已经缺省地全部解除13 下列数组a中,版本较新的能在程序运行时动态调整大小的是 c 。a、int a b、string a c、a=new arraylist() d、a=new array()14 调用线程的下列方法,不会改变该线程的生命周期中状态的方法是 d 。a、yield() b、wait() c、sleep() d、isalive()15 下列叙述中,错误的是 d 。a、接口与类的层次无关 b、通过接口说明
7、类所实现的方法 c、通过接口可了解对象的交互界面 d、接口与存储空间有关16 与applet生命周期相关的方法的数量是 a 。a、4种 b、3种 c、2种 d、5种17 下列情况中,不会使线程返回所持有的对象锁的是 b 。a、当synchronized()语句块执行完毕 b、当调用了线程的suspend()方法c、当在synchronized()语句块中出现异常(exception) d、当持有锁的线程调用该对象的wait()方法二 填空题1 关系数据库管理系统能实现的专门关系运算包括选择、连接和投影2 数据的逻辑结构在计算机存储空间中的存放形式称为数据的模式 或 逻辑模式 或 概念模式如果有
8、一个类myframe是frame的子类,能够被不同包中的类所使用,请写出该类的声明头:public class myframe extends frame3 接口可以看作是仅容纳抽象方法 或 抽象的方法、常量,而又不能直接生成对象的特殊抽象类。4 java简单性首先表现在自身系统的精练,它的基本解释程序和类库的支持 或 类库支持占内存40kb,附加的基本标准类库和支持线程程序占175kb。5 包含swing构件的applet(小应用程序)应该是javax.swing.japplet 或 japplet类的直接子类。6 java对象串行化技术,主要是通过objectinputstream类和ob
9、jectoutputstream类来实现。练习题(2)1 数据库的设计包括两个方面的设计内容,他们是:概念设计和逻辑设计2 操作是对象的动态属性,对象间的通讯靠消息传递,对象是属性和方法的封装体。3 一种数据的逻辑结构可以有多种存储结构,数据的存储结构与数据处理的效率密切相关,数据的存储结构在计算机种所占的空间不一定是连续的。4 线性连表中的各元素在存储空间中的位置不一定是连续的,切各元素的存储顺序也是任意的。5 检查软件产品是否符合需求定义的过程称为:确认测试6 二叉连表为非线性结构,线性结构的数据结构有:线性连表、带链的栈、带链的队列。7 软件设计原则:抽象化、模块化、信息隐蔽,不包括:自
10、底向上。8 该程序段执行后显示的结果是:2 int m=8; if(b(5) m%=6; system.out.println(m);9 为区分重载多态中同名的不同方法,要求:采用不同形式参数列表(既参数的数量和类型不同)10 在某个类中定义一个方法:void getsort(int x),以下关于能否做为这个方法的重载错误的是:_d_a)void getsort(float x)x*=x; b)int getsort(double y)return(int)(s*y);c)double getsort(int x,int y)return x+y d)都不能11 内部类、方法重载12 下面在
11、命令行运行java应用程序a:java a the first snow,the first snow came.怎样才能杂main(string args)方法中访问单词”firt”_d_a a0 b a2 c c4 d a513 面向对象程序实际的基本特征的是:抽象、继承、封装 (不包括:静态)14 类是java语言的一种复合数据类型。15 子类必须通过super关键字调用父类有参数的构造函数。16 在软件测试方法中,黑盒测试和白盒测试是常用的方法,其中黑盒测试主要用于测试:软件外部功能。17 关系型数据库管理系统中存储与管理数据的基本形式是:二维表18 算法的基本要素包括:对数据对象的运
12、算的操作、算法的控制结构19 栈的基本运算主要有:入栈运算、退栈运算、读栈运算练习题(3)1 算法的时间复杂度是指_算法执行过程中所需要的基本运算次数_2 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为_350_。3 结构化程序设计主要强调的是_程序的易读性_。4 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_ d、需求分析_5 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是_控制流_。6 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及_需求
13、评审_。7下述关于数据库系统的叙述中正确的是_数据库系统减少了数据冗余_。8 数据库设计包括两个方面的设计内容,它们是_概念设计和逻辑设计_。91以下 b 不是java中有效的关键字。a、const b、null c、false d、this10 panel默认的布局管理器是 a、flowlayout 。11 下面 b 方法与applet的显示无关。a、update() b、draw() c、repaint() d、paint()12下列 内容是异常的含义。a、程序的语法错 b、程序编译或运行中所发生的异常事件 c、程序预定义好的异常事件 d、程序编译错误13 当方法遇到异常又不知如何处理时,
14、下列 c 做法是正确的。a、捕获异常 b、抛出异常 c、声明异常 d、嵌套异常14 计算机中的流是 d 。a、流动的字节 b、流动的对象 c、流动的文件 d、流动的数据缓冲区15 当检索一个压缩文件时,首先要建立压缩文件输入流对象。该对象 b 。a、以选中的压缩文件为参数 b、以fileinputstream对象为参数c、以inputstreamreader对象为参数 d、以bufferedreader对象为参数16 一个java application运行后,在系统中是作为一个 b 。a、线程 b、进程 c、进程或线程 d、不可预知17 要串行化某些类的对象,这些类就必须实现 a 。a、se
15、rializable接口 b、java.io.externalizable接口c、java.io.datainput接口 d、dataoutput接口18 swing构件的程序不具有 a 。a、本地代码 b、标签 c、菜单 d、容器19 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化和限制使用goto语句。20 软件的调试方法主要有:强行排错法、回朔法_和原因排除法。21 数据库系统的三级模式分别为 概念级 模式、内部级模式与外部级模式。22 数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、 数据存储 和处理过程。23 java语言的各种数据类型
16、之间提供两种转换:强制转换和 自动转换 。24 java语言中,临界区用 synchronized 关键字标识。解析:1 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。软件生命周期的主要活动阶段为:(1)可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。(2)需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审
17、。(3)软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。(4)软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。(5)软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。(6)运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。2 数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据
18、源)、源和潭。3 软件的需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。需求获取的目的是确定对目标系统的各方面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。需求评审是对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。4 标识符命名规则为:1、标识符是以字母、
19、下划线、美元符($)作为首字符的字符串序列。在首字符后面可以跟字母、下划线、美元符和数字。2、标识符区分大小写。3、标识符的字符数目没有限制,但为便于阅读和记忆,不宜太长。5 数组中length是属性,而字符串中是通过length()方法获得字符长度的,6 对于二元算术运算符,其表达式结果的类型归纳为以下几类情况:(1)操作数全为整型,那么,只要其中有一个为long型,则表达式结果为long型。(2)两个操作数全是byte型或short型,表达式结果也为int型。(3)操作数为浮点型,只要其中有一个为double型,表达式结果就是double型。(4)两个操作数全是float型或其中一个是fl
20、oat型,而另外一个是整型,则表达式结果为float型。7 borderlayout是window,frame和dialog的默认布局管理器。borderlayout布局管理器把容器分成5个区域:north,south,east,west和center,每个区域只能放置一个构件。8 flowlayout是panel和applet的默认布局管理器。构件在容器中的放置规律是从上到下、从左到右进行放置,如果容器足够宽,第一个构件先添加到容器中第一行的最左边,后续的构件依次添加到上一个构件的右边,如果当前行已放置不下该构件,则放置到下一行的最左边。构件的大小不随容器的大小改变而改变。来9 applet
21、显示相关的3个方法:(1)、paint()方法:applet的paint()方法具体执行applet的绘制,该方法定义如下:public void paint(graphics g)paint()方法有一个参数g是graphics类的实例,该实例对象由浏览器生成,它包含了applet的图形上下文信息,通过它向applet中显示信息,该对象相当于applet的画笔。在调用paint()方法时,由浏览器将该对象传递给paint()方法。(2)、update()方法:public void update(graphics g)用于更新applet的显示。该方法将首先清除背景,再调用paint()方法
22、完成applet的具体绘制。(3)、repaint()方法:public void repaint()repaint()方法主要用于applet的重新显示,它调用update()方法实现对applet的更新。10 流,最早从c语言中引入的。其可以看成是一个流动的数据缓冲区。数据从数据源方向经过缓冲区流向数据的目的地。在传送的过程中,其传送方式是串行的。在java中的java.io包中定义了java中常见流的接口与类。其中包括两个最基本的流的抽象类,它们分别是outputstream与inputstream。其余的流都分别从这两个基本类中继承而来。11 在java.io包中提供了对压缩文件进行操
23、作的能力。它是通过压缩文件输入流与压缩文件输出流来实现的,其分别继承自inflaterinputstream与deflateroutputstream。在创建压缩文件输入流时,其初始化参数是一个fileinputstream类的实例。12 在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、中序遍历和后序遍历。前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。中序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结
24、点,最后遍历右子树;并且遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。后序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历右子树,然后访问根结点,最后遍历左子树;并且遍历左、右子树时,仍然先遍历右子树,然后访问根结点,最后遍历左子树。13 调式的关键在于推断程序内部的错误位置及原因。其主要的调试方法有:强行排错法、回溯法和原因排除法。强行排错法:是传统的调试方法,其过程可概括为:设置断点、程序暂停、观察程序状态、继续运行程序。这是目前使用较多、效率较低的调试方法。回溯法:该方法适合于小规模程序的排错。即一旦发现了错误,先分析错误征兆,确定最先发现症状的位置。然
25、后,从发现症状的地方开始,沿程序的控制流程,逆向跟踪源程序代码,直到找到错误根源或确定错误产生的原因。原因排除法:是通过演绎和归纳,以及二分法来实现的。数据库系统在其内部具有三级模式及二级映射,三级模式分别是概念级模式、内部级模式和外部级模式。14 概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。外模式也称子模式或用户模式,它是用户的数据视图,也就是用户所
26、见到的数据模式,它由概念模式推导而出。数据字典是各类数据描述的集合,它通常包括5个部分,即数据项,是数据的最小单位;数据结构,是若干数据项有意义的集合;数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出;数据存储,处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件;处理过程。15 在java语言中,异常机制是:一旦出现异常,可以由运行的方法或虚拟机生成一个异常对象,它包含异常事件的类型以及发生异常时程序的状态等信息。16 异常对象从产生到被传递提交给java运行系统的过程称为抛出(throw)异常。一个程序中单独的、并发的线程对同一个对象进行访问的代码段,称为临界区。
27、在java语言中,临界区可以是一个语句块或是一个方法,并且用synchronized关键字标识。练习题(4)1、算法的空间复杂度是指:算法执行过程中所需的存储空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。2 所谓满二叉树是指这样的一种二叉树:除最后一层外,每层上的所有结点都有两个子结点。这就是说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第k层上有2k-1个结点,且深度为m的满二叉树有2m个结点。在满二叉树中,最后一层的结点个数就是叶子结点的个数,本题中深度为5,故叶子结点数为25-1=24=16。3 程序
28、编写要做到清晰第一,效率第二。4 软件工程包括3个要素,即方法、工具和过程。5 程序流程图(pfd)是一种传统的、应用广泛的软件过程设计表示工具,通常也称为程序框图,其箭头代表的是控制流。6 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是数据库系统。7 关系数据库管理系统能实现的专门关系运算,包括选择运算、投影运算、连接运算。8 java语言不同于c+,它可以自动跟踪内存的使用情况,释放一些不再需要使用的空间,从而保证了不会由于程序的运行而生成大量无法释放的空间,该机置被称垃圾回收机制,由于这种机制的引入,从很大程度上减轻了程序员的负担
29、。9 java对+进行了扩展,不仅可以连接字符串,而且还能将字符串与其它类型数据进行连接,结果是字符串。若+的第一个操作数是字符串,java会自动将后面的操作数类型转换成字符串类型。10 对于复合数据类型的数据的=运算,其比较目标是两个操作数是否是同一个对象。若需要比较两个对象的值是否相同,则用equals()方法,equals()是object的方法,和=一样,功能是比较两个操作数是否是同一个对象,但类库中许多子类重写了equals()方法,使其变为比较两个操作数的内容是否一样。11 当switch后面表达式的值与任一case子句中的值都不匹配时,程序执行default后面的语句;break
30、语句用来在执行完一个case分支后,使程序跳出switch语句;若没有break语句,当程序执行完匹配的case语句序列后,继续向下执行,向下执行时,并不与case后面的数据进行比较,而是直接执行下面的所有语句,直到遇到break语句为止。12 在jscroolpane类中,主要是通过jviewport(视口)类来实现内容的滚动的。jviewport是一种特殊的对象,用于查看基层构件,滚动条实际上就是沿着构件移动视口,同时描绘出它能看到的内容。13 java语言为一些listener接口提供了适配器(adapter)类。可以通过继承事件所对应的adapter类,重写需要的方法,无关方法不用实现
31、。java.awt.event包中定义的事件适配器类包括以下几个:1、componentadapter,构件适配器。2、containeradapter,容器适配器。3、focusadapter,焦点适配器。4、keyadapter,键盘适配器。5、mousemotionadapter,鼠标运动适配器。6、mouseadapter,鼠标适配器。7、windowadapter,窗口适配器14 容器java.awt.container是component的子类,一个容器可以容纳多个构件,并使他们成为一个整体。常用的容器有frame(窗口容器),panel(面板容器),applet(java小程序的
32、容器),dialog(对话框容器)等。而本题选项中的scrollbar是滚动条,它是一个构件,并不是容器。15 java语言的类库中提供一个throwable类,所有的异常对象都必须是它的实例或它子类的实例。throwable类又分为error和exception两子类,error类包括动态连接失败、硬件设备和虚拟机出错等,通常的java应用程序不会捕获和抛出这类异常,而是捕获和抛出exception这类异常。所以自定义的异常是从exception及其子集继承的。16 过滤流为i/o访问提供了同步处理机制。保证在某时刻只能有一个线程访问一个i/o流。要保证读取的内容进行处理后能够正确的输出,要
33、使用过滤流(filter stream),否则不能保证输出数据的正确性。17 对jframe添加构件有两种方式:1、用getcontentpane()方法获得jframe的内容面板,再对其加入构件frame.getcontentpane().add(childcomponent)。2、建立一个jpanel或jdesktoppane之类的中间容器,把构件添加到容器中,再用setcontentpane()方法把该容器置为jframe的内容面板:jpanel contentpane=new jpanel();/把其他构件添加到jpanel中frame.setcontentpane(contentpa
34、ne);/把contentpane对象设置成为frame的内容面板。18 将java程序中的对象保存在外存中,称为对象永久化。对象永久化的关键是将它的状态以一种串行格式表示出来,以便以后读该对象时能够把它重构出来。19 在java中可通过两种方法来产生一个线程。在java中,可以通过继承类thread来构造线程,即通过继承thread类并覆盖其中的run方法来生成一个线程。同时也可以通过建立一个实现了runnable接口的对象,并以其作为线程的目标对象来建立一个线程,通过这种方法可以打破java中单一继承类方式的限制,在这种方法中,所有实现了runnable接口的对象都是以线程方式在运行。20
35、 数据库设计是数据库应用的核心。在数据库应用系统中的一个核心问题就是设计一个能满足用户要求,性能良好的数据库,这就是数据库设计。21 新建的线程调用start()方法,将使线程的状态从new转换为runnable。start()方法使系统为线程分配必要的资源,将线程中虚拟的cpu置为runnable状态,并将线程交给系统调度。runnable表示系统处于运行就绪状态,此时线程仅仅是可以运行,但不一定在运行中。练习题(5)1 在进行顺序查找过程中,如果线性表中被查的元素是线性表中的最后一个,或者被查元素根本不在线性表中,则为了查找这个元素需要与线性表中所有元素进行比较,这是顺序查找最坏的情况。信
36、息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。2 模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。衡量软件的模块独立性的度量标准是耦合性和内聚性。一个模块的内聚性越强,则该模块的模块独立性越强。而内聚性是信息隐蔽和局部化概念的自然扩展。面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。它强调模拟现实世界中的概念而不强调算法,它鼓励开发者在软件开发的绝大部分中都用应用领域的概念去思考。总体设计过程通常由两个主要阶段组成:系统设计,确定系统
37、的具体实现方案;结构设计,确定软件结构。为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。3 数据库概念设计的过程中,视图设计一般有三种设计次序,它们是:1、自顶向下。这种方法是先从抽象级别高且普遍性强的对象开始逐步细化、具体化与特殊化。2、由底向上。这种设计方法是先从具体的对象开始,逐步抽象,普遍化与一般化,最后形成一个完整的视图设计。3、由内向外。这种设计方法是先从最基本与最明显的对象着手逐步扩充至非基本、不明显的其它对象。4 在方法中定义的局部变量在方法退出
38、时被自动撤消,只有静态变量不会被撤消。如果未对变量指定修释符,在java中将自动将其设置为局部变量,局部变量也叫自动变量,对于方法外面的变量,将在对象被创建时一起被创建,其初值可通过构造函数对其进行初始化。如果方法中是一个简单类型的形参,由于其是按值传递,在编译时会占用存储空间,直到该对象释放时为止。如果形参为一个类类型,其参数是按地址传递,编译时不会为其分配空间,因此该参变量不会存在于方法中。5 类加载器(class loader)加载程序运行所需要的所有类,它通过区分本机文件系统的类和网络系统导入的类增加安全性,这可以限制任何的特洛伊木马程序,因为本机类总是先被加载,一旦所有的类被加载完,
39、执行文件的内存划分就固定了,在这个时候特定的内存地址被分配给对应的符号引用,查找表(lookup table)也被建立,由于内存划分发生在运行时,解释器在受限制的代码区增加保护防止未授权的访问;然后字节码校验器(byte code verifier)进行校验,主要执行下面的检查:类符合jvm规范的类文件格式,没有违反访问限制,代码没有造成堆栈的上溢或者下溢,所有操作代码的参数类型都是正确的,没有非法的数据类型转换(例如将整型数转换成对象类型)发生;校验通过的字节码被解释器(interpreter)执行,解释器在必要时通过运行时系统执行对底层硬件的合适调用。7 public class pare
40、nt 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 something.b、public void addvalue ()/ do something.c、public int addvalue( int a, int b )throws myexception /do something.d、public float addvalue
41、( int a ,int b, float b=1.0 )/ do something.解析:此题涉及方法重载(overload),方法重写(override)以及类派生时方法重写的规则。方法重载的规则是:一、参数列表必须不同,个数的不同完全可以,如果个数相同,则参数类型的不同不会引起歧意,例如int和long,float和double就不能作为唯一的类型不同;二、返回值可以不同,但是不能是重载时唯一的不同点(这点和c+中不同,c+中返回类型必须一致)。方法重写发生在类继承时,子类可以重写一个父类中已有的方法,必须在返回类型和参数列表一样时才能说是重写,否则就是重载,java中方法重写的一个重
42、要而且容易被忽略的规则是重写的方法的访问权限不能比被重写的方法的访问权限低!重写的另一个规则是重写的方法不能比被重写的方法抛弃(throws)更多种类的异常,其抛弃的异常只能少,或者是其子类,不能以抛弃异常的个数来判断种类,而应该是异常类层次结果上的种类。此题中选取项a的错误就是重写的访问权限比被重写的方法的低,而b属于重载,选项c的错误在于比被重写的方法抛弃了更多种类的异常。选项d中,当只传递两个变量的值的时候,那系统就不知道倒底调用哪个方法了,因为b为常量,可以不指定,所以只有选项b是符合题意的。8 假设有以下代码string s= hello;string t = hello;char
43、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);解析:=操作符比较的是操作符两端的操作数是否是同一个对象,而string的equals()方法比较的是两个string对象的内容是否一样,其参数是一个string对象时才有可能返回true,其它对象都返回假。需要指出的是由于s和t并非使用new创建的,他们指向内存池中的同一个字符串常量,因此其地址实际上是相同的(这个可以从反编译一个简单的测试程序的结果得到,限于篇幅不列出测试代码和反编译的分析)
44、,因此答案c也是正确的。9 欲构造arraylist类的一个实例,此类实现了list接口,下列_b_方法是正确的。a、arraylist mylist=new object( ); b、list mylist=new arraylist( );c、arraylist mylist=new list( ); d、list mylist=new list( );解析:不能直接建立接口的实例,只能通过实现接口的相应的类来实现接口。10 下列程序运行的结果是_b_。public class examplestring str=new string(good);charch=a,b,c;public s
45、tatic void main(string args)example ex=new example();ex.change(ex.str,ex.ch);system.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 gbc11 java语言中,原始数据类型变量是按值传递的,引用类型变量是按地址传递的。12 要从文件file.dat文件中读出第10个字
46、节到变量c中,下列_a_方法适合。a、fileinputstream in=new fileinputstream(file.dat); 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);
47、in.skip(9); int c=in.readbyte();解析:java提供fileinputstream是将文件作为流的方式读取,它是按照文件的顺序从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
48、value of j is +j );7) k=k+1;8) 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.jappletc、applet能访问本地文件 d、applet程序不需要编译解析:java applet的字节码文件必须嵌入html的文件中并由负责解释html文件的www浏览器充当解释器来解释运行。因此applet不需要m
49、ain方法,但必须继承java.awt.applet类或javax.swing.japplet,因为这两个类实现了applet程序于浏览器的通讯。15 为了系统的安全,一般情况下applet程序不能访问本地文件,只有通过授权后才能读写。16 下列关于for循环和while循环的说法中_a_是正确的。a、while循环能实现的操作,for循环也都能实现b、while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果c、两种循环任何时候都可替换 d、两种循环结构中循环体都不可以为空解析:for循环的一般形式为:for(; ; )语句;初始化总是一个赋值语句,它用来给循环控制变量赋初值;
50、条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用;分开。例如:for(i=1; i10时,结束循环。注意:1、for循环中语句可以为语句体,但要用和将参加循环的语句括起来。2、for循环中的初始化、条件表达式和增量都是选择项,即可以缺省,但;不能缺省。省略了初始化,表示不对循环控制变量赋初值。省略了条件表达式,则不做其它处理时便成为死循环。省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。与for循环一样,while循环总是在循环的头部检验条件,这就意味着循环可能什么也不执行就退出。17 下列
51、关于java application与java applet程序的差别描述正确的是 d 。a、运行方式不同,程序结构相同,运行工具不同,受到的限制相同b、运行方式相同,程序结构不同,运行工具不同,受到的限制相同c、运行方式相同,程序结构相同,运行工具不同,受到的限制也不同d、运行方式不同,程序结构不同,运行工具不同,受到的限制也不同解析:application和java applet的区别。java语言是一种半编译半解释的语言。java的用户程序分为两类:java application和java applet。这两类程序在组成结构和执行机制上都有一定的差异,主要体现在以下几方面:(1)运行方
52、式不同。java application是完整的程序,可以独立运行;java applet程序不能单独运行,它必须嵌入到用html语言编写的web页面中,通过与java兼容的浏览器来控制执行。(2)运行工具不同。java application程序被编译以后,用普通的java解释器就可以使其边解释边执行,而java applet必须通过网络浏览器或者applet观察器才能执行。(3)程序结构不同。每个java application程序必定含有一个并且只有一个main方法,程序执行时,首先寻找main方法,并以此为入口点开始运行。含有main方法的那个类,常被称为主类,也就是说,java ap
53、plication程序都含有一个主类。而applet程序则没有含main方法的主类,这也正是applet程序不能独立运行的原因。尽管applet没有含main方法的主类,但applet一定有一个从java.applet.applet派生的类,它是由java系统提供的。(4)受到的限制不同。java application程序可以设计成能进行各种操作的程序,包括读/写文件的操作,但是 java applet 对站点的磁盘文件既不能进行读操作,也不能进行写 操作。然而,由于applet的引入,使web页面具有动态多媒体效果和可交互性能,这使由名为超文本、实为纯文本的html语言编写成的web页面真
54、正具有了超文本功能,不但可以显示文本信息,而且还可以有各种图片效果和动态图形效果,从而使页面显得生动美丽;另外,applet使web页面增加了按钮等功能,从而增加了交互性。故本题答案为d。18 在java.applet、java.awt、java.awt.image包中,包含了许多图象支持的类和方法。在程序中图像由一个java.image类的对象来表示。目前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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026天津体育学院招聘博士思政课教师岗位2人笔试参考题库及答案详解
- 2026年安庆市安汇新能源科技有限公司公开招聘劳务派遣工作人员1名笔试模拟试题及答案详解
- 北京交通大学科研助理招聘31人考试参考题库及答案详解
- 2026福建泉州市洛江区机关幼儿园招聘保育员2人考试备考题库及答案详解
- 2026浙江温州市瑞安市医疗保障局招聘临时人员3人笔试模拟试题及答案详解
- 中空玻璃项目风险评估报告
- 2026年宁波市海曙区网格员招聘笔试模拟试题及答案详解
- 年产xx万件金属配件生产线项目资金申请报告
- 配电网故障快速隔离自愈技术方案
- 2026年丹东市振兴区网格员招聘考试模拟试题及答案详解
- 成都未来科技城发展服务局2026年社会招聘笔试题库附参考答案详解【模拟题】
- 烧结多孔砖生产施工方案及技术措施
- 山东能源定向委培考试题
- 2025广东省风力发电有限公司山西分公司招聘7人笔试历年难易错考点试卷带答案解析
- 骨科疾病常见诊疗常规
- 2025年四川省省级机关公开遴选考试真题(附答案)
- 2026版中央安全生产考核巡查明查暗访应知应会
- GD2016《2016典管》火力发电厂汽水管道零件及部件典型设计(取替GD2000)-401-500
- 高考英语时态专项练习题汇编
- 天津市第一中心医院招聘考试真题2024
- 雨课堂学堂在线学堂云《船舶柴油机装配与调试(渤海船舶职院 )》单元测试考核答案
评论
0/150
提交评论