1、1目 录第一章 Java 语言概论 第五章 异常处理 第九章 输入与输出流第二章 Java 语言基础 第六章 图形与用户界面技术 第十章 网络通讯与编程 第三章 面向对象程序设计 第七章 多线程 第十一章 Java 语言的数据库访问技术第四章 Java 小应用程序 第八章 多媒体编程 第一章 JAVA 语言概论一、选择题1. 下列不属于 java 语言鲁棒性特点的是:A. java 能检查程序在变异和运行时的错误B. java 能运行虚拟机实现跨平台C. java 自己操纵内存减少了内存出错的可能性D. java 还实现了真数组,避免了覆盖数据的可能2. java 语言的执行模式是:A. 全编
2、译型B. 全解释型C. 半编译和半解释型D. 同脚本语言的解释模式3. 下列关于虚拟机说法错误的是:A. 虚拟机可以用软件实现B. 虚拟机部可以用硬件实现C. 字节码是虚拟机的机器码D. 虚拟机把代码程序与各操作系统和硬件分开4. java 语言是1995年由()公司发布的2A. SunB. MicrosoftC. BorlandD. Fox Software5. 下列不是虚拟机执行过程特点的是A. 双线程B. 多线程C. 动态链接D. 异常处理6. java 以 JVM 为基础,最下层是移植接口,由适配器和()组成A. 网卡B. Java osC. Java 基本类D. Java 应用程序和
3、 applet 小程序7. java 程序的执行过程中用到一套 JDK 工具,其中 javac.exe 指A. java 语言编译器B. java 字节码解释器C. java 文档生成器D. java 类分解器8. java 的 API 结构中,不属于类库主要包括的核心包的是A. java 包B. javaxC. javadoc 包D. org 扩展包39. 每个 java 的编译单元可包含多个类或界面,但是每个编译单元最多只能有()类或者界面是公共的A. 一个B. 两个C. 四个D. 任意多个10. 在当前的 java 实现中,每个编译单元就是一个以()为后缀的文件A. javaB. cla
4、ssC. docD. exe二、填空题1. 1991年,SUN 公司的 Jame Gosling 和 Bill Joe 等人,为电视、控制烤面包机等家用电器的交互操作开发了一个_软件,它是 java 的前身。2. java 是一个网络编程语言,简单易学,利用了_的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。3. java 可以跨平台的原因是_4. JVM 的执行过程有三个特点:多线程,_,异常处理;5. JAVA 程序的安全性体现在多个层次上,在_,有语法检查;在解释层上,有字节码校验器、测试代码段格式和规则检查,访问权限和类型转换和法性检查,操作数堆栈的上溢或下溢,代
5、码参数类型合法性等;在平台层上,通过配置策略,可设定访问资源域,而无需区分本地或远程。6. JAVA 的产品主流操作系统平台是 Solaris、_和 Macintosh.7. JAVA 系统运行时,通过_机制周期性的释放无用对象所使用的内存,完成对象的清除。8. 在 JAVA 语言中,将后缀名为_的源代码文件编译后形成后缀名为.class 的字节码文件。9. JAVA 语言的执行模式是半编译和_。10. JAVA 类库具有_的特点,保证了软件的可移植性。11. 在编写执行 JAVA 程序的过程中需要用到一些工具,SUN 公司为我们提供了一套 JDK 工具,它主4要包括:javac.exe、ja
6、va.exe、_、javap.exe、jkb.exe12. JAVA 程序包括源代码(.java 文件)、_、由归档工具 jar 生成的.jar 文件、对象状态序列化.ser 文件。13. 在 JAVA 语言中,为将源代码翻译成_文件时产生的错误称为编译错误。而将程序在运行中产生的错误称为运行错误。14. Java Application 应用程序的编写和执行分3步进行:编写源代码、编译源代码、_。15. 每个 java 应用程序可以包括许多方法,但必须有且只能有一个_方法。16. JAVA 源文件中最多只能有一个_类,其它类的个数不限。17. JAVA 的体系结构中,最下层是移植接口,上面一
7、层是虚拟机,虚拟机的上层是_和基本API,它们都是具有可扩展性。18. 类库主要包括核心 JAVA 包、_和 org 扩展包。19. JAVA 解释器采用生成与体系结构无关的_指令的技术,只需安装 JAVA 运行系统,就可保证JAVA 程序可以在网络的任何地方运行。20. JAVA 的体系结构中,最下层是_,由适配器和 JAVA OS 组成,保证 JAVA 体系结构可以跨平台。第二章 Java 语言基础一 选择题1. 下列 java 标识符,错误的是()_sys_varl$changeUser_name1_file下列不属于简单数据类型的是()整数类型类符点数类型5布尔类型下列属于 JAVA
8、关键词的是()TRUEgotofloatNULL下列声明和赋值语句错误的是double w=3.1415;String strl=”bye”;float z=6.74567boolean truth=true;java 中,八进制数以_开头。0x00X08自定义类型转换是由按优先关系从低级数据转换为高级数据,优先次序为()char-int-long-float-doubleint-long-float-double-charlong-float-int-double-char以上都不对在 java 中,Integer.MAX_VALUE 表示浮点类型最大值整数类型最大值6长整型最大值以上说法都
9、不对JAVA 中,数据类型值中不可能出现的符号是()dfe/下列表示单引号的是()10. 下列语句片断中,four 得值为:()int three=3;char one=1char four=(char)(three+one);3131411. 下列不属于整型变量的类型是byteshortfloat7long12. int 类型整型变量在内存中的位数为816326413. 下列数据类型转换,必须进行强制类型转换的是byteintshortlongfloatdoubleintchar14. java 中,用()关键字定义常量final#definefloatconst15. 关于变量的作用范围,
10、下列说法错误的是异常处理参数作用域为整个类局部变量作用于声明该变量的方法代码段类变量作用于声明该变量的类方法参数作用于传递到方法内代码段16. 下列属于条件运算符的是+?:8int b;int c;if(a50)b=9;c=b+a;10019编译出错18. 下列程序片断的执行,说法正确的是public class test9public static void main(String args)byte b=100;int i=b;int a=2000;b=a;System.out.println(b);b 的值为100b 的值为2000第六行出错第八行出错19. 00101010(if (n
11、um20)12return num;num=30;102030编译出错三元条件运算符 ex1?ex2:ex3,相当于下面()语句。if(ex1) ex2;else ex3;if(ex2) ex1;else ex3;if(ex1) ex3;else ex2;if(ex3) ex2;else ex1;java 用()来实现 goto 语句所特有的一些功能。breakdefaultcontinuereturn一个循环一般应包括哪几部分内容初始化部分循环体部分迭代部分和终止部分以上都是34. 关于 while 和 do-while 循环,下列说法正确的是两种循环除了格式不通外,功能完全相同13与 do
12、-while 语句不通的是,while 语句的循环至少执行一次do-while 语句首先计算终止条件,当条件满足时,才去执行循环体中的语句以上都不对。35. 下列程序输出结果为:public class testpublic static void main(String args)int a=0;outer: for(int i=0;ii)continue outer;a+;System.out.println(a);01423436.下列数组定义及赋值,错误的是A. int intArray;B. intArray=new int3;intArray1=1;intArray2=2;intA
13、rray3=3;C. int a=1,2,3,4,5;D. int=new int2;a0=new int3;a1=new int3;37.在 java 中,字符串由 java.lang.String 和()定义E. java.lang.StringCharF. java.lang.StringBufferG. java.io.StringCharH. java.io.StringBuffer二、填空题1. 在 java 语言中,boolean 型常量只有 true 和_两个值。2. 标识符是以_、下划线、美元符号作为首字母的字符串序列。3. 下面的语句是声明一个变量并赋值:boolean b
14、1=5!=8;b1的值是_。154. 在 java 程序中,用关键字_修饰的常量对象创建后就不能再修改了。5. 数据类型包括简单数据类型和复合数据类型。复合数据类型又包括类、数组、_。6. 八进制整数012表示十进制的_。7. 浮点型数据属于实型数据,分为 float 和_两种类型。8. 类变量在类中声明,而不是在类的某个方法中声明,它的作用域是_.9. java 语言中的各种数据类型之间提供自动转换,如第1操作数是 byte 类型,第2操作数是 float类型,其结果是_类型。10. 在 java 语言中,如果数值后没有字母,计算机默认值为_类型。11. 下面程序分别用 while、do-w
15、hile 和 for 语句实现110累计求和。请在横线处填入适当内容完成程序。Public class Sumpublic static void main(String args)System.out.println(“n*while 循环*”);int n=10,sum=0;while(_)sum+=n;n-;System.out.println(“sum is”+sum);System.out.println(“n*do_while 循环*”);n=0;sum=0;16dosum+=n;n+;while(_);System.out.println(“sum is”+sum);System
16、.out.println(“n*for 循环*”);sum=0;for(int I=1;_i+)sum+=ISystem.out.println(“sum is”+sum);定义 double 型数组double d1=1.2,2.3,3.4,4.5,5.6则 d12=_数组是有序数据的集合,数组中的每个元素具有相同的_14.下列程序输出结果为_public class testpublic static void main(String args)17String s=”I am a string!”;Int n=s.length();Char c=s.charAt(7);System.ou
17、t.println(n);System.out.println(c);第三章 面向对象程序设计一、选择题2. 下列不属于面向对象编程的三个特征的是A. 封装B. 指针操作C. 多态性D. 继承3. 类所实现的接口以及修饰不可以是A. publicB. abstractC. finalD. void4. 下列类的定义,错误的是A. public class test extends Object18B. final class operatorsC. class PointD. void class Point5. 关键字 supper 的作用是A. 用来访问父类被隐藏的成员变量B. 用来调用父
18、类中被重载的方法C. 用来调用父类的构造函数D. 以上都是6. 下面程序定义了一个类,关于该类说法正确的是abstract class abstractClassA. 该类能调用 new abstractClass(),方法实例化为一个对象B. 该类不能被继承C. 该类的方法都不能被重载D. 以上说法都不对7. 关于对象的删除,下列说法正确的是A. 必须由程序员完成对象的清除19B. java 把没有引用的对象作为垃圾收集起来并释放C. 只有当程序中调用 System.gc()方法时才能进行垃圾收集D. java 中的对象都很小,一般不进行删除操作。8. 下列说法正确的是A. java 中包的
19、主要作用是实现跨平台功能B. package 语句只能放在 import 语句后面C. 包(package)由一组类(class)和界面(interface)组成D. 可以用#include 关键词来标明来自其它包中的类;9. 关于构造方法,下列说法错误的是A. 构造方法不可以进行方法重写B. 构造方法用来初始化该类的一个新的对象C. 构造方法具有和类名相同的名称D. 构造方法不返回任何数据类型10. 请将程序补充完整1._ class C2.3. abstract void callme()4. void metoo5. 6. System.out.println(“类 C 的 metoo(
20、)方法”);7. 8. 9. class D_C10. 2011. void callme()12. 13. System.out.println(“重载 C 类的 callme()方法”);14. 15. 16. public class Abstract17. 18. public static void main(String args)19. 20. C c=_D();21. c.callme();22. c.metoo();23. 24. 二、填空题1. 把对象实例化可以生成多个对象,使用_运算符为对象分配内存空间。2. java 程序引入接口的概念,是为了弥补只允许类的_的缺憾。3
21、. java 语言以_为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。4. 抽象方法只能存在于抽象类中。抽象方法用关键字_来修饰。5. java 语言中_是所有类的根.6. 在 java 中有一种叫做_特殊方法,在程序中用它来对类成员进行初始化.7. new 是_对象的操作符.8. 继承主要强调子类在父类的基础上取”长”补”短”,而_主要强调的是类与类之间的传输219. 我们在 java 程序中,把关键字_加到方法名称的前面,来实现子类调用父类的方法10. 定义一个类包括定义类头和定义_两个部分11. 在 java 程序里,同一类中重载的多个方法具有相同的方法名和_的参数列
22、表.重载的方法可以有不同的返回值类型12. java 是面向对象语言,对象是客观事物的_,对象与之是一一对应的,它是很具体的概念.13. java 语言通过接口支持_继承,使类继承具有更灵活的扩展性14. 一个对象的生命周期包含三个阶段:生成, _ 和清除15. java 语言中,调用方法时,参数传递是_调用,而不是地址调用16. 接口是一种只含有抽象方法或_的一种特殊抽象类17. 创建一个类就是创建一个新的数据类型,而类在 java 中属于_数据类型。18. abstract 方法_(不能或能)与 final 并列修饰同一个类19. 如果一个类中定义了几个名为 method 的方法,这些方法
23、的参数都是整数,则这些方法的_必须是不同的,这种现象称为方法的重载。第四章 Java 小应用程序选择题关于 Applet 运行过程,下列说法错误的是()浏览器家在指定 URL 中的 HTML 文件浏览器加密 HTML 文件浏览器加载 HTML 文件中指定的 Applet 类浏览器中的 java 运行环境运行该 AppletApplet 的生命周期是指()Applet 下载到浏览器,到用户连接到下一个页面的过程()用户一次提交或刷新页面的全过程Applet 下载到浏览器,到用户退出浏览器的过程打开浏览器到关闭计算机的全过程22Applet 是一个面板容器,它默认使用()布局管理器BorderFl
24、owGridCard与 Applet 生命周期有关的主要方法是()init()start()stop()以上都是关于 Applet 和 Application,下列说法错误的是()Applet 自身不能运行Applet 可以嵌在 Application 中运行Application 以 main()方法为入口Applet 可嵌在浏览器中运行在 Applet 中画图、画图像、显示字符串用到的方法是()paint()init()stop()draw()Graphics 类中提供的绘图方法分为两类:一类是绘制图形,另一类是绘制()屏幕文本颜色23图像下列不属于 Applet 编写步骤的是()引入需要
25、的包和类定义一个 Applet 类的子类实现 Applet 类的某些方法加密 Applet 程序要在一个单一的类文件中创建既可以用作 Java Applet,又可以用作 Java 应用程序的 Java 软件代码。下面说法错误的是()作为 Application 要定义 main()方法,并且把 main()方法所在的类定义为一个 public 类为使该程序成为一个 Applet,main()方法所在的这个 public 类必须继承 Applet 类或者 Lapplet 类在该类中可以像普通 Applet 类一样重写 Applet 类的 init(),start(),paint()等方法转换后的
26、程序只能在浏览器中加载执行,而不能在 Appletviewer 中执行。关于 Applet 和 Application,下列说法错误的是()是 java 的两种应用程序形式Applet 可以用 Appletviewer 或者浏览器加载执行Applet 不能利用 java 解释器从命令行启动运行Applet 和 Application 程序入口不一样填空题java 程序可以分为 Application 和 Applet 两大类,能在 WWW 浏览器上运行的是_。java Applet 应用程序的编写和执行共分为4步进行:编写源代码、编写 HTML 文件调用该小程序、_、解释执行。Applet 生
27、命周期中的关键方法包括:_start()、stop()、destroy()。每个 Applet 必须定义为_的子类。一个 Applet 标记中,必须出现的属性项有_WIDTH、HEIGHT。_是 java 的一类特殊应用程序,它嵌入 HTML 中,随主页发布到互联网上,它在网络上的传24输不受计算机 CPU 和环境控制。java 有2类应用程序,它嵌入 java application 和_java 体系结构中,最上面一层是_和 Applet 小程序。传递给实现了 java.awt.event.MouseMotionListener 接口的类中 mouseDragged()方法的事件对象是_。
28、当用户在 TextField 中输入一行文字后,按回车,实现_接口可以实现对时间的响应。编写同时具有 Applet 与 Application 的特征的程序。具体的实现方法:作为 Application 要定义main()方法,并且把 main()方法所在的类定义一个_类。为使该程序成为一个 Applet,main()方法所在的这个类必须继承 Applet 类或者 Japplet 类应用程序一定要 main()方法,小程序一定要继承自_类。Applet 生命周期是指从 Applet 下载到_,到用户退出浏览器,中止 Applet 运行的结果。paint()方法带有一个参数,它是 java.aw
29、t._类的一个实例。这个参数总是建立该 Applet 的panel 的图形上下文。能用这个上下文在 Applet 中绘图或写入文本。Applet 程序既可以用_或浏览器加载执行,也可以用 java 解释器从命令行启动执行。下面的 Applet 获得了相对于 getDocumentBase 方法返回的目录路径为 graph/java.gif 的图像文件,并将它显示在 appletviewer 中。请在横线处填入适当的内容完成该程序。import java.awt.*;import java._;public class HwImage_AppletImage dusk;public void i
30、nit()dusk=getImage(getDocumentBase(),”graph/java.gif”);25public void paint(Graphics g)g._(duke,25,25,this);第五章 异常处理一、选择题java 中用来抛出异常的关键字是trycatchthrowfinally关于异常,下列说法正确的是异常是一种对象一旦程序运行,异常将被创建为了保证程序运行速度,要尽量避免异常控制以上说法都不对()类是所有异常类的父类。ThrowableErrorExceptionAWTErrorjava 语言中,下列哪一子句是异常处理的出口try子句26catch子句fi
31、nally子句以上说法都不对下列程序的执行,说法错误的是class MultiCatchpublic static void main(String args)tryint a=args.length;int b=42/a;int c=1;c42=99;System.out.println(“b=”+b);catch(ArithmeticException e)System.out.println(“除0异常:”+e);catch(ArrayIndexOutOfBoundsException e)System.out.println(“数组超越边界异常:”+e);27程序将输出第15行的异常信
32、息程序第10行出错程序将输出“b=42”程序将输出第19行的异常信息下列程序的执行,说法正确的是class ExMultistatic void procedure()tryint c=1;c42=99;catch(ArrayIndexOutOfBoundsException e)System.out.println(“数组超越界限异常:”+e);public static void main(String args)try28procedure();int a=args.length;int b=42/a;System.out.println(“b=”+b);catch(Arithmetic
33、Exception e)System.out.println(“除0异常:”+e);程序只输出第12行的异常信息程序只输出第26行的异常信息程序将不输出异常信息程序将输出第12行和第26行的异常信息下面程序抛出了一个“异常”并捕捉它。请在横线处填入适当内容完成程序。class TrowsDemostatic void procedure() throws IllegalAccessExceptonSystem.out.println(“inside procedure”);throw_IllegalAccessException(“demo”);29public static void mai
34、n(String args)tryprocedure();_System.out.println(“捕获:”+e);二、填空题catch 子句都带一个参数,该参数是某个异常的类及其变量名,catch 用该参数去与_对象的类进行匹配。java 虚拟机能自动处理_异常。变量属性是描述变量的作用域,按作用域分类,变量有局部变量、类变量、方法参数和_同一段程序可能产生不止一种异常。可以放置多个_子句,其中每一种异常类型都将被检查,第一个与之匹配的就会被执行。捕获异常要求在程序的方法中预先声明,在调用方法时用 try-catch-_语句捕获并处理。java 语言认为那些可预料和不可预料的出错称为_按异常
35、处理不同可以分为运行异常、捕获异常、声明异常和_几种。抛出异常的程序代码可以是_或者是 JDK 中的某个类,还可以是 JVN.抛出异常、生成异常对象都可以通过_语句实现。捕获异常的统一出口通过_语句实现。java 语言的类库中提供了一个_类,所有的异常都必须是它的实例或它子类的实例。30Throwable 类有两个子类:_类和 Exception 类。对程序语言而言,一般有编译错误和_错误两类。下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。请在横线处填入适当的内容完成程序。public class HelloWorldint i=0;String greetings=“Hello world!”,“No,I mean it!”,“HELLO WORLD!”;while(i4)_System.out.println(greetingi);_(ArrayIndexOutOfBoundsException e)System.out.println(“Re-setting Index Value”);i=-1;finally