计算机二级考试java题目

上传人:suns****4568 文档编号:87389370 上传时间:2019-04-04 格式:DOC 页数:12 大小:201KB
返回 下载 相关 举报
计算机二级考试java题目_第1页
第1页 / 共12页
计算机二级考试java题目_第2页
第2页 / 共12页
计算机二级考试java题目_第3页
第3页 / 共12页
计算机二级考试java题目_第4页
第4页 / 共12页
计算机二级考试java题目_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《计算机二级考试java题目》由会员分享,可在线阅读,更多相关《计算机二级考试java题目(12页珍藏版)》请在金锄头文库上搜索。

1、算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。数据结构和算法是计算机科学的两个重要支柱。它们是一个不可分割的整体。算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。算法的有穷性是指一个算法必须在执行有限的步骤以后结束。 本题答案为C。根据二叉树的性质:二叉树第i(i1)层上至多有2i-1个结点。得到第5层的结点数最多是16。 本题答案为B。软件设计一般分为总体设计和详细设计两个阶段,总体设计的任务是确定软件的总体结构,子系统和模块的划分,并确定模块间的接口和评价模块划分质量,以及进行数据分析。详细设计的任务是确定每一模块实现的定义

2、,包括数据结构、算法和接口。 本题答案为D。对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。 本题答案为A。软件工程包括3个要素,即方法、工具和过程。 本题答案为D。程序流程图(PFD)是一种传统的、应用广泛的软件过程设计表示工具,通常也称为程序框图,其箭头代表的是控制流。 本题答案为B。本题考查的是布局管理器。 Frame继承自java.awt.window类,它们都在java.awt包中,对于Frame而言,其默认的布局管理器为BorderLayout。采用FlowLayout时,当容器内一行中构件布满

3、后,将自动从下行开始;采用BorderLayout,将窗体分成东、南、西、北、中五个部分,在每个部分中可以放置一个构件;采用GridLayout布局时,将以m*n的网格的形式来显示容器中的构件,每个网格中可以放置一个构件;采用CardLayout时将为构件提供卡式界面。另外还有GridBag Layout布局管理器。 故本题答案为B。本题考的是Java程序结构。 Java规定,源文件名与程序类名必须相同,其扩展名为.java,源文件中最多只能有一个public类,其他类的个数不限。且Java是区分大小写的。 故本题答案为B。 本题考的是Java的简单数据类型。 整型常量分3种书写格式: (1)

4、十进制整数,如189,-360。 (2)八进制整数,以0开头,如012表示十进制的10。 (3)十六进制整数,以0x或0X开头,如0x123表示十进制数291。 另外选项B的书写格式表示科学计算,E是指数符。 故本题答案为D。本题考的是运算符。 ?:是条件运算符,条件运算符是三元运算符。 三元条件表达式的一般形式为: expressinon1?expression2:expression3 其中表达式expression1应该是关系或布尔表达式,其计算结果为布尔值。如果该值为true,则计算表达式expression2,并将计算结果作为整个表达式的结果;如果为false,则计算表达式expre

5、ssion3,将计算结果作为条件表达式的结果。 故本题答案为A。本题考查的是算术运算符。 首先说明一点,在Java语言中,取模运算符%,其操作数可以为浮点数。 对于二元算术运算符,其表达式结果的类型归纳为以下几类情况: (1)操作数全为整型,那么,只要其中有一个为long型,则表达式结果为long型。 (2)两个操作数全是byte型或short型,表达式结果也为int型。 (3)操作数为浮点型,只要其中有一个为double型,表达式结果就是double型。 (4)两个操作数全是float型或其中一个是float型,而另外一个是整型,则表达式结果为float型。 故本题答案为B。本题考查的是赋值

6、运算符。 赋值运算符(=)把一个表达式赋给一个变量,在赋值运算符两侧不一致的情况下,如果左侧变量类型的级别高,则右侧的数据被转化为与左侧相同级别的数据类型后赋给左侧变量;否则,需要使用强制类型转换运算符。 本题中选项D右侧433为int型,而左侧是比它级别低的byte型,且byte型的数据范围是-128+127,所以此选项不正确。 故本题答案为D。本题考查的是main()方法的组成。 main()方法是一个特殊的方法,它是所有的Java Application程序执行的入口点,所以任何一个Java Application方法必须有且只能有一个main()方法,而且这个main()方法的方法头必

7、须按照下面的格式书写: public static void main(String args) 或public static void main(String args) 因为对于一个方法来讲,它是由方法头和方法体组成,其中方法头的一般格式如下: 修饰符1 修饰符2 返回值类型 方法名(形式参数列表)throw异常列表 所以,main()方法头中的public、static属于修饰符,void是返回类型,main为方法名,String args是形式参数。 故本题答案为C。本题考查的是内部类。 在Java中经常使用内部类,但一般采用内部类的原因有以下几点: 1、内部类的对象可以访问外部类的成

8、员和方法。 2、实现事件监听时,采用内部类、匿名类容易实现。 3、编写事件驱动程序,内部类很方便。 本题中,不存在内部类对外部类的数据访问,故A是错的;同样也不存在同一包内其它类访问该内部类的问题,故选项C也是错的;又因为ActionListener事件监听器在Java中无事件适配器,所以此内部类不可能用于生成事件适配器。故本题答案为B。本题考查的是数组大小的调整。 Java语言中用一种特殊的类-java.util.ArrayList(数组列表)在运行时动态调整数组的大小。ArrayList类在定义数组时,不必限定数组的大小。 故本题答案为C。本题考查的是接口的概念。 接口是不包含成员变量和方

9、法实现的抽象类,它只包含常量和方法的定义。接口的主要功能是: (1)不管类的层次,可实现互不相关的类具有相同的行为。 (2)通过接口说明多个类所需实现的方法。 (3)通过接口可以了解对象的交互界面,无需了解对象所对应的类。 所以选项A、B、C都是正确的叙述。另外,由于接口不包括任何实现,所以与存储空间没有任何关系。所以选项D的叙述是错误的。 故本题答案为D。本题考查的是类的继承。 对一个类的继承是指在现有类(父类)的基础上构建一个新类(子类),子类重用(继承)了父类的方法和状态,同时还可以向新类中增添新的方法和状态。Java中创建子类是通过在类声明中加入extends子句来实现的。 故本题答案

10、为B。 本题考查的是窗体的方法。 windowOpened是打开窗体后将要执行的方法。windowClosed是关闭窗体后将要执行的方法,windowClosing是在关闭窗体时要执行的方法,该方法可以执行窗体的关闭功能。windowDeactivated是窗体处于非激活时将会执行该方法。因此windowClosing是可以实现窗口关闭操作的方法。 故本题答案为C。本题考查的是Applet的基础知识。 Applet是一类非常重要的Java程序,一般来说其嵌入在HTML语言中,它与Application不同之处在于,它必须要通过其它程序调用执行,本身不能被直接解释执行,故A是错的。Applet是

11、java.applet.Applet的子类,如果其采用了swing构件,则是javax.swing.JApplet的子类,在HTML中可以通过标记向Applet传递参数。 故本题答案为A。 本题考查的是Applet生命周期概念。 在Applet程序序中有如下几个方法与其生命周期相关:init()方法用来在加载Applet时完成初始化工作;start()方法用来启动Applet的执行;stop()用来停止Applet的执行,例如,用户离开Applet页面或浏览器;destory()用来完成撤消清理工作,准备卸载。因此在与Applet生命周期相关的方法的数量为四个。 故本题答案为A。本题考查的是正

12、则表达式。 正则表达式必须对字符串进行匹配,因此选项A是错误的,对于任一二进制串,正则表达式也无法匹配,对于一个回文字串,正则表达式无法匹配,故选取项A、B、C也都是错误的,对于一个公式,由于其符合3型文法标准,故必能与正则表达式相匹配。 故本题答案为D。本题考查的是线程的相关知识。 Java的线程调度策略是一种基于优先级的抢先式调度。这种调度策略的含义是:Java基于线程的优先级选择高优先级的线程进行运行。该线程(当前线程)将持续运行,直到它中止运行或其它更高优先级程成为可运行时。所以选项C的叙述是正确的。在线程的几种基本控制方法中,sleep()方法使比其低的优先级线程运行;yield()

13、方法只让给同优先级运行。所以选项A、B的叙述均是正确的。 抢先式调度可能是分时的,即每个池中的轮流运行;也可能不是,即线程逐个运行。所以即使具有相同优先级的多个线程的调度也不一定是分时的,它的运行方式是由具体JVM而定的。 故本题答案为D。线程的生命周期主要分为如下几个状态:新建状态、可运行状态、运行状态、阻塞状态、终止状态。 假设当前线程处于运行状态,则会改变线程当前状态的操作总结如下: (1)当前线程执行了yield(),或当前线程因调度策略(执行过程中,有一个更高优先级的线程进入可运行状态,这个线程立即被调度执行,当前线程占有的CPU被抢占;或在分时方式时,当前执行线程执行完当前时间片)

14、从而导致当前线程进入可运行状态。 (2)线程调用了sleep()方法、join()方法、wait()方法时,线程进入阻塞状态。 其中yield()方法的作用是暂停当前线程的执行,从而允许与它具有相同优先级的线程执行,如果不存在可执行且与它同优先级的线程,则继续执行当前线程。 当某线程需要在synchronized块中等待共享数据状态改变时,调用wait()方法,这样该线程等待并暂时释放共享数据对象的锁,其它线程可以获得该对象的锁,并进入synchronized块对共享数据进行操作,而此线程则放入wait pool中,转入阻塞状态,当其它线程对共享数据操作完后,只要调用notify()方法就可以

15、通知正在等待的线程重新占有锁,并运行。 sleep方法的作用是让当前线程处于休眠状态,并持续一定的时间,该时间的长短由sleep()方法的参数决定。sleep()方法结束后,线程将进入可运行状态。 所以对选项A、B、C的调用都会改变线程生命周期中的状态,而isAlive()方法的作用是测试线程,以确定线程是否活着。此方法并不会改变线程生命周期中的状态。 故本题答案为D。本题考查的是方法参数列表的格式。 参数列表的各项间用逗号隔开,每项中包含类型及变量两部分,因此选项B,D是错误的,由于在方法的主体中出现了out实例,但没有它的定义存在,所以其定义应该在参数列表中。 故本题答案为C。本题考查的是逻辑运算符。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号