java考试模拟题

  • 格式:doc
  • 大小:264.50 KB
  • 文档页数:69

一、填空题 1.Java源程序的扩展名是 ,经过编译后的程序的扩展名是 。 2.Socket通常也称为 ,用于描述 和 。3.线程的优先级在 至 之间,数值越大 4.构造方法是一种特殊的成员方法,构造方法名与 相同 5.Java语言只允许单继承,指每个类只能有一个 。

二、选择题 1.下列哪个概念是面向对象和面向过程程序设计所共有的 ( ) A、继承 B、流程控制 C、抽象 D、封装 2.以下关于执行Java小程序的论述错误的是: ( ) A、可以通过浏览器调用嵌入了Java小程序的HTML文档 B、可以通过appletviewer.exe调用嵌入了Java小程序的HTML文档 C、可以通过java.exe调用嵌入了Java小程序的HTML文档 D、可以在Java集成开发环境中调用嵌入了Java小程序HTML文档 3.符合对象和类关系的是: ( ) A、人和老虎 B、书和汽车 C、楼和土地 D、松树和植物 4.关于选择结构下列哪个说法正确? ( ) A.if语句和 else语句必须成对出现 B.if语句可以没有else语句对应 C.一个if语句只能有一个else if语句与之对应 D.else if结构中必须有default语句 5.while循环和 do…while循环的区别是: ( ) A.没有区别,这两个结构任何情况下效果一样 B.while循环比 do…while循环执行效率高 C.do…while循环执行次数可能为0 D.while循环执行次数可能为0 6.关于 for循环和 while循环的说法哪个正确? ( ) A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果 C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 7.下列修饰符中与访问控制无关的是 ( ) A.private B.public C.protected D.final 8.方法内的形参: ( ) A.必须定义多个形参 B.可以没有 C.至少有一个 D.只能是简单变量 9. throws的作用: ( ) A.表示方法可能会抛出例外 B.表示后面是方法的输出量 C.方法的标志,每个方法都必须有 D. 没有意义 10. 在Java语言中,整型常量123占用的存储字节数是: ( ) A.1 B.2 C.4 D.8 11.关于对象成员占用内存的说法哪个正确? ( ) A.同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C.对象的方法不占用内存 D.以上都不对 12. return语句: ( ) A.只能让方法返回数值 B.方法都必须含有 C.方法中可以有多句return D.不能用来返回对象 13.下列说法哪个正确? ( ) A、一个程序可以包含多个源文件 B、一个源文件中只能有一个类 C、一个源文件中可以有多个公共类 D、一个源文件只能供一个程序使用 14.关于方法main()的说法哪个正确?( ) A. 方法main()只能放在公共类中 B. main()的头定义可以根据情况任意更改 C. 一个类中可以没有main()方法 D. 所有对象的创建都必须放在main()方法中 15.构造函数何时被调用? ( ) A、创建对象时 B、类定义时 C、使用对象的方法时 D、使用对象的属性时 16.抽象方法: ( ) A、可以有方法体 B、可以出现在非抽象类中 C、是没有方法体的方法 D、抽象类中的方法都是抽象方法 17.关于继承的说法正确的是: ( ) A、子类将继承父类所有的属性和方法。 B、子类将继承父类的非私有属性和方法。 C、子类只继承父类public方法和属性 D、子类只继承父类的方法,而不继承属性 18.关于构造函数的说法哪个正确? ( ) A、一个类只能有一个构造函数 B、一个类可以有多个不同名的构造函数 C、构造函数与类同名 D、构造函数必须自己定义,不能使用父类的构造函数 19.关于super的说法正确的是: A、是指当前对象的内存地址 B、是指当前对象的父类对象的内存地址 C、是指当前对象的父类 D、可以用在main()方法中 20.覆盖与重载的关系是 ( ) A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 B.覆盖方法可以不同名,而重载方法必须同名 C.final修饰的方法可以被覆盖,但不能被重载 D.覆盖与重载是同一回事 21.下列关于finally的说法正确的是? ( ) A.无论程序是否找到合适的例外控制器,都会去执行finally语句 B.finally语句应该放在所有例外控制器的最前面 C.如果程序在前面的例外控制器中匹配到了合适例外,就不再执行finally语句 D.如果程序在前面的例外控制器中匹配到了多个合适的例外,就不再执行finally语句 22. 对于已经被定义过可能抛出例外的语句,在编程时: ( ) A、必须使用try/catch语句处理例外,或用throws将其抛出 B.如果程序错误,必须使用 try/catch语句处理例外 C.可以置之不理 D.只能使用try/catch语句处理 23.下列哪个关键字用于实现接口 ( ) A.implements B.implement C. import D. imports 24.字符流与字节流的区别在于 ( ) A.前者带有缓冲,后者没有 B.前者是块读写,后者是字节读写 C. 二者没有区别,可以互换使用 D. 每次读写的字节数不同 25.下列流中哪个不属于字符流 ( ) A.InputStreamReader B.BufferedReader C. FilterReader D. FileInputStream

一、选择题 (1)下列选项中不符合良好程序设计风格的是_____。

A)源程序要文档化 B)数据说明的次序要规范化 C)避免滥用goto语句 D)模块设计要保证高耦合、高内聚

(2)从工程管理角度,软件设计一般分为两步完成,它们是_____。 A)概要设计与详细设计 B)数据设计与接口设计 C)软件结构设计与数据设计 D)过程设计与数据设计

(3)下列选项中不属于软件生命周期开发阶段任务的是_____。 A)软件测试 B)概要设计 C)软件维护 D)详细设计

(4)对长度为N的线性表进行顺序查找,在最坏的情况下所需要的比较次数为 ( ) (A)log2n (B)n/2 (C)n (D)n+1

(5)下列对于线性表的描述中正确的是 ( ) (A)存储空间不一定是连续,且各元素的存储顺序是任意的 (B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面 (C)存储空间必须连续,且各前件元素一定存储在后件元素的前面 (D)存储空间必须连续,且各元素的存储顺序是任意的

(6)下列对于软件测试的描述中正确的是 ( ) (A)软件测试的目的是证明程序是否正确 (B)软件测试的目的是使程序运行结果正确 (C)软件测试的目的是尽可能地多发现程序中的错误 (D)软件测试的目的是使程序符合结构化原则

(7)下列叙述中正确的是_____。 A)一个算法的空间复杂度大,则其时间复杂度也必定大 B)一个算法的空间复杂度大,则其时间复杂度必定不 C)一个算法的时间复杂度大,则其空间复杂度必定小 D)上述三种说法都不对

(8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为_____。 A)63 B)64 C)6 D)7

(9)数据库技术的根本目标是要解决数据的_____。 A)存储问题 B)共享问题 C)安全问题 D)保护问题 (10)用树形结构表示实体之间联系的模型是 ( ) (A)关系模型 (B)网状模型 (C)层次模型 (D)以上三个都是

(11)进行Java程序需要的工具软件所在的目录是_____。 A)JDK的bin目录 B)JDK的demo目录 C)JDK的lib目录 D)JDKR的jre目录

(12)下列关于JAVA语言特点的叙述中,错误的是_____。 A)Java是面向过程的编程语言 B)Java支持分布式计算 C)Java是跨平台的编程语言 D)Java支持多线程

(13)Java的核心包中,提供编程应用的基本类的包是_____。 A)Java.Jang B)Java.util C)Java.applet D)Java.rmi

(14)下列关于Java对import语句规定的叙述中,错误的是_____。 A)在Java程序中import语句可以有多个 B)在Java程序中import语句可以没有 C)在Java程序中import语句必须有一个 D)在Java程序中import语句必须引入在所有类定义之前

(15)在编译Java程序时,用于指定生成class文件位置的选项是_____。 A)-g B)-d C)-verbose D)-nowarn

(16)阅读下面程序 import java.io.*; public class TypeTransition{ public static void main(String args[]){ char a = ‘h’; int i=100; int j=97; int aa=a+i; System.out.println(“aa=”+aa); Char bb=(char)j; System.out.println(“bb=”+bb); } } 如果输出结果的第二行为bb=a,那么第一行的输出是_____。 A)aa=1 B)aa=204 C)aa=v D)aa=156

(17)阅读下面程序 public class OperatorsAndExpressions{ void equalsMethodl(){ String s1=new String(“how are you”) String s2=new String(“how are you”) System.out.println(s1=s2)