if(i%2==1)s+=MyIntArray[i];
System.out.println(s);
46、方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
final方法是不能被当前类的子类重新定义的方法。
47、异常对象从产生到被传递提交给Java运行系统的过程称为异常。
48、如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是类的子类。
49、传递给实现了java.awt.event.MouseMotionListener接口的类中mouseDragged()方法的事件对象是类。
50、Java语言中,临界区用关键字标识。
试题解析:
1、所谓算法的时间复杂度,是指执行算法所需要的计算工作量。
为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。
为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。
本题答案是C。
2、根据数据结构中各数据元素之间前后间关系的复杂程度,一般将数据结构分为两大类型:
线性结构与非线性结构。
如果一个非空的数据结构满足下列两个条件:
(1)有且只有一个根结点;
(2)每一个结点最多有一个前件,也最多有一个后件。
则称该数据结构为线性结构,又称线性表。
所以线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。
本题答案是A。
3、所谓完全二叉树是指除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。
具有n个结点的完全二叉树,其父结点数为int(n/2),而叶子结点数等于总结点数减去父结点数。
本题n=699,故父结点数等于int(699/2)=349,叶子结点数等于699-349=350。
本题答案是B。
4、结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。
本题答案为B。
5、通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。
也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。
软件生命周期的主要活动阶段为:
(1)可行性研究和计划制定。
确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。
(2)需求分析。
对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。
编写软件规格说明书及初步的用户手册,提交评审。
(3)软件设计。
系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。
(4)软件实现。
把软件设计转换成计算机可以接受的程序代码。
即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。
(5)软件测试。
在设计测试用例的基础上,检验软件的各个组成部分。
编写测试分析报告。
(6)运行和维护。
将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。
本题答案是D。
6、数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。
数据流图中的主要图形元素有:
加工(转换)、数据流、存储文件(数据源)、源和潭。
本题答案为A。
7、软件的需求分析阶段的工作,可以概括为四个方面:
需求获取、需求分析、编写需求规格说明书和需求评审。
需求获取的目的是确定对目标系统的各方面需求。
涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控需求获取的过程。
需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。
编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。
需求评审是对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。
本题答案是B。
8、由于数据的集成性使得数据可为多个应用所共享,特别是在网络发达的今天,数据库与网络的结合扩大了数据关系的应用范围。
数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。
所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值,而数据的不一致性指的是同一个数据在系统的不同拷贝处有不同的值。
本题答案是A。
9、在关系数据库中,关系模型采用二维表来表示,简称"表"。
二维表是由表框架及表元组组成。
在表框架中,按行可以存放数据,每行数据称为元组。
本题答案是A。
10、数据库设计可分为概念设计与逻辑设计。
数据库概念设计的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。
数据库逻辑设计的主要工作是将ER图转换为指定的RDBMS中的关系模型。
本题答案是A。
11、本题考查的是应用程序的扩展名。
1、Java的源程序代码的扩展名为.java。
2、Java的编译器和解释器的扩展名为.exe,他们分别是javac.exe、java.exe。
3、通过Java编译器编译生成的是二进制字节码文件,其扩展名为.class。
4、调用applet小程序的HTML文件的扩展名为.html或.htm。
故本题答案为B。
12、本题考查的是Java的关键字。
Java中常量null,false,true,new,this,const,break都是小写。
故本题答案为B。
13、本题考查的是Java标识符。
标识符命名规则为:
1、标识符是以字母、下划线、美元符($)作为首字符的字符串序列。
在首字符后面可以跟字母、下划线、美元符和数字。
2、标识符区分大小写。
3、标识符的字符数目没有限制,但为便于阅读和记忆,不宜太长。
另外要注意的是Java中有一些标识符是具有专门意义和用途的,不允许作为一般的标识符用,它们是保留字。
例如本题中的super。
故本题答案为D。
14、本题考查的是表达式。
选项A类型不一致,若此表达式改为s+="books"就对了;
选项B中s[1]表示数组,Java中数组是对象,它需通过new关键字来创建;
选项C中s的类型不确定,如果s定义的是数组的,则此表达式是合法的,因为数组中length是属性,而字符串中是通过length()方法获得字符长度的,故此表达式不合法。
若把它改为intlen=s.length();就对了;
选项D中toLowerCase()是String类提供的一个方法,作用是将字符串中所有字符变为小写。
返回一个字符串值赋给t。
故本题答案为D。
15、本题考查的是main()方法的组成。
main()方法是一个特殊的方法,它是所有的JavaApplication程序执行的入口点,所以任何一个JavaApplication方法必须有且只能有一个main()方法,而且这个main()方法的格式统一为:
publicstaticvoidmain(Stringargs[])
故本题答案为C。
16、本题考查的是if判断语句。
if-else结构:
if(条件)
statement1;或{block1}
else
statement2;或{block2}
在条件为真时,执行语句statement1(或代码块block1),然后跳过else和statement2(或代码块block2)执行下面的语句;在条件为假时,跳过语句statement1(或代码块block1)执行else后面的statement2(或代码块block2),然后继续执行下面语句。
本题中,条件m==false不成立,执行System.out.println("True");所以输出True。
故本题答案为B。
17、本题考查的是Java的修饰符。
Java的修饰符包括public,private,protected,friendly,final等。
故本题答案为D。
18、本题考查的是算术运算符。
首先说明一点,在Java语言中,取模运算符%,其操作数可以为浮点数。
对于二元算术运算符,其表达式结果的类型归纳为以下几类情况:
(1)操作数全为整型,那么,只要其中有一个为long型,则表达式结果为long型。
(2)两个操作数全是byte型或short型,表达式结果也为int型。
(3)操作数为浮点型,只要其中有一个为double型,表达式结果就是double型。
(4)两个操作数全是float型或其中一个是float型,而另外一个是整型,则表达式结果为float型。
由于本题的操作数x,y全为整型,所以表达式结果也为int类型。
故本题答案为B。
19、本题考查的是表达式的运算。
增量运算符"++"是将操作数加1。
对++x与x++的运算结果均为x=x+1,但若将增量运算表达式再作为其他表达式的操作数使用时,i++与++i是有区别的:
i++在使用i之后,使i的值加1,因此执行表达式时是以i的值参加表达式的运算的,执行完后,i本身的值变为i+1;而++i是在使用i之前,使i的值加1,因此执行表达式时是以i+1的值参加运算的,执行完后i自身的值也为i+1。
另外,对于二元算术运算符"/",其表达式结果的类型归纳为以下几类情况:
(1)操作数全为整型,那么,只要其中有一个为long型,则表达式结果为long型。
(2)两个操作数全是byte型或short型,表达式结果也为int型。
(3)操作数为浮点型,只要其中有一个为double型,表达式结果就是double型。
(4)两个操作数全是float型或其中一个是float型,而另外一个是整型,则表达式结果为float型。
对一个复杂表达式进行运算时,要按运算符的优先顺序从高到低进行,同级的运算符则按照在表达式中出现的位置从左到右的方向进行。
本题y+=z--/++x由于++的运算优先级高于/,所以表达式即为y=2+3/2,固表达式值为3。
故本题答案为A。
20、本题考查的是修饰符的含义。
1、public修饰的方法可被其它类访问或引用。
2、abstract修饰的方法是抽象方法,抽象方法没有方法体,要使用抽象方法,必须先实现此抽象方法。
3、final修饰的方法不能被继承。
4、static修饰的方法为静态方法,静态方法不需要类的实例化就可以被类直接调用。
故要使得类名AB可以直接调用method()方法,则必须在method()前用static来修饰。
故本题答案为A。
21、本题考查的是成员变量的修饰符。
private修饰的变量说明变量为私有访问。
只能被该类自己访问或调用,是对成员变量的高级保护。
故本题答案为C。
22、本题考查的是表达式的运算。
增量运算符"++"是将操作数加1。
对++x与x++的运算结果均为x=x+1,但若将增量运算表达式再作为其他表达式的操作数使用时,i++与++i是有区别的:
i++在使用i之后,使i的值加1,因此执行表达式时是以i的值参加表达式的运算的,执行完后,i本身的值变为i+1;而++i是在使用i之前,使i的值加1,因此执行表达式时是以i+1的值参加运算的,执行完后i自身的值也为i+1。
故本题答案为C。
23、本题考查的是多分支语句switch。
当switch后面表达式的值与任一case子句中的值都不匹配时,程序执行default后面的语句;break语句用来在执行完一个case分支后,使程序跳出switch语句;若没有break语句,当程序执行完匹配的case语句序列后,后面的case子句起不到跳出switch语句的作用,这样,程序会继续执行后面的case语句序列,直到遇到break为止。
本题中当m的值为0的时候,会输出"case0case1case2";当m的值为1时,输出"case1case2";当m的值为2时,输出"case2";当m的值为3时,与前面所有case后面的值都不匹配,执行default语句,输出"default"。
故本题答案为D。
24、本题考查的是多重循环。
首先介绍一下continue语句的功能:
continue语句是跳过循环体中下面尚未执行的语句,回到循环体的开始,继续下一轮的循环。
本题程序运行过程如下:
i=0:
j=0条件j==1不成立,输出j和i,即0and0;
j=1条件j==1成立,执行continue,跳过System.out.println(j+"and"+i+";");执行下一轮循环j=2;
j=2条件j<2不满足,退出内层循环,继续外层循环。
i=1:
j=0条件j==1不成立,输出j和i,即0and1;
j=1条件j==1成立,执行continue,跳过System.out.println(j+"and"+i+";");执行下一轮循环j=2;
j=2条件j<2不满足,退出内层循环,继续外层循环。
i=2:
j=0条件j==1不成立,输出j和i,即0and2;
j=1条件j==1成立,执行continue,跳过System.out.println(j+"and"+i+";");执行下一轮循环j=2;
j=2条件j<2不满足,退出内层循环,继续外层循环。
i=3:
条件i<3不满足,结束。
故本题答案为A。
25、本题考查的是布局管理器。
1、CardLayout布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,它把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个构件。
2、GridLayout布局管理器使容器中各个