
java题库整理含答案.pdf
71页第六章异常处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2一、选择题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2二、填空题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6三、判断题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8第七章输入/ 输出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8一、选择题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8二、填空题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15三、判断题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18四、读程序题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20五、编程题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26第 八 章 基 于 Sw ing的图形化用户界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28一、选择题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28二、填空题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37三、判断题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39四、程序填空. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40第十章多线程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55一、填空题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55三、判断题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66第十二章 JDBC技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67一、选择题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67二、填空题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68三、判断题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69四、程序填空. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69第六章异常处理一、选择题1、无论是否发生异常,都需要执行()A、 try语句块 B、catch语句块 C、 finally语句块 D、 return语句答案:c异常处理变量(应用public关键字可以应用private关键字可以应用protected关键字只能在异常处理方法内使用。
答案:d3、通常的异常类是(A、Exception答案:aexceptionC、CommonException D^ ExceptionShare4、异常产生的原因很多,常见的有( )A、程序设计本身的错误 B、程序运行环境改变 C、软、硬件设置错误 D、以上都是答案:a5、下列什么是除 异 常 ()A、RuntimeExceptionC、ArihmetticException答案:cB、ClassCastExceptionD、ArraylndexOutOfBoundException6、读下面代码,哪个选项是正确的(import java.io.*;public class Test2{public static void main(String []args)throws IOException{if(args[0]==''hello")throw new IOException();)A、没有错误,程序编译正确B、编译错误,不能够在main方法中抛出异常C、编译错误,lOException是- 一 个系统异常,不能够由application程序产生D、没有输出结果答案:a7、当变异并且运行下面程序时会出现什么结果? (public class ThrowsDemo{static void throwMethod() {System.out.print("Inside throwMethod");throw new lOExceptionC'demo'1);public static void main(String [] args){try(throwMethod();}catch(IOException e){System.out.println("Cauht"+e);)A、编译错误B、运 行 错 误 C、编译成功,但不会打印出任何结果 D、没有输出结果答案:A8、执行下面程序的结果是什么?其中a=4, b=0 ( )public static void divide(int a,int b){try{ int c = a / b; }catch(Exception e){System.out.println(nExceptionn);}finally{System.out.println("Finally");} )A、打印 Exception finallyC、打印 ExceptionB、打印 FinallyD、没有输出结果答案:A9、假定一个方法会产生非RuntimeException异常,如果希望把异常交给调用该方法的方法处理,正确的声明方式是什么?( )A、throw ExceptionC、new ExceptionB、throws ExceptionD、不需要指明什么答案:B10、阅读下面的代码段、try(tryThis();return;}catch(lOException xl){System.out.printlnC'exception 1 ”);Return;}catch(Exception x2){System.out.printlnC'exception 1Return;)finally {System.out.println("finally''))如果tryThis ( ) 抛出一个lOException,那么屏幕的输出是什么? ( )A^ "exception 1”后面是艮着"finally" B、" exception 2”后面品艮着"finally”C、"exception 1" D、"exception 2””答案:A11、下列哪些内容不是异常的含义? ( )A、 程序的语法错 B、 程序编译或运行中所发生的异常事件C、 程序预先定义好的异常事件 D、 程序编译错误答案:A12、 自定义的异常类可从下列哪个类继承? ( )A、 Error 类 B> AWTError C、 VirtualMachineError D、Exception 及其子集答案:D13、 当方法遇到异常又不知如何处理时,下列哪种做法是正确的? ( )A、 捕获异常 B、 抛出异常 C、 声明异常 D、 嵌套异常答案:B14、 如要抛出异常,应用下列哪种子句? ( )A、 catch B> throw C、 try D、 finally答案:B15、下列选项中属于Exception异常的是( )A、ArithmeticException B、nullPointerExceptionC、classcastException D、以上都是答案:A16、以下是异常的处理,哪个选项是正确的( )A、book()throws exceptionC、book()throws答案:A17、将需要处理异常作为(A> try B、 catch答案:BB、book( int a) exceptionD、book( ) throw exception)语句块的一个参数来进行声明C、 finally D、 以上都不对18、try语句块可以()A、 拥有惟一的一" 个catch语句块 B、 多个finally语句块C、 一个或多个catch语句块 D、 以上答案都不对答案:C19、下列什么是所有Exception和 Error类的共同超类( )A、Throwable B、CheckedException C、 Catchable D、RuntimeException答案:A20、假定一个方法可能会产生非RuntimeException异常, 如果希望把异常交给调用该方法的方法处理,正确的声明方式是( )A、throws Exception B、throw Exception C、new Exception D、不需要指明什么答案:A21、 try 代码块中包含的是可能引起一个或多个异常代码, 能够抛出异常的代码必须位于( )代码块中。
A、 catch B、 finally C , try D 、 B 和 C答案:C22、 当应用程序检测到异常时,会 调 用 ( )A、异常代码 B、异常处理器 C、异常处理程序 D、以上答案都不是答案:C23、调用方法 Integer.parselnt( “123.45'’) ;将 抛 出 ( )A、 N umberFormatException B、 ParsingExceptionC、 ArithmeticException D、 以上答案都不对答案:A24、try语句块中未产生异常,应用程序会忽略相应( )A 、 finally 语句块 B、 return 语句 C、 catch 语句块 D、 A 和 C答案:C25、执行语句过程中对异常的处理被称为异常( )A 、检测 B 、 处理 C 、解决 D、 调试答案:B26、在下列什么之后总有至少一个catch语句块或一个可以选用的finally语句块( )A、 if语句 B、 throws语句块 C、 try语句块 D、 以上答案都不对答案:C27、如果try语句块中没有抛出异常,则 ( )A、 跳过所有catch语句块 B 、执行所有catch语句块C、 产生一个错误 D 、抛出默认的异常答案:a28、 下列什么类及其子类所表示的异常通常不需要捕获( )A、 NumberFormatExceptionC、 ErrorB、 ExceptionD、 RuntimeException答案:c29、在 oneMethod。
方法运行正常的情况下将显示什么? ( )public void test() {try { oneMethod();System.out.println(ncondition 1");) catch (AiTaylndexOutOfBoundsException e) {System.out.printlnC'condition 2");} catch(Exception e) {System.out.println(ncondition 3");} finally {System.out.println("finallyM);))Which will display if oneMethod run normally?A、condition 1 B、 condition 2 C、 condition 3 D^ condition 1 finally答案:d30、给出下面代码、public class test{static int a[] = new a[10];public static void main(String args[]) {System.out.println(arr[ 10]);那个选项是正确的?( )A、 编译时将产生错误; B、 编译时正确,运行时将产生错误;C、 输出零; D、 输出空。
答案:a31、下列那些内容是异常的含义( )A、 程序的语法错误 B、 程序的编译错误C、 程序执行过程的错误 D、 程序编译或运行所发生的异常事件答案:d二、填空题1、异常也称,是在_ _ _ _ _ _ 过程中发生的,会打断程序 的事件答案: 例 外 程 序 运 行 正 常 执 行2、抛出异常的关键字是答案:throws3、不论异常是否产生,语句总会执行答案:finally4、是公共的异常类,它适用于任何异常操作答案:Exception5、如果try语句块中未产生异常,应用程序会忽略相应 语句块答案:catch6、生成异常对象并把它们提交给运行时系统的过程称为 一个异常答案: 抛出7、运行系统把该异常对象交给这个方法进行处理,这个过程成为 一个异常答案:捕获8、如果想要在方法中处理异常,那么必须将可能产生异常的代码放在 代码块中一个方法可能包含 try代码块答案: try 多个9、异常处理代码位于紧跟在可能抛出异常的try代码块之后的 代码块中答案:catch10、一个try代码块能够包含 catch代码块,每个 块处理一种不同类型的异常答案:多个 catch11、不论try代码块的执行如何结束。
一个 代码块将总会在方法运行结束前被执行答案:finally12、用户自定义的异常类应该从 类派生答案:Exception13、catch子句都带一个参数, 该参数是某个异常的类及其变量名( 该异常对象的指针) , catch用该参数去与抛出异常对象的类进行答案:匹配14、 在 Java的异常处理机制中,使用 语句来捕获并处理异常.答案:try-catch-finally15、 throwable类是Java异常体系中的根类, 它有 类和 类答案: Error Excetion16、 throw 子句用来 异常,而 throws子句用来声明异常答案:抛出17、异常的处理分为 和«答案:异常抛出 异常捕获18、在一个程序里,当看到•个数组的下标大于这个数组的最大下标时,这时候是属于—异 常 答案: 数组下标越界19、 如果函数体里面存在throw语句, 而且函数体本身没有进行捕捉的话, 那么必须使用 在函数头里面添加对应的异常抛出语句,否则无法通过编译答案:throws20、 如果在finally代码块中返回一值,则这个返回值会—try代码块中执行的任何返回语句的值答案:覆盖21、自定义异常必须总是以 类作为超类,否则将不能定义异常答案:Exception三、判断题1、不能在finally块中执行return,continue等语句,否则会把异常“ 吃掉”( )F2、Try语句后面可以跟多个catch语 句 ( )T3、finally语句必须执行。
()T4^ throws 和 throw 功能一样 ( )F5、try语句后面必须跟catch语 句 ( )T6、try语句后面只能跟一个catch语 句 ()F7、当代码出现异常时,才执行try/catch/finally语句的finally部分代码( )F8、Try/catch语句不可以进行嵌套操作 ( )F9、异常的处理分为异常抛出和异常捕获异常抛出就是系统自动检测到特定位置出现的异常,从而可以进行实现编写好的异常处理程序异常捕获是指用户自己抛出特定的异常来出发异常处理程序,以槛车异常处理程序是否能正常工作 ( )T10、. 一个异常处理中finally语句块只能有一个或者可以没有 ()T1 1 异常抛出就是系统自动检测到特定位置出现的异常,从而可以执行事先编写好的异常处理程序 ()F1 2 在 Java处理机制中, try-catch-finally语句来捕获异常而用throws来 抛 出 异 常 ( T )13 Java系统在产生异常后, 从上到下依次对每个catch语句进行检测, 直到找到和抛出的异常对象想匹配的异常类型为止( )T1 4 利 用 try语句将可能抛出NumberFormatException异常的语句进行封装并使用catch语句块实现对NumberFormatException异 常 的 处 理 ( )T1 5 非运行时异常就是编译器编译的时候发现不了,只有在运行的时候才报错的异常;而运行时异常则是指编译的时候就能发现的异常( )f16 Exception由程序处理的异常,分为运行时异常和非运行时异常( )t17、程序中抛出异常时( throw …) ,只能抛出自己定义的异常对象。
)f第七章输入/ 输出一、选择题1、如要求读取文件中的中间一段内容,最方便的采用下列哪种流来操作? ( )A 、File stream B、 Piep stream C、 Random stream D 、Filter stream答案:C2、当检索一个压缩文件时,首先要建立压缩文件输入流对象该 对 象 ()A、 以选中的压缩文件为参数C 、以 InputStreamReader 为参数答案:B3、下列哪个是FileReader文件的创建方法(A、 FileReader(File file) B、 read()答案: A4、File类的mkdir方法的返回值的类型是A、 boolean B> ini C、答案: A5、FileReader类的ready方法的作用是(A、 读入一个字节C、 判断文件读入类是否到达文件尾答案: D6、RandomAccessFile 类 的 (A、readlnt B、readLIne答案:C7、FileReader 的父类是( )B 、以FilelnputStream对象为参数D、 以 B ufferedReader对象为参数)C、FileWreter(File file) D、 ready()( )String D、 Integer)B、 读入一行字节D、 测试当前流是否准备好读) 方法可用于设置文件定位指针在文件中的位置。
C、seek D、closeA、 B ufferedReader B、 LineReader C、 FilterReader D> Reader答案:D8、FilelnputStream 类的 skip(long n)方法的作用是( )A、 向上跳过流文件的n 长度数据 B、 跳过流文件的全部数据C、 向上跳过流文件的全部数据 D、 跳过流文件的n 长度数据答案:D9、File类的delete方法的返回值的类型是( )A、 boolean答案:AB、 intC、 StringD、 Integer10、FileWriter 类的 write(int c)方法的作用是( )A、写入一个字符 B、写入一个字符串C、写入一个整形数据 D、写出一个字符串答案:A11 > RandomAccessFile 类 的 () 方法可用于从指定流上读取字符串A、readlnt答案:BB、readLIneC^ seek D、close12^ RandomAccessFile 类 的 () 方法可用于从指定流. 匕读取整数A、readlntB、readLIneC、seek D、close答案:A13、以下哪个类没有实现FilterInputStream.( )A、BufferedlnputStream B、LineNumberlnputStreamC、BufferedOutputStream D、DatalnputStream答案:c14、文本文件读入类的创建方法是( )A、new BufferedReader(File) C、new FileOutputStream(File)C、FilelnputStream(File) D> new FileReader(File)答案:D15、File 类的 public boolean delete。
方法的作用是( ) A、 从文件系统内删除该文件 B、程序顺利结束时从系统中删除文件C、 判断文件是否存在 D、当文件不存在时创建文件答案:A16、File 类的 public String toSlring()方法有什么作用 ( )A、 将文件设置为只读 B、将文件对象的路径转换为字符串返回C、 返回文件和目录清单 ( 字 符 串 对 象 )D、判断该File对象所对应的是否是文件答案:B17、下面是从文件读取对象的代码,请将代码补充完整 ( )File theFile = new File("MyFile”)//Perhaps check out the file…//Create the object output stream for the fileObjectInputStream objectin = null;try{objectin =new O b j e c t I n p u t S t r e a m ( n e w (theFile));}catch(IOException e ){e.printStackTrace(System.err);System.exit(l);}A、 FileOutputStream B、DatalnputStream C、 DataOutputStream D、FilelnputStream答案:D18、 File类中以字符串形式返回文件名称的方法是( ) 。
A、 public String getPath()B、public String getParent()C、 public String getName()答案:C19、下列不是InputStream子类的是(D、public boolea isFile())A、 FilelnputStream B、 ObjectlnputStream C、 CharlnputStream D、 ZipInputStream答案:c20、在读字符文件Post.dat时,使用该文件作为参数的类()A> BufferedReader B、 DatalnputStream C、 DataOutputStream D> FilelnputStream答案:A21、以下哪个是文本文件读入类( )A、 FileReaderB、 FileWriterC> BufferReaderD、 BufferWriter答案:A2 2 > 以下哪个是FileOutputStream创建语法( )A、 close() B、 FileOutputStream(File file) C> FileInputStream(File file) D、 write(int b)答案:B23、文本文件读入类的创建方法是( )A、 new BufferedReader(File) C、new FileOutputStream(File)C、 FilelnputStream(File) D^ new FileReader(File)答案:D24、下列哪种流类的close方法不可用于关闭文件() oA、FileOutStream答案:DB、FilelnputStreamC、RandomAccessFileD、FileWrite25、下面哪个不是属于读取和写入已存在的文件的方式。
( )A、 顺序存取 B、 随机存取 C、 直接存取 D、间接存取答案:D26、File 类的 public File口 listFiles 方法有什么作用( )A、返回文件和目录清单 ( File对象)B、返回文件和目录清单 ( 字符串对象)C、在当前目录下生成指定的目录D、判断该File对象所对应的是否是文件答案:A27、JAVA程序是通过什么来完成输入输出的( )A、 流 B、 类 C、 main方法 D、 键盘接收答案:A28、计算机中的流是( )A、 流动的字节 B、 流动的对象 C、 流动的文件 D、 流动的数据缓冲区答案:D29、当输入一个字节流时,要( )A、实现 Datalnput 接 口C、Serializable 接口B、实现 Objectinput 接 口D、继承Reader抽象类答案:A30、计算机处理的最小数据单元称为( )A、位 B 、字节 C、兆 D、文件答案:A31、 为读取的内容进行处理后再输出,需要使用下列哪种流?( )A、File stream B、Piep stream C、Random stream答案:D32、计算机处理的数据最终分解为( )组合D、Filter streamA、0 和 1 B 、数据包 C、字母 D、2答案:A33、FileReader 的父类是( )A、 BuffereReader B、 LineReader C 、FilterReader D 、Reader答案:D3 4 BufferedReader 的父类是( )A、 FileReader B、 Reader C、 PipedReader D、 InputStreamReader答案:B35、 ( )对象可显示一个供用户从磁盘中选择某个文件的对话框A 、JFileDialog JFileChooser C、JFileOption D、 JOptionPane答案:B36、用来检索文件或目录信息的类为( )A、 File B、 FileDirectory C、 Fileinformation D> Directoryinformationmation答案:A37、数据流可以分为两种,它 们 是 ( )A、 输入流 B、 输出流 C、 A 和 B答案:C38、Java流被分为字节流、字符流两大流类,两者都作为(D、 不知道)类的直接子类A、 ExceptionObjectC^ throwbleD、 以上都不是答案:B39、字节流继承于 InputStream 和 O utpulStream ,( )继承于 InputStreamReader 和OutputStreamWriterA、 数据流 B、 字符流 C、 输入流 D、 输出流答案:B40、属于Java输入输出流的、且处理的是char类型的类是( )A、Reader 类 B、InputStream 类 C、OutputStream 类 D、File 类答案:A41 import java.io.*;public class Test2 {public static void main(String argsfDthrows Exception]int a=4;BufferedReader br=new BufferedReader(new InputStreamReader(System.in));System.out.println( " 请输入一个数字” ) ;String input=br.readLine();int b=lnteger.parselnt(input);if(b>a){int sum=b/a;System.out.println(sum);}else{System.out.println( “ 输入错误” );当输入的数字是8 时,那打印输出的结果是( )A、 4 B、 2 C、 6 D、 8答案:B42、以下那个是java.io包中一个兼有输入输出功能的类( )A. Object B. SerializableC. RandomAccessFile D. Java.io 中不存在这样的类答案:C43、在与FileWriter类结构结合使用时,什么类能够将字符串和数值写入一个文件( )A、 OutputFile B、StreamWriter C> PrintWriter D^ BuffereReader答案:C44、文件打开过程中所产生的异常类为( )A lOException B OpenException C FileException D InputOutputException答案:B45、为 16位 Unicode字符流提供读和写操作支持的类分别是( )A、FilelnputStream 类和 FileOutputStream 类InputStream 类和 OutputStream 类C、FileReader 类和 FileWriter 类D、File_Reader 类和 File_Writer 类答案:B46、在 JAVA中会经常使用Scanner类实现从控制台读取用户输入,下面的选项正确的是( )A、 Scanner in = new Scanner(System.in);int x = in.nextlnt()B、 Scanner in = Scanner(System.in);int x = in.getlnt()C、 Scanner in = new Scanner(System.in);int str = in.next()D^ Scanner in = new Scanner(System.in);int x = in.nextline()答案:B47、RandomAccessFile 类指针控制方法 public long getFilePointer()的作用是( )A 、 获取当前指针指向文件的位置。
B 、 将指针移动到参数指定的位置C 、 指针从当前位置向后移动n 个字节位置,并返回指针实际移动的字节数D 、 关闭输入输出流答案:A48、用来读取字符流的类是( )A、 InputSream B、 Outputstream C> Reader D、 Writers答案:C49、Writer 的 write( int ch) 的作用是( )A、 将相应于整型实参ch 的 2 个低位字节的字符写入B 、 写入字符串chC、 将字符数组ch 的内容写入D 、 这是一个抽象方法,从 ch开始将方法中的length个字符写入答案:A50、BufferedReader类的什么方法能够读取文件中的一行( )A、 readLine B、 read C、 line D 、 close答案:A51、BufferedReader类的什么方法可关闭已经打开并进行读取操作的•个文件( )A、 flush closeBufferedReader C、closeFile D 、 close答案:D52、以下那个是文本文件读入类( )A、 FileReader B、 FileWriter C、 BufferReader D^ BufferWriter答案:A53、ByteArrayOutputStream 的含义是(A、 从字节数组读取的输入流C 、 写文件的输出流B、 向字节数组写入的输出流D、 缓冲输出流答案:B54、当文件内无可读取的数据时,readLine方 法 ( )A、 返回0C、 返回null答案:CB、抛出 EndOfFileException 异常D、 以上答案都不对55、下列哪个包提供了用来实现文件处理的类及其方法( )A 、 java.io B、 java, files C、答案:Ajava.stream D、 以上答案都不对56、System.in 的作用是()A、C、控制台输入数据的读取磁盘文件的顺序读写B、 控制带输出的数据读取D、 对文件的随机访问答案:A57、以下哪个流类是字符流()A、 InputStreamC 、 WriterB 、 OutputStreamD 、 BufferdReader答案:c58、为打开一个用于读取的文件,需使用一个( )对象A、 InputFile B、 StreamReader C、 BufferedResder D、 FileReader答案:D59、File类的常用方法public booleaisFile。
的作用是 ( )A、判断该File对象所对应的是否是文件B、判断该File对象所对应的是否是目录C、 返回文件的最后修改时间D、 在当前目录下生成指定的目录答 案 : A二、填空题1、 目 录 操 作 的 类 是 ,所 在 的 类 包 是 .答案:File, java.io2、 目录的删除语法如下、File.deleteO,删除File类 的 目 录 或 者 , 返回值是 1如果要删除的目录 不能删除答案:文 件 boolean,不为空3、public boolean mkdir()的作用是根据当前对象的抽象路径生成一个 答案:目录4、public String口 list 的作用是列出路径下的文件名和 答案:目录名5 ^ 要向文件中写数据,需用FileOutputStream定义的 方法答 案 : write()6、文件输入/ 输出流采用了 读写, 有时需要有选择的读写文件, 例如读写一行或儿行类可实现这种操作,它能让你从文件的不同位置读写不同长度的数据答案:顺序 RandomAccessFile7、RamdonAccessFile所实现的接口是 和答案:Datalnput 接口和 DataOutPut 接 口8 InputStream类的public void close()方 法 作 用 是 关 闭,并释放流占用的系统资源。
答案:输入流9、DatalnputStream类和 类是从过滤流类继承过来,这两个流的对象均不能独立地实现数据的输入和输出处理,必须与其他输入流与输出流对象•起使用,才能实现不同类型数据的读写这两个类与 类 和 FileOutputStream类相配合可以完成对格式数据的读写答案:DataOutputStream FilelnputStream10、完成随机文件读写的类与Java中大部分的输入输出流类不同,没有针对输入、输出对应出现两个相应的类,它是由_ _ _ _ _ _ _ _ _ _ _直接继承而来的,仅使用一个 类来完成所以该类的对象既可以用于数据输入,也可以用于答案:java.lang.Object RandomAccessFile 数据输出11、 File类并没有指定信息怎样从文件读取或向文件存储, 而需要由像 与 等这些类来实现答案: FilelnputS tream FileOutStream12>DatalnputSlream 和 DataOutputStream 分别实现了 java.io 包中的 和 接口,能够读写Java基本数据类型的数据和Unicode编码格式的字符串。
答案:Datalnput DataOutput13、 System.in是 类的对象, 调用 方法就可以实现标准输入的读操作答案:InpulSlream System.in.read()14、JAVA中定义了 和 这两种类型的流答案: 字节流 字符流15、JAVA中,控制台输入山从 读取数据来完成答案:System.in16、从 BuffereReader读取字符,我们一般用 方法答案:read()17、文件操作分为两种,分别是 和 操作答案:文件文件操作流文件18、文 本 文 件 读 入 类 的 创 建 方 法 是答案:new FileReader(File)19、Java中的流类包含了 InputStream> 、Reader> 四类,前两者面向字节,称为;后两者面向,称为字符流答案:OutputStream、 Writers 字节流 字符20、 java.io包中提供了各种各样的输入输出流类,它们都是 的直接子类,每一个流类代表一种特定的 或答案:Object类 输 入 输 出21、FilelnputStream 和 FileOutputStream 直接从 和 继承而来答案:InputStream OutputStream22> DatalnputStream 和 DataOutputStream 分别实现了 java.io 包中的 和 接口,能够读写Java基本数据类型的数据和Unicode编码格式的字符串。
答案:Datalnput DataOutput23、Java系统事先定义的两个流对象分别与系统的标准输入和标准输出相连接这两个流对象分别是 和答案:System.in System.out24、流是输入/ 输出设备的一种 表示,这些设备是数据源头或是数据终点答案:抽象25、当向一个流中写入数据的时候,这个流就被称为答案:输出流26、目 录 操 作 的 类 是 ,所在的类包是 o答案:File java.io27、读 入 与 写 出 文 本 文 件 的 类 是 、, 所在类包是答案:FileReader FileWriter java.io28、逐 行 读 入 与 写 出 文 本 文 件 的 类 是 、,所在类包是答案:BufferReader BufferWriter java.io29、FileReader类 读 入 一 个 字 节 的 方 法 是 答案: read()30、字节流由 类和 类的子类来表示答案:InputSlream Outputstream31、读取和写入文件已存在的文件有两种不同的的方式,分别是 和,后一种方式也称为直接存取答案:顺序存取随机存取32、在 System类中有三个预先定义好的成员变量、,和。
答案:in out err33、 接口 和 提供了对对象直接读/ 写的一组方法, 类 ObjectlnputStream和 ObjectOutputStream分别实现了这两个接口答案:Objectinpul ObjectOutput34、System.in是 类的对象,调用 方法就可以实现标准输入的读操作答案:InputStream System.in.read()35、 System.out是 类的对象, PrintStream类是 类的子类,其中定义了可输出多种不同类型数据的方法print 利 println()方法答案:PrintStream FilterOutputStream3 6 作为Object类的直接子类,基本输入流(InputStream)和基本输出流(Outputstream)是处理以8 位字节为基本单位的字节流类,读写以 为单位进行;Reader和 Writer类是专门处理16位字符流的类,读写以 (Unicode)为单位进行答案: 字节 字符37、InputStream类 的 ublic void close() 方 法 作 用 是 关 闭 , 并释放流占用的系统资源。
答案:输入流38、DatalnputStream类和 类是从过滤流类继承过来,这两个流的对象均不能独立地实现数据的输入和输HI处理,必须与其他输入流与输出流对象•起使用,才能实现不同类型数据的读写这两个类与 类 和 FileOutputStream类相配合可以完成对格式数据的读写答案:39、完成随机文件读写的类与Java中大部分的输入输出流类不同,没有针对输入、输出对应出现两个相应的类,它是由_ _ _ _ _ _ _ _ _ _ _ _直接继承而来的,仅使用一个 类来完成0 所以该类的对象既可以用于数据输入,也可以用于答案:java.lang.Object RandomAccessFile 数据输出40、public int read() 、该方法从输入流的当前位置读取一个 的数据,并返回一个_ _ _ _ _ _ _ _ _ _ _ _型值,如果当前位置没有数据则返回-1该方法为abstract,由子类来具体实现答案: 字节 int41、 readlnt()方法读取一个 型数,writelnt(int v )方法 一个 int 型数 readUTF()和 writeUTF(String str)可以按UTF-8编 码 读 写 一 个 »答案:int 写 入 字 符 串三、判断题1、public boolean mkdir()的作用是根据当前对象的抽象路径生成一- 个目录。
()T2、File.delete 方法可以删除不为空的目录 ( ) F3、File.mkdirs 方法可以创建目录字符串包括的所有目录 ( )T4、BuffereReader.readLine()方法可以读入新行字符" \n " ( ) F7、publicString[]list()的作用是列出路径下的文件名和生成文件 ()F8、 File类中提供了两种种用来生成文件或者目录的构造方法, 分别是public File(String path)和 public File(String palh,String name) ( ) F9、FileOutputStream值得是文件输入流 ()F10、public String[]list()的作用是列出路径下的文件名和目录名 ()T11、目录的删除语法如File.delete(),删 除 File类的目录或者文件,返回值是boolean,且就算要删除的目录为空也能删除 ()F12、FileReader 类一般有 FileReader(Filefile)和 FileWriter(Filefile)两种创建语法 ( )F13、FileWriter(Filefile)语句的作用是根据File类创建文件读入类。
()F14、File类的delete方法的返回值的类型是String» ( ) F15、因为InputStream、OutputStream、ReaderW riter是基本输入输出流的抽象类,所以都能用于直接创建对象来完成输入输出操作( )F16、Inputstream类是个抽象类,作为字节输出流的直接或间接的父类,它定义了许多有用的所有子类必须的方法()F17、File类并没有指定信息怎样从文件读取或向文件存储,而需要由像FilelnputStream与FileOutStream等这些类来实现 ()T18、File类的常用方法public String toString()的作用是将文件对象的路径转换为字节返回)F19、Inputstream类是个抽象类,作为字节输入流的直接或间接的父类,它定义了许多有用的、所有子类必须的方法,包括读取、移动指针、标记、复位、关闭等方法 ()T20、 F ile类的常用方法public String toString()是将文件对象的路径转换为字符串返回)T21、RandomAccessFile类实现随机读写,且可以在文件的任意位置执行数据读写。
( ) T22、 类 InputStream类的void close 方法的作用是调用这个函数可以关闭流并且释放流的系统资源 ()T23、FileReader可以处理多个文件( )F24、程序员必须创建 System .in,System .out 和 System .err 对象 ()F25、BufferedReader可以读入字符串信息( )T26、FilelnputStream类可以读入流信息( )T27> FileOutputStream类可以写出流信息( )T28、流可以理解为信息以串的形式传播,这个串的单位可以是比特,也可以是字符( 实际上还是比特()T29、Java中,字符流不是字节流,它们之间有区别的 ()T30、FilelnputStream类的功能在于把文件以直接的形式从磁盘读取出来 ()T31、流式输入输出的特点是数据的获取和发送沿数据序列的顺序进行()T32、Java语言中提供了比较完善的处理输入输出数据的功能,实现这些I/O 操作的类和接口都在java.io包中 ()T33、因为InputStream、OutputStream, Readers Writer是基本输入输出流的抽象类,所以都能用于直接创建对象来完成输入输出操作( )F34. InputStream类是个抽象类,作为字节输出流的直接或间接的父类,它定义了许多有用的、所有子类必须的方法()F35、File类并没有指定信息怎样从文件读取或向文件存储,而需要由像FilelnputStream与FileOutStream等这些类来实现。
()T36、 由于 FilelnputStream 和 FileOutputStream 白: 接从 InputStream 和 OutputStream 继承而来,并没有对其功能扩充,因此所有的读写操作只能以字节为单位对二进制数据进行处理T37、DatalnputStream类 和 DataOutputStream类是从过滤流类继承过来,这两个流的对象均不能独立地实现数据的输入和输出处理,必须与其他输入流与输出流对象一起使用,才能实现不同类型数据的读写 ( )T38、RandomAccessFile类的对象仅可以用于数据输入,不能用于数据输出 ()F39、Java系统事先定义的两个流对象分别与系统的标准输入和标准输出相连接这两个流对象分别是 System.in 和 System.out ( ) T40、 System类是java.lang包中的一个很重要的类, 它的所有方法和属性都是非静态的( )F41、与大多数输入输出方法一样,System.in.read 方法可能引发lOException异常,因此必须使用异常处理的try{…}catch( IOExceptione) {..}语句块来捕获异常并进行异常处理。
()T42、 println( ) 方法在向屏幕输出数据完毕时自动换行, 光标停留在下一行的第一个字符位置T43、流是输入/ 输出设备的•种抽象表示,这些设备是数据源头或是数据终点 (44、当向一个流中写入数据的时候,这个流就被称为输出流 ()F) T45、流文件读入与写出类可以操作其它格式的文件,如 Word、Excel格 式 ()T46、File.delete 方法可以删除不为空的目录 ()T47、File.mkdirs 方法可以创建目录字符串包括的所有目录 ()T48、BufferReader.readLine 方法可以读入新行字符" \n " ( ) F49、BufferWriter.newLine( ) 方法的作用是创建新行 ()T50、FilelnputStream.read 方法的作用是读取一个byte字节数据 ()T51、文件流的getChannel( ) 方法返回文件的FileChanner对象 ( )T52、Printstream中提供了方便的格式输出方法 ()T53、int read 方法的用途是从输入流中读取下一个字符流数据,其返回值是0-255之间的一个整数。
( )F54、. BufferedReader是 Reader的, , 个子类,它具有缓冲的作用,避免了频繁的从物理设备中读取信息 ( )T55. Inputstream类是个抽象类,作为字节输入流的直接或间接的父类,它定义了许多有用的、所有子类必须的方法,包括读取、移动指针、标记、复位、关闭等方法 ()T56、如果顺序文件中的文件指针不是指向文件头,那么必须先关闭文件,然后在再打开它才能从文件头开始读 ()T57、在随机存取中查找指定记录时不必检查每一条记录 ( )T58、随机存取文件中的记录必须等长 ()F59、seek方法必须以文件头为基准进行查找 () T60、Jav a中的每个文件均以一个文件结束标记( EOF), 或者以记录在系统管理数据结构中的一个特殊的字节编号结束 ()T61、如果要在Jav a中进行文件处理,则必须使用Java .swing包 ( ) F62> InputStream 和 Outputstream 都是抽象类 ( ) T63、Java语言中对文件没有结构要求,所以需要使用随机存取的程序必须自己建立它们 T64、 当把一个RandomAccessFile流与一个文件相联是, 读写数据的位置由文件位置指针来指定,并且所有数据均以基本数据类型来读写。
( ) T四、读程序题1、下面程序的输出结果是:Enter a characters. 135abe, 将程序补充完整Import java.io.*;class BRRead{public static void main( String[]args) {char c;BufferedReader br = new BufferedReader( new InputStreamReader( System.in) ) ;System.out.println(ltEnter a character") ;System.out.println(c);答案:throws lOExceptionc = (char)b 匚 read ;2、下面是从文件读取对象的代码,请将代码补充完整File theFile = new File("MyFile”)//Perhaps check out the file***//Create the object output stream for the fileObjectlnputStream objectin = null;try(objectin =new ObjectInputStream(new (theFile));}catch( e ){e.printStackTrace(System.err);System.exit(l);)答案:FileInputStream lOException3、标准输入输出示例,请将代码补充完整。
import java.io.*;public class StandardlOl {public static void main(String []args){int ch;System.out.println( " 请输入一行字符" ) ;try(w h i l e ( ( c h = ) ! = W)System.out.write(ch);}cat ch( e){System.out.println(e.toStringO);)System.out.write(,\n');))答案:System.in.read() lOException4、请将下列键盘接收数据的代码补充完整Import java.io.*;class BRRead{public static void ma i n ( S t r i n g [ ] a r g s ) {chare;BufferedReader br = new(new InputStreamReader(System.in));c=;System.out.println(c);})答案: throws lOException BufferedReader (char)br.read()5、以 卜 是使用FilelnputStream类与FileOutputStream类复制文件,请将空白处补充完整。
import java.io.*;class ReadWriteFile{public static void main(String[] args) {String filel,file2 ;int ch = 0 ;filel = "readme.txt";fi le2=" read me. bak”;try(FilelnputStream fis = new ;fbs=new FileOutputStream(file2);int size=;System.out.printin( " 字节有效数、”+size);while ((ch=fis.read())!=-l){System.out.write(ch);fos.write(ch);)fis.close();fbs.close();)catch (lOException e){System.out.println(e.toStringO);)))答案:FileInputStream(file 1) FileOutputStream fis.available()6、下面是从文件中读取字符数据的类,请补全空白处的代码FileReader:按照字符方式读取文件内容import java.io.*;public class Hello{public static void main(String args[]){try(BufferedReader br=new (new FileReader('7home/wuxiaoxiao/l.txt,'));String in;while(()System.out.println(in);} catch(IOException e){System.out.println(e);)))答案: BufferedReader in=br.readLine())!=null7、下面是从键盘上读取字符数据的类,请补全空白处的代码。
public class Hello{public static void main(String args[]){try(BufferedReader br=new BufferedReader(new (System.in));System.out.println(“输入: " ) ;System.out.println( " 输入的数据是: “ +str);}catch(IOException e){System.out.println(e);))答案: InputStreamReader String str=br.readLine();8、请将下列代码补充完整import java.io.*;import java.util.StringTokenizer;public class FileOperate {private String message;public FileOperate() {}public String readTxt(String filePathAndName,String encoding) £encoding = encoding.trim();StringBuffer str = new StringBuffer("");String st 二吗try{FilelnputStream fs = new FilelnputStream(filePathAndName);InputStreamReader isr;if(encoding.equals(H **)) {isr = new InputStreamReader(fs);}else{isr = new (fs,encoding);)BufferedReader br = new BufferedReader(isr);try{String data =while((data = br.readLine())!=nuIl) {str.append(data+H M);}}catch(Exception e){str.append(e.toStringO);)st = str.toStringO;} catch(IOException es){st = nn;)return st;)答案:throws lOException InputStreamReader9、请将下面代码补充完整。
public String createFolder(String folderPath) {String txt = folderPath;try (myFilePath = new java.io.File(txt);txt = folderPath;if (!myFilePath.exists()) {m y F i l e P a t h . ;))catch (Exception e) {message= " 创建目录操作出错” ;)return ;答案: java.io.File mkdir()txt10、下面是从文件中读取字符数据的类,请补全空白处的代码FileReader:按照字符方式读取文件内容import java.io.*;public class Hello{public static void main(String args[]){try{BufferedReader br=new (new FileReader(n/home/wuxiaoxiao/l.txtn));String in;whi l e(()System.out.println(in);} catch(IOException e){System.out.println(e);}))答案:BufferedReader in=br.readLine())!=null11、以下是使用FilelnputStream类与FileOutputStream类复制文件,请将空白处补充完整。
import java.io.*;class ReadWriteFile{public static void main(String[J args) {String filel,file2 ;int ch = 0 ;filel = "readme.txt";file2=',readme.bakn;try(FilelnputStream fis = new ;fos=new FileOutputStream(file2);int size=;System.out.println( " 字节有效数、”+size);while ((ch=fis.read())!=-1){System.out.write(ch);fos.write(ch);fis.close();fbs.close();)catch (lOException e){System.out.println(e.toStringO);)))答案:FilelnputStream(file 1) FileOutputStream fis.available()五、编程题1、编写一段程序, 将 c:\jdkl.3\example\newFile.txt中保存的信息输出到屏幕上。
答案:import java.io.*;public class File3{public static void main(String asdf])throws lOException{int ch;File file 1 = new File(uc:\\jdkl.3\\example\\newFile.txf,);try{FilelnputStream fin = new FileInputStream(file 1);System.out.println( " 文件中的信息为、” ) ;ch = fin.read();while(ch!=-l){System.out.print((char)ch);ch = fin.read();}fin.close();}catch(FileNotFoundException e){System.out.println(e);}Catch(IOException e){System.out.println(e);2、编写程序,接收用户从键盘输入的数据,回车后保存到文件testtxt中若用户输入符号#,则退出程序答案:import java.io.*;public class WriteFile{public static void main(String args[]){byte buffer[]=new byte[128];System.oul.prinlln( " 请输入数据,回车后保存到文件test.txt");System.out.println( " 输入 # 则退出!)try(FileOutputStream f=new FileOutputStreamCtest.txt");while(true){int n=System.in.read(buffer);if(buffer[O]=='#') break;f.write(buffer,O,n);f.write(,\n,);)f.close();} catch(IOException e)(System.out.println(e.toStringO);I))3、编写程序将磁盘 文 件 c:\jdkl.3\example\dataFile.txt中保存的各类数据复制到磁盘文件c:\jdk 1.3\example\outFile.txt 中。
import java.io.*;public class File4{public static void main(String asdl])throws IOException{int ch;File filel = new File(t4c:\\jdk 1.3\\example\\example\\dataFile.txf');File file2 = new File(4tc:\\jdk 1.3\\example\\example\\outFile.txf,);try {FilelnputStream fin = new FileInputStream(file 1);DatalnputStream din=new DatalnputStream(fin);int i = din.readlntO;float f = din.readFloat();boolean b = din.readBoolean();din.close();FileOutputStream fout = new FileOutputStream(file2);DataOutputStream dout = new DataOutputStream(fout);dout.writelnt(i);dout.writeFloat(f);dout.writeBoolean(b);dout.close();System.out.println( “ 整数、”+i);Syslem.out.println( “ 浮点数、”+f);System.out.println( “ 布尔量、”+b);} catch(FileNotFoundException e){System.out.println(e);}catch(IOException e) {System.out.println(e);})4.编写程序,将从键盘输入的10个整型数写入一个文件data.txt中,然后再从该文件中将这 10个数读出并显示。
答案:import java.io.* ;public class A{ public static void main(String args[ ])throws lOException{ int s;BufferedReader in=new BufferedReader(new InputStreamReader(System.in));DataOutputStream out=new DataOutputStream(newFileOutputStream(ndata.txtn));System.out.print(uPlease input:");for(int i = 0 ; i < 10 ; i ++ ){ s=Integer.parseInt(in.readLine());out.writelnt(s);out.writeCharC'Nt');)DatalnputStream inn=new DataInputStream(new FileInputStream(,'data.txt,'));for(int i = 0 ; i < 10 ; i ++ ){ s=inn.readlnt();System.out.println(s);inn.readChar();)out.close();inn.close(); } }第八章 基于Sw ing的图形化用户界面一、选择题1、利用下列哪种方法可以指定内容面板的背景颜色( )A、setBackground B、setBackColor C^ setRGB D、setColor答案:a2、JComboBoxes ,JButton和 JPanel都属于下列什么的实例( )A 、平台 B、 高级语言 C 、方法 D、 GUI组件答案:d4、范围属性用来控制( )A 、文本大小 B 、组件位置 C 、组件大小 D 、B和 C答案:d5、 - 个JLable组件通过下列哪个选项指定现实文本( )A、 setCaption B、 setData C、setText D 、setName答案: c7、RGB值可用于指定( )A 、JLable的 大 小 B、 某个颜色组件 C 、窗口的大小 D、 JFrame中的组件答案:B1 k 使用下列哪个选项设置JButton上的 文 本 ( )A 、setName B、 setText C、setTile D、 setFace答案:B12、 将JTextField的下列哪种属性设置为false可防止用户对该JTextField进行编辑( )A 、文本 B、 大小 C 、可编辑 D、 horizontalAlignment答案:C13、为对齐JTextField中的文本,horizontalAlignment属性设置为( )A、 JTextFiel.Right B J、TextFiel.RIGHT C、 JTextFiel.right D 、以上答案都对答案:B15、在自定义JLable时,可指定该JLable的 ( )。
A、 文 本 对 齐 方 式 B、 文 本 C、 大 小 D、以上答案均正确答案:D1 6 .改变下列哪种属性值将改变JTextField的大小和位置 ( )A、文 本 B、 大 小 C、 范 围 D、位置答案:B17、 可通过下列哪种选项帮助用户理解某个组件的用途 ( )A、 JButton B、 JTextField C、 JLable D、标题栏答案:D18、 使用下列哪种组件允许用户通过键盘输入数据 ( )A、 JButton B、 JTextField C、 JLable D、以上选项均不对答案:B19、 若 totalJTextField是一个 JTextField,可以使用下列哪个选项获取totalJTextField的文本属性值 )A、totalJTextField.gettext( ) B、totalJTextField.setText( )C、totalJTextField.getText( ) D、totalJTextField.settext( )答案:C20、Java语言可以用javax.swing包中的类JFileChooser来实现打开和保存文件对话框。
用户通过文件对话框不可能获得的信息是( )A . 文件名称 B . 文件路径 C . 文件内容 D . 文件对象答案:D21、下列什么方法用于修改文本属性 ( )A、 changeText B、getText C、 setText D^ modifyText答案:C24、 在 JTextField中按下某个键可以产生( )的事件A、 textTyped B> valueChanged C、pressedKey D、keyPressed答案:D28、利用一个组件可隐藏用户输入的信息;默认情况下,用户输入的每一个字符将被回显为一个星号( * ) .( )A、 JTextField B、JPassword C、 JMaskedField D、JpasswordField答案:D33、 ActionEvent的对象会被传递给( )事件处理程序A、addChangeListener B、addActionListener C、stateChanged D、actionPerformed答案:B34、完成事件处理程序的注册,需要为其关联一个( )A、 JButton B、事 件 对 象 C、 应 用 程 序 D、组件答案:B35、 实现下哪个接口可以对TextField对象的事件进行监听和处理? ( )A、 ActionListener B、FocusListener C、MouseMotionListener D、Windows Listener答案:A36、 Frame的默认布局管理器是下列哪一个? ( )A、 FlowLayout B、BorderLayout C、 GridLayout D 、CardLayout答案:B40、构造方法何时被调用( )A、类定义时 B、创建对象时C、调用对象方法时 D、使用对象的变量时答案:B41、在定义JLable时,可指定该JLable的 ( )A 、文本对齐方式 B、文本 C、大小 D 、以上答案都对答案:D42、JTextField中文本的位置可以通过( )设置A setAlignmentProperty B setAlignment C setHorizontalAlidnment D 以上都不对答案:C43、可通过使用下列哪个帮助用户理解某个组件的意图( )A JButton B JTextField C 、JLable D 标题栏答案:C44、使用下列哪个组件允许用户键盘输入数据()A、 JButton B 、JTextField C 、JLable D、 以上都不对答案:B46、通过使用()可以设置JButton上的文本A 、setText B 、setButtonText C、 setJButtonText D、 setText答案:C47、若 totaTextField是 , 个 JtextField,可以使用下列哪个选项获取totaTextField的文本属性 值 ( )A^ totaTextField.getText( ) B、 totaJtextField.setText( )C、 totaJtextField. getText( ) D、 totaJlextField.text答案:C49、方 法 ( )用于修改文本属性A 、 changeText B、 getText C> setText D、 modifyText答案:C51、利用方法可以设置JCheckBox ( )A、 setText B、 setValue C、 setLable D、 setChecked答案:A52、利 用 ( )方法可以判定JCheckBox是否已被复选A、 isChecked B、 usSelected C、 isClicked D、 getClicked答案:B55、传递给 JOptionPane.showMessageDialog 方法的第二个参数为( )A、 对话框标题栏内所显示的文本B、 代表对话框中所显示的JButton的一个常量C、 对话框中所显示的文本D、 代表对话框中所出现的图标的一个常量答案:C57、通常用于警告用户一些潜在的问题且属于JOptionPane的一个对话框图标为( )A、 禁止标志 B、 感叹号 C、 字母I D、 问好答案:B58、若某个JCheckBox已被选取,则他的isSelected方法将返回( )A > on ture C 、selected D、 checked答案:B60、如 果 JTextArea的什么属性被设置为FA LSE,则用户将不能对其中的文本进行编辑( )A、 editable B 、isEditable C、 edit D^ canEdit答案:A61、下列哪个组件允许用户添加并查看多行文本( )A、 JMultiArea B、 JArea C、 JTextArea D> JMultiLineArea答案:c62 > JTextArea 的 方 法 (中的所有文本A、 clear append答案:C63、JTextArea 的 方 法 ()在利用一个空字符串作为参数来调用时,可 删 除 JTextAreaC> setText D、 delete)可向JTextArea中添加文本A、 include B、 append答案:B64 > 调用 JOptionPane 的 (A、 showinputC^ showInputDialog D^答案:CC、 add D、 insert)方法可显示一个输入对话框showMessageDialog以上答案都不对66、有方法showInputDialog所显示的输入的对话框,含有一个向用户提供输入下列哪个的组 件 ( )A、 JTextArea B、JTextFiled C、 JLable D、标题栏答案:B6 8 当某个JButton拥有了应用程序的焦点时,可通过点击这个JButton或 按 下 ( )来执行JButton的操作A 、 空格键 B 、T a b 键答案:CC、enter键 D、 以上答案都不对)B 、TRUE—当输入的值> 0时,否则为FALSED 、 0—若用户点击okJButton,否则为1)供用户选择的最小值以上答案都对69、方法 showInputDialog 将 返 回 (A 、对 话 框 内 JTextFiled里的值C、什么也没有答案:A70、JSpinner组件允许开发人员指定(A、 供用户选择的最大值 B、C、 提供给用户步长 D、答案:D71、JScrollPane 是 一 个 (A 、容器 B 、支架答案:A72、在默认情况下,A、什么也没有答案:B73、利用一个(将被回显示为一个星号),这意味着其他对象可被加入到其内部C 外壳 D、 JFrame当用户通过JPasswordFiled进行输入时,屏幕中将显示( )B、星号 C 、 所输入的文本D、 其中仅有的数字)组件可影藏用户输入信息,默认情况下,用户输入的每一个字符( * )A 、JtextFiled B、 JPassword C、 JMaskFiled D、 JPasswordFiled答案:D74、为防止用户修改JPasswordFiled中的文本,需要将其( )属性设置为FALSEA、 masked B、 text C 、 textChange D、 editable答案:D75、下列什么方法将返回JSpinner内当 前 值 ( )A 、intValue B、getValue C、 getNumber D、 getCurrentValue答案:B76、利用方法( )能够将- 一 个 actionPerformed事件处理程序注册给其中一个组件A 、addEvenlHandler B, addActionListenerC 、registerEventHandler D、 registerActionListener答案:B77 >改 变 JSpinner中的值会产生一个(A、 ActionEvent B、 NextEvent答案:D78、点击JButton会产生 一个( ))事件对象C、 SwitchEvent D、 ChangeEvent事件对象A、 ActionEvent B、 ClickEvent C、KeyEvent D^ PressEvent答案:A79、等待特定的操作及输入,然后对他们进行响应的应用程序被称为( )的应用程序A 、面向对象 B、 步进 C、 事件驱动 D 、 面向传送答案:C82、下列哪种方法可为JSpinner设置一个指定值( )A 、setJSpinner B 、setText C、 setNumber D、 setValue答案:D83、当某个操作发生时所调用的方法被称为( )A 、 事件监听器 B 、JButton方 法 C、 事 件 处 理 程 序 D、 action方法答案:C84、当产生ChangeEvent事件时,会调用下列哪个事件处理程序( )A 、actionPerformed B、 valueChangedC、 stateChanged D 、change Value答案:C85、可产生ChangeEvent事件的组件有()A、 JTextFiled B、JButtin C、JTextArea D、 JSpinner答案:D86、 当执行某种特定的用户操作, 如点击Button时, 所产生的一个事件对象将被传递至( )A、 事 件 驱 动 程 序 B、操 作 方 法 C、 事 件 处 理 程 序 D、操作驱动程序答案:C87、ActionEvent的对象会被传递给( 〉事件处理程序A、addChangeListener B、 addActionListenerC、stateChanged D、 actionPerformed答案:D88、ActionEvenl是一种什么类型( )A 、事件处理程序 B、 事件对象 C、 方法 D、 GUI组件答案:B89、为使JPanel中的组件能够重新显示,可 调 用 ( )方法A 、paint B、 update C、 repaint D、 redraw答案:C90、为清除JLable中的图片,应该将其icon属性设置为( )A 、 “ ”( 双引号) B、 null C、 none D、 o答案:B91、下列哪种方法可用于在JLable中显示一幅图片()A、 setimage B 、 seticon C、 setlmagelcon D、 以上的答案都不对答案:C94、JConboBox类的什么方法可返回当前JConboBox中所选选项的索引值( )A 、getSelectedlndex B、 getSelectedValueC、 getSelectedSubscript D、 getSelectedltem答案:A95、利用下列什么方法可以设置JConboBox下拉列表中一次可以显示的选项数( )A 、getUpprebound B 、 getltemAt C 、setMaximumRowGount D 、 setBounds答案:C96、下列哪种方法用于返回JConboBox中所选择选项的索引( )A、 getUpprebound B、 getSelectedlndexC 、setMaximumRowGount D、 getltemAt答案:B97、下列哪种方法是用来确定JRadioButton的 状 态 ( )A、 isSelected B、getSelected C、 isChecked D 、getChecked答案:A98、当某个JRadioButton被选取时,会相应的调用下列哪种事件处理程序。
( )A、 checkedChanged B、C、selectedChanged D、答案:B99、一个 ButlonGroup 中 包 含 (A、 两个 B、不多于一个答 案 : DactionPerformed以上答案都不对)JRadionButtonC、不多于三个 D、任意数量101、使用下列哪种方法可对JRadionButton组件进行选取或取消( )A、 setselected B、 setChecked C、 setDefault D、 setEnabled答案:A102、下列哪种组件是一种状态组件( )A、 JRadioButton B、 JCkeckBox C、 J Button D 、 A 和 B答案:A103、JRadioButton是一种什么类型的按钮( )A、复选 B、 变化 C、 状态 D、 操作答案:C104、通过使用卜一列什么组件可以将多个JRadioButton组织到相应的JFrame中 ()A、 GroupBox B、 ButtonBox C、ButtonGroup D 、以上答案都不对答案:C105、通过使用下列哪种方法可将—JRadioButton添加到某个ButtonGroup组 中 ()A、add B、 AddJButton C、 addJRadionButton D、 new JRadionButton答案:A106、当创建一个JRadioButton时,它 ( )A、 处于已被选取状态 B、 处于为选去状态C 、已被添加到内容面板中 D、 已被添加到- 一个默认的JRadioButton答案:A107、GUI组件左上角坐标为( )A、 ( 500, 500) B、 ( x,y) C、 ( 0, 0) D、 以上答案都不对答案:C110、下列选项中哪种类中定义了一些Java应用程序中用来控制颜色的方法和常量( )A 、Color B、 GraphicsColor C、 Colors D、 GraphicsColors答案:B113、下列哪种选项的getPoint方法将返回一个Point对象, 此对象拥有当前鼠标的x 值和y值 ()A、 Point B、 JPanel C、 MouseEvent D、 Graphics答案:C114、当鼠标按键被释放时,会调用哪种事件处理程序( )A、 mouseReleased B、 mouseUp C、 mouseOff D、 mouseLetGo答 案 : A115、当鼠标按键被按下并进行移动时会调用哪种事件处理程序( )A 、mouseDragged B 、 mousePositionChangedC 、mouseMoved D、 mouseChanged答案:A119、当按下鼠标键时,会调用哪种事件处理程序( )A、 mouseDown B^ mouseClick C、 mousePressed D> mouseButtonDown答案:C120、mouseMotionListener事件处理程序是在明|! 种接口中被定义的( )A 、MouseMotionListener B、 MouseListenerC 、MouseDraggedListener D、 ActionListener答案:A121、使用什么方法可获去鼠标的位置( )A、 getPoint B、 getLocation C、 getMouse D、 getCursor答案:A126、当按下或放开键盘上的一个按键时会产生什么事件( )A 、 Keyboard B、 KeyPressedEvent C、 KeyChar D、 KeyRcleasedEvent答案:A127、当释放一个按键时,会调用下列哪种事件处理程序( )A^ KeyEventReleased B、 KeyUp C、 KeyReleased D、 以上答案都不对答案:C128、JMenu 中包含了( )A、 供用户选择的命令 B、 子菜单 C、 分隔条 D 、 以上答案都对答案:D129、子菜单是一个添加在U 那个组件中的JMenu ( )A、 JMenu B、 JMenuBar C、 JMenuItem D^ JSparator答案:A133、下列哪个选项是一个菜单容器( )A、 键盘事件 B、 菜单条 C、分隔条 D、菜单选项答案:B134、添加到JMenu中以创建子菜单的GUI组件作为( )A、JSubmenu B 、JMenuItem C、 JMenu D、 JMenuBar答案:B136、能够分组管理应用程序中的相关命令是( )A 、分隔条 B、 热键 C、 菜单 D、 边界指示条答案:C139、使用JTextArea的哪种方法来设置JTextArea中文本的颜色( )A 、setForeground B setTextColorC、 setB ackground D、 setColor答案:A140、当用户只能选择惟一的一个菜单选项时,应考虑使用( )A 、 子菜单 B、 HRadioButtonMenuItemC、 JColorChooser D、 JCheckBoxMenuItem答案:B148、要为程序的子窗口设定一个由字符串s 指定的名字,可以采用的代码是( )A、JFrame( s) B、window( s) C、new JFrame( s) D、super( s)答案:C149、以下关于菜单的叙述中,正确的是( )A、菜单分三级定义,最高一级的是菜单条,菜单条中放菜单,菜单中放菜单项B、菜单分三级定义,最高一级的是菜单,菜单中放菜单条,菜单条中放菜单项C、菜单分两级定义,最高一级的是菜单,菜单中放菜单项D、菜单分两级定义,最高一级的是菜单条,菜单条中放菜单项答案:A152、在 Swing中,它的子类能用来创建框架窗口的类是( )A、JWindow B、JFrame C、JDialog D、JApplet答案:B153、MouseListener接口不能处理的鼠标事件是( )A、按下鼠标左键 B、点击鼠标右键C、鼠标进入 D、鼠标移动答案:B二、填空题1、在 Java中,当用户使用键盘进行操作时,则会出生 事件。
答案:KeyEvent2、Mouse有关的事件可以分为两类,一类是 接口,共提供了 5 种方法,主要针对鼠标的按键和位置进行检测;另一类是 接口,共提供了两种方法,主要针对鼠标的坐标和按健进行检测答案:MouseListener> MouseMotionListener3、在 Java中,一般菜单格式包含有菜单栏 类、菜单 类和菜单项 类对象组成答案:JMenuBar、JMenu、JMenuItem4、对于窗口我们已经不陌生,使用_ _ _ _ _ _ _ _ _ _ 包 的 JFrame类就可以创建一个窗口,实际上对话框也是一种类型的窗口答案:Swing5、Swing组件的基类是 o答案: JComponent6、图形用户界面( Graphics User Interface) . 简称答案:GUI7、Java基础类库, 包含AWT和 Swing组件 是 JFC的核心.答案:Swing8、基于Java的图形用户界面开发工具( 即组件集)最主流的有三种、答案:AW T、Swing、SWT/JFace9、提供的对话框是模式对话框答案:JOptionPane10、提供标准对话框的布局支持、图标、指定对话框的标题和文本、自定义按钮文木、允许自定义组件的对话框显示、指定对话框在屏幕上的显示位置等特性。
答案:JOptionPane11>菜单的格式分为 和»答案:下拉式菜单、弹出式菜单12、对话框分为 和 两种答案:非 模 式 ( non-modal)、模 式 ( modal)13、布局管理就是创建这种类型的一个对象,并采用此对象来安排其它容器和基本组件常 用 的 四 种 布 局 管 理 器 、、、答案: lowLayout> BorderLayout、CardLayout> GridLayout14、是由事件源产生的,事件的产生者称为事件源例如,在 Button组件上点击鼠标会产生以这个Button为源的一个事件、ActionEvent,答案:事件15、Swing组件存放在_ _ _ _ _ _ _ _ _ _ 包中答案: Javax.swing16、Container有 几 个 主 要 的 子 类 、、答案:Window 类、panel 类、scrollpane 类17、Frame( 框架) 是AWT的强大特征,我们可以用 方法增加组件到Frame答案:add()18、Image类 方法返回要作用为此窗体图显示的图像答案:getlconlmage()19、方法将此窗体的标题设置为指定的字符串。
答案:setTitle()20、方法显示窗体答案:setVisible()21、方法返回此文本组件表示的组件答案; getText()22、Label的对齐方式有 种答案:323、Label类的 、 和 常量来分别表示左对齐、居中对齐和右对齐答案:LEFT、CENTER, RIGHT24、利用一个 组件可隐藏用户输入的信息;默认情况下,用户输入的每一个字符将被回显为一个星号( * ) 答案:JpasswordField25、列表框 可以使用用户选择多个选择答案:list26、Checkbox类用于创建标签复选框, 复选框有两部分 和 o答案:标签、状态27、复选框有 和 两种状态答案:选中、未选中28、单选按钮是一组 的集合答案:Checkbox29、调用 类的add( ) 方法来增添菜单选项;答案:Menubar30、swing建立在_ _ _ _ _ _ _ _ _ _ 基础之上答案:awt31、使用 方法设置窗口的大小答 案 : setSize( )32、类是按钮基类答案:AbstractButton33、获得按钮上的文字答案: getText( )34、boolean的 得到按钮的状态答案:isSelected( )35、JBulton。
仓犍, •个答案:按钮三、判断题1、组件不能独立显示出来,必须将组件放在•定的容器中才可以显示出来 (T )2、Swing组件存放在Javax.swing包中( T )3、Dialog是弹出式窗口用于接受用户输入 (T )4、Panel( 面板) 不是用作组织组件的 (F )6、Label对象是一个在容器中放置文本的组件 (T )7、Label类的LEFT常量表示右对齐 (F )8、Button类不用于创建按钮 (F )9、Button 创建一个没有标题的按钮 (T )12、Checkbox类用于创建标签复选框 (T )13、容器是用来盛放其它部件的单元. (T )18、容器可以包含容器(T )20、Checkbox 是复选框( T )21、CheckboxGroup 不是单选按钮(F )22>每个CheckboxGroupd的对象对应着•种可能的取值情况,即对应一个选项( T )23、List 是 列 表 (T )24、创建列表时要把各项内容添加进去(T )26、在 JMenuBar类中JMenuBer( ) 是创建菜单栏 ( T )27、在 JMenul类中JMenu( ) 创建菜单 (T )28、JMenu( String str)创建菜单栏 ()29>在 JMenul类 JMenul (String str,bolean b ) 创建具有指定文字的菜单,通过布尔值确它是否有下拉式菜单 (T )30、JMenuItem ( ) 创建一个菜单栏 (T )33、在 Java中,当用户使用鼠标进行操作时,则会产生鼠标事件MouseEvenr ( T )35、AWT是 Java语言进行GUI程序设计的基础 (T )36、Swing 包是 Java 基础类库( Java Foundation Classes, JF C )的一部分。
(T )37、Swing组件是Java语言提供的第二代GUI设计工具包,它以AWT为基础 (T )38、JOplionPane提供的对话框是模式对话框 (T )40、组 件 ( Component)是构成GUI的基本元素,如按钮、标签、画布、复选框等 (T )41、容 器 ( Container)组件,简称容器,是一个可以包含组件和其他容器的组件. 如,JPanel,JTabbedPanes JScrollPane 等 ( T )42、非容器组件( 原子组件) 则是不可以包含组件和其他容器的组件,如 JBulton、JLabekJTextField 等( T )四、程序填空1、阅读下面的程序,在空格处填上相应的代码public class JFrameExamplel {public static void main(String args[]) {JFrameExample 1 obj = new JFrameExample 1 ();obj.myJFrame();)public void myJFrame() {JFramejframe = new JFrame("一个框架应用)Container panel = jframe.getContentPane();panel.setLayout(new FlowLayoutO);panel.add(new JButton("欢迎使用! **));jframe.setSize(300, 150);jframe.show();))答案: import java.awt. *;import javax.swing.*;2、阅读下面的程序,在空格处填上相应的代码import java.awt.*;import javax.swing.*;public class myNullLayout JFrame{JLabel学号, 姓名, 性别;JTextField stdno,name,sex;int x=0,y=0,w,h;Container cp=getContenlPane();public myNullLayout() {setLayout(null);学号=new JLabel( “ 学号、" JLabel.CENTER);姓名二new JLabel("姓名、"JLabel.CENTER);性别=new JLabel。
性别” JLabel.CENTER);sex=new JTextField();x=80;y=60;w=100;h=30;cp.add( 学号) ; cp.add( 姓名) ; cp.add( 性别) ;cp.add(stdno);cp.add(name);cp.add(sex);学号.setBounds(0,y,w,h); stdno.setBounds(x,y,w,h);姓名.setBounds(0,2*y,w,h);name.setBounds(x,2*y,w,h);性别.setBounds(0,3*y,w,h);sex.setBounds(x,3*y,w,h);setSize(300,500);show();)public static void main(String args[]){myNullLayout obj=new myNullLayout();))答案:extendsstdno=new JTextField();name=new JTextField();3、阅读下面的程序,在空格处填上相应的代码import java.awt.*;import javax.swing.*;public class JpanelExample{private void fillJPanel(Container c){Button button 1 ,button2,button3;button l=new Button( “ 确定” ) ;button2=new Button( " 取消" ) ;button3=new Button( “ 保存" ) ;)public static void main(String args[]){JpanelExample obj=new JpanelExample();obj.myJPanel();)public void myJPanel(){JFrame jframe=new JFrame("一个面板应用)Container contentPane=jframe.getContentPane();contentPane.setLayout(new FlowLayoutO);JPanel jpanel l=new JPanel();fillJPanel(jpanell);jpanel 1 .setBackground(Color.BLUE);jpanel 1 .setForeground(Color.RED);JPanel jpane12=new JPanel();fillJPanel(jpanel2);jpane12.setBackground(Color. WHITE);jpanel2.setForeground(Color.BLACK);contentPane.add(jpanel 1);contentPane.add(jpanel2);contentPane.add(new JButton( " 我不在那些面板里! ! " ) ) ;jframe.setSize(400,250);jframe.show();))package xiazai;import java.awt.*;import javax.swing.*;public class JpanelExample{private void fillJPanel(Container c){Button button 1 ,button2,button3;button 1 =new Button( ” 确定” ) ;button2=new Button( “ 取消” ) ;button3=new Button( “ 保存" ) ;c.add(buttonl);c.add(button2);c.add(button3);)public static void main(String args[]){JpanelExample obj=new JpanelExample();obj.myJPanel();)public void myJPanel(){JFrame jframe=new JFrame(H一个面板应用)Container contentPane=jframe.getContentPane();contentPane.setLayout(new FlowLayoutO);JPanel jpanell=new JPanel();fillJPanel(jpanell);jpanel 1 .setBackground(Color.BLUE);jpanel 1 .setForeground(Color.RED);JPanel jpane12=new JPanel();filIJPanel(jpanel2);jpanel2.setBackground(Color.WHITE);jpanel2.setForeground(Color.BLACK);contentPane.add(jpanel 1);contenlPane.add(jpanel2);contentPane.add(new JButton( " 我不在那些面板里 ! ! ” ) ) ;jframe.setSize(400,250);))答案:c.add(buttonl);c.add(button2);c.add(button3);jframe.show();4、阅读下面的程序,在空格处填上相应的代码import java.awt.*;import javax.swing.*;public class myCardLayoutExample 1 {public static void main(String args[]){JFrame jframe=new JFrame( " 个滚动列表的例子)Container cp=jframe.getContentPane();CardLayout card=new CardLayout(20,20);cp.setLayout(card);JButton jbtl=new JButton( " 足球)JButton jbt2=newJ Button jbt3=new JButton( “ 排球” ) ;JButton jbt4=new JButton( " 羽毛球)JButton jbt5=new JButton( " 乒乓球)cp.add(Hb",jbt2);cp.add(Hcn,jbt3);cp.add("e”,jbt5);jframe.setSize( 150,200);jframe.show();))答案:cp.add("a”,jbtl);cp.add(nd",jbt4);card.next(cp);5、阅读下面的程序,在空格处填上相应的代码import java.awt.*;import java.awt.event.*;import javax.swing.*;〃对话框public class myDialog extendsprivate JButton jbt;private JLabeljlabel;public myDialog(){super( " 一个显示信息对话框的例子” ) ;Container cp=getContentPane();cp.setLayout(new GridLayout(2,2,l 0,10));jbt=new JButton( " 显示信息按钮)cp.add(jbt);jbt.addActionListener(new handleO);jlabel=new JLabel('M,);cp.add(jlabel);setSize(500,450);)public class handle ActionListener{public void actionPerformed(ActionEvent e){String 信息对话框” ;String content= " 请选择(yes/no)?'*;int dialogtype=JOptionPane.YES_NO_OPTION;int choice=3;if(e.getSource()==jbt)choice=JOptionPane.showConfirmDialog(null,content,title,dialogtype);if(choice==0) jlabel.setText( " 您选择的是‘YES");else jlabeLsetTextC您选择的是,NCT);))public static void main(String args[]){myDialog app=new myDialog();))答案:J Frameshow();implements6、阅读下面的程序,在空格处填上相应的代码import java.awt.*;import javax.swing.*;public class myJScrollPanelExample{public static void main(String args[]){JFrame jframe=new JFrame( " 按钮 + 面板 + 滚动窗 口 ” ) ;Container contentPane=jframe.getContentPane();contentPane.setLayout(new FlowLayoutO);JPanel jpanel=new JPanel();JScrollPane jscrollpane=new JScrollPane();JB utton jbutton l=new JButton( “ 确定” ) ;JButton jbutton2=new J B utton("取消" ) ;JButton jbutton3=new JButton( " 保存 )jpanel.add(jbutton 1);jpanel.add(jbutton3);jscrollpane.setViewportView (jpanel);contentPane.add(j scrollpane);jframe.setSize(800,650);答案:jpanel.add(jbutton2);jframe.show();7、阅读下面的程序,在空格处填上相应的代码import javax.swing.*;import java.awt.*;import java.awt.event.*;public class myKeyEvent extends JFrame {private String linel=,n,, line2 = "”;private JTextArea textArea;public myKeyEvent() {super( " 显示键盘事件演示程序” ) ;textArea=new JTextArea(10,15);textArea.setText( " 按任意键继续.textArea.setEnabled(false);textArea.setFont(new Font(,'TimesRoman',,Font.BOLD+Font.ITALIC,l8));getContentPane().add(textArea);setSize(300,100);show();)public void (KeyEvent e){linel=" 键盘按下、"+e.getKeyText(e.getKeyCode());setString(e);)public void (KeyEvent e){line 1=" 按键释放、n+e.getKeyText(e.getKeyCode());setString(e);)public void (KeyEvent e){line2=" 按键输入、n+e.getKeyChar();setString(e);private void setString(KeyEvent e){textArea.setText(linel4-"\nH4-line2);)public static void main(String args[]){myKeyEvent app = new myKeyEvent();app.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e){System.exit(O);}} ) ;))答案:implements KeyListeneraddKeyListener(this);keyPressedkeyReleasedkeyTyped8、阅读下面的程序,在空格处填上相应的代码import java.awt.*;import java.awt.event.*;import javax.swing.*;public class myMouseEvent extends JFrame{private JTextField text;public myMouseEvent() {super( " 鼠标事件测试例子)Container cp=getContenlPane();cp.setLayout(new BorderLayout(5,5));JLabel label=new JLabel( " 移动拖动鼠标” ) ;Font g = new Font("Courier”, Font.BOLD, 22);label.setFont(g);cp.add(label,BorderLayout.NORTH);text=new JTextField(20);cp.add(text,BorderLayout.SOUTH);cp.addMouseMotionListener(new MouseMotionHandler());setSize(300,450);public class MouseMotionHandler extends MouseMotionAdapter {public void mouseDragged(MouseEvent e){String s=" 鼠标拖动、X= ,,+e.getX()+nY=u+e.getY();text.setTexKs);))public class MouseEventHandler extends MouseAdapter {public void mouseEntered(MouseEvent e){String s=" 鼠标进入! ” ;public void mouseExited(MouseEvent e){String s=" 鼠标离开! ” ;text.setText(s);)}public static void main(String args口) {myMouseEvent app=new myMouseEvent();app.addWindowListener( new WindowAdapter() {public void windowClosing(WindowEvent e){System.exit( 0);)} ) ;))答案:cp.addMouseListener(new MouseEventHandlerO);show();text.setText(s);9、阅读下面的程序,在空格处填上相应的代码import java.awt.*;import java.awt.event.*;public class FlowLayoutTest {public static void main(String argslJ)f.setLayout(newFlowLayout(FlowLayout.RIGHT,40,20));Button button 1 = new Button("OkH);Button button2 = new ButtonC'Open");Button button3 = new Button("CloseH);f.add(buttonl);f.setSize(100,100);f.setVisible(true);f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(O); }});))答案:Frame f = new Frame();f.add(button2);f.add(button3);10、阅读下面的程序,在空格处填上相应的代码import java.awt.event.*;import javax.swing.*;public class TestJSplitPane extends WindowAdapter{ JFrame frame;JPanel cp=new JPanel();JScrollPane jsp=new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);JLabel ImagL=new JLabel();JTextArea ta=new JTextArea();JSplitPane j splitpane =new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);〃分隔组件类对象声明public void Test() {Imagelcon icon=new ImageIcon(Htest.jpgH);ImagL.setlcon(icon);jsp.setViewportView(ImagL);jsplitpane.setBorder(BorderFactory.createEtchedBorder());jsplitpane.setOneTouchExpandable(true);jsplitpane.setDividerLocation( 100);jsplitpane.setDividerSize(20);jsplitpane.setLeftComponent(ta);jsplitpane.setRightComponent(jsp);cp.add(jsplitpane);frame.setS ize(400,400);frame.add(cp);)public static void main(String [] args){TestJSplitPane JSP1 = new TestJSplitPane();JSPl.Test();)public void windowClosing(WindowEvent e) { System.exit(O); })答案:frame = new JFrame("JSplitPane 组件" );frame.setVisible(true);11、阅读下面的程序,在空格处填上相应的代码import java.awt.*;import java.awt.event.*;import javax.swing.*;public class JComboBoxDemo extends JPanel(JLabel picture,text;public JComboBoxDemo()(String[] pStrings = {"cup",ncatu,"boy","girl"};JComboBox pList = new JComboBox(pStrings);pList.setSelectedlndex(O);public void actionPerformed(ActionEvent e) {JComboBox cb = (JComboBox)e.getSource();String pName = (String)cb.getSelectedItem();picture.setlcon(new ImageIcon("images/"+pName + ".gif1));text.setText(pName);text.setHorizontalAlignment(JLabel.CENTER);)});picture = new JLabel(new Imagelcon("images/"+pStrings[pList.getSelectedIndex()] +u.gif'));picture.setBorder(BorderFactory.createEmptyBorder( 10,0,0,0));picture.setPreferredSize(new Dimension(180, 140));text = new JLabel(pStrings[pList.getSelectedIndex()],JLabel.CENTER);setLayout(new BorderLayoutO);add(pList,BorderLayout.NORTH);add(picture,BorderLayout.CENTER);add(text,BorderLayout.SOUTH);setBorder(BorderFactory.createEmptyBorder(20,20,20,20));}public static void main(String args[]) {JFrame frame = new JFrame(" 使用 JComboBox1*);frame.selDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setContentPane(new JComboBoxDemo());frame.pack();答案:pList.addActionListener(new ActionListener()frame.setVisible(true);12、阅读下面的程序,在空格处填上相应的代码import java.awt.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.border.*;public class JListDemo extends JFrame{public static void main(String[] args) {new JListDemo();)private JList jl;private JTextField valueField;public JListDemo()(super("一个简单的 JList");try (UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassNameO);} catch(Exception e){System.out.println("设置 native LAF 错误: " + e);)Container content = getContentPane();String口 entries={ “ 北京” , “ 上海“ , “ 天津* ” 重庆入津汉” } ;jl = new JList(entries);jl.setVisibleRowCount(4);Font displayFont = new Font("Serif, Font.BOLD, 18);jl.setFont(displayFont);jl.addListSelectionListener(new ValueReporter());JScrollPane listPane = new JScrollPane(jl);JPanel listPanel = new JPanel();listPanel.setBackground(Color. white);Border listPanelBorder = BorderFactory.createTitledBorder("JList 数 据 )listPanel.setBorder(listPanelBorder);listPanel.add(listPane);content.add(listPanel, BorderLayout.CENTER);JLabel valueLabel = new JLabel(" 选择为: " ) ;valueLabel.setFont(displayFont);valueField = new JTextField("n, 6);valueField.setFont(displayFont);valuePanel.setBackground(Color. white);Border valuePanel Border = BorderFactory.createTitledBorder(nJList 选 择 )val uePanel.setBorder(val uePanelB order);valuePanel.add(valueLabel);valuePanel.add( valueField);content.add(valuePanel, BorderLayout.SOUTH);pack();}private class ValueReporter implements ListSelectionListener{public void valueChanged(ListSelectionEvent event){if (! event.getValuelsAdj ustingO)valueField.setText(jl.getSelectedValue().toString());))}答案:JPanel valuePanel = new JPanel();setVisible(true);13、阅读下面的程序,在空格处填上相应的代码import java.awt.*;import java.awt.event.*;import javax.swing.*;public class CelsiusConverter implements {JFrame frame;JPanel panel;JTextFieid tempCelsius;JLabel celsiusLabel, fahrenheitLabel;JButton convertTemp;public CelsiusConverter() { // 构造方法frame = new JFrame(" 温度变换” ) ;panel = new JPanel();panel.setLayout(new GridLayout(2, 2));tempCelsius = new JTextField();celsiusLabel = new JLabel(" 摄氏温度=* ' ) ;convertTemp = new JBullon(" 变换)fahrenheitLabel = new JLabel(u? 华氏温度)convertTemp.addActionListener( this);panel.add(tempCelsius);panel.add(celsiusLabel);panel.add(convertTemp);panel.add(fahrenheitLabel);frame.getContentPane().add(panel,BorderLayout.CENTER);frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);frame.pack();)public void actionPerformed(ActionEvent event)int tempF;tempF =(int)((Double.parseDouble( tempCelsius.getText()))* 1.8+32);fahrenheitLabel.setText(tempF + ” 华氏温度))public static void main(String[] args) {CelsiusConverter converter = new CelsiusConverter();))答案:ActionListenerframe. setV isible(true);14、实现列表的程序代码add(list);list.add();list, add( “ 中国”) ;list.add(“ 德国” ) ;答案:List list=new List(4,true)15、实现下拉表的程序代码add(choice);choice.add(“ 男” ) ;choice.add " 女”) ;答案: Choice choice=new Choice()16、实现标签的代码add(label);设置窗口的ConientPane,创建按钮对象bull=new JButtoli(“按钮 1”);答案: Label label=new Label(“ 我的标签” ) ;Container c=getContentPane();第十章多线程一、填空题1、线程体是指 方法中的执行代码,该方法是程序的入口点。
答案:run()2、创 建 一 个 多 线 程 程 序 时 可 以 通 过 实 现 类 ,也可以通过实现接口_ _ _ _ _ _ _「答案:Thread Runnable3、线程调度时要根据线程的优先级进行,线程的优先级可分为1 0 种,其中 代表优先级最高,代表优先级最低答案:1 0 、 14、在 进 行 线 程 同 步 时 常 使 用 、、 等关键字或方法答案:synchronized 、 wait() 、 notifyO5、多线程是JAVA程序的— 机制,它能同步共享数据、处理不同事件答案:并发6、本身不能独立运行,必须在进程中执行,使用进程的地址空间答案:线程7、如果其他线程企图访问一个处于不可用状态的对象,该对象将不能正确响应从而产生无法预料的结果,这种情况就是一种 o答案:线程不安全性8、 指得是程序运行中,多个线程竞争共享资源时可能出现的一种系统状态,每个线程都被阻塞,都不会结束,进入一种永久等待状态答案:死锁9、基 于 锁 的 多 线 程 设 计 更 可 能 引 发 、、等情况,令一些线程无法继续其进行答案:死锁 、优先级倒置 、饥饿10、指 定 线 程 阻 塞 多 长 时 间 的 方 法 是 »答案:sleep ()11、在 Java语言中,实 现 线 程 的 同 步 执 行 要 用 到 关 键 字 。
答案:synchronized12> .Java的 线 程 调 度 策 略 是 一 种 基 于 优 先 级 .答案:抢先式调度13、当使用Thread t=new Thread(r)创建一个线程时,表达式、r instanceof Thread的值是_答案:false14、java中的线程由CPU, , 等三部分构成答案:数据代码15、程序中实现多线程的方法有两种、继承_ _ _类和实现Runnable接口答案:Thread16、如果一个线程调用 方法,将使线程进入休眠状态答案:sleep()17、Java中,可以通过建立 类或其子类的实例创建和控制线程答案:java.lang.Tnread18、线程由于调用sleep 方法进入阻塞状态,当睡眠结束时,该线程将进入 状态答案:可运行状态19、Java中,线程必须属于一个进程线 程 是 程 序 运 行 中 的 一 个 答案:可运行状态20、线程的 方法只会使具有与当前线程相同优先级的线程有运行的机会答案:yield()21、当实现Runnable接口时,要 实 现 的 方 法 答案:run()22>实现线程交互的 和 方法在Object类中定义。
答案:wait ( ) notify ()23、在多线程程序设计中,如果采用继承Thread类的方法创建线程,则需要 重 写 Thread类的 方法答案:run()24、线程在生命周期中要经历5 种状态,分别是、、、阻塞状态和 o答案:新建状态、可运行状态、运行状态、 终止状态二、选择题1、实现线程的创建有( )方式A、 一种 B、两种 C、三种答案:B2、Thead类定义于下列哪一个包中? ( )A、Java.io B 、java.lang C、java.util答案:BD、四种D、 java.awt3、下列那一个包给出了 Runnable接口的定义? ( )A、java.util B、java.io C、java.lang D、java.sql答案:C4、线程生命周期中正确的状态是( )A、新建状态、运行状态和终止状态B、新建状态、运行状态、阻塞状态和终止状态C、新建状态、可运行状态、运行状态、阻塞状态和终止状态D、新建状态、可运行状态、运行状态、恢复状态和终止答案:c5、阅读下面编程题public class Test 2 {public static void main(String args[]){Thread t=new test2();t.start();)public void run(){sysetem.out.println(HHow are you");))在程序下画线处填入正确选项是 ( )A> implements Thread B、 extends Runnable implements Runnable D> extendsThread答案:D6、阅读下面编程题public class Test implements Runnble{public static void main(String args[]){t.startO;public void run(){syselem.ouLprinUn("Helk>");})在程序下画线处填入正确选项是(A、Test t=new Test()C、Thread t=new Thread(new Test())答案:c)B、Thread t=new Thread()D、Test t=new Thread。
7、当使用SomeThread t=new SomeThread 创建一个线程时,卜列叙述中正确的是( )A、SomeThread类是包含run( ) 方法的任意java类B、SomeThread 类一定要实现 Runnable 接 口C、SomeThread类是Thread类的子类D、SomeThread类是Thread类的子类并且要实现Runnable接口答案:A8、Java语言中,负责并发管理的机制是( )A、垃圾回收 B、虚拟机 C、代码安全 D、多线程答案:D9、下列描述中,错误的是()A、Java要求编程者管理内存 B、Java的安全性体现在多个层次上C、Applet要求在支持Java的浏览器上运行 D、Java有多线程机制答案:A10、Thread类中能运行线程体的方法是( )A、start() B、resume() C、init() D^ run()答案:A11、可以使当前同级线程重新获得运行机会的方法是( )A、sleep ( ) B、Join ( ) C、yield ( ) D、interrupt ()答案:B12、阅读下面程序public class Try extends Thread {public static void main (String args[]){Try t =new Try();t.start();}public void run(int j){int i=0;while(i<5){system.out.println( " 祝你成功! " ) ;i++; }}}该程序要求打印5 行 “ 祝你成功! ”,必须改正程序中的某行代码,程序才能完成。
选择正确的修改是( )A、将第一行的 extends Thread 改为 implements RunnableB、将第三行的new Try()改为new Thread ()C、将第四行t.start 改为start(t)D、将第七行 public void run(int j)改为 public void run()答案:B13、线程在生命周期中要经历5 种状态如果线程当前是新建状态,则它可到达的下一个状 态 是 ( )A、运行状态 B、阻塞状态 C、可运行状态 D、终止状态答案:C14、下列关于Java多线程并发控制机制的叙述中,错误的是( )A. Java中对共享数据操作的并发控制是采用加锁技术B、线程之间的交互,提倡采用suspend( )/resume()方法C、共享数据的访问权限都必须定义为privateD、 Java中没有提供检测与避免死锁的专门机制, 但应用程序员可以采用某些策略防止死锁的发生答案:C15、Java程序的并发机制是( )A、多线程 B、多接口 C、多平台 D、多动态答案:A16、使新创建的线程参与运行调度方法是( )A、run () B 、start ( ) C、 init () D、resume ()答案:B17、Java中的线程模型由三部分组成,与线程模型组成无关的是( )A、虚拟的CPU B、程序代码 C、操作系统的内核状态 D、数据答案:C18、阅读下列代码段class Test implements Runnable {public int run(){int i=0;while(true){i++;system.out.println(,'i,'4-i);}})}上述代码的编译结果是()A、程序通过编译并且run()方法可以正常输入递增的i 的值B、程序通过编译,调用run()方法将不显示任何输入C、程序不能通过编译,while的循环控制条件不能为“true”D、程序不能通过编译, 因为run()方法的返回值类型不是void答案:D19、下列关于线程优先级的说法中,正确的是( )A、线程的优先级是不能改变的 B、线程的优先级是在创建线程时设置的C、在创建线程后的任何时候都可以设置 D、B 和 C答案:C20 ( )方法不可以用来暂时停止当前线程的运行。
A、 stop() B、 sleep() C、 wait() D、 suspend()答 案 : A21、在多线程并发程序设计中,能够给对象x 加锁的语句是( )A、x.wait() B、synchronized(x) C、x.nosityO D^ x.synchronized()答案:B22、下列有关线程的叙述哪个是正确的?( )A、一旦一个线程被创建,它就立即开始运行B、调用start ( ) 方法可以使一个线程成为可运行的,但是它不一定立即开始运行C、主线程不具有默认优先级D、Java中线程的优先级从低到高以整数0〜 9 表示答案:B23、resume ( ) 方法负责恢复被哪个方法挂起的线程?( )A、stop () B^ sleep () C、wait () D、suspend ()答案:D24、下列叙述中,正确的是( )A、线程与进程在概念上不相关的 B、一个进程可包含多个线程C、一个线程可包含多个线程 D、Java中线程没有优先级答案:B25、 . 关于下列程序的功能,说法正确的是( )public class kolO_l extends Thread {int n;kolO_l(){Thread td=new Thread(this);td.start();)public void run() {for (n=0;n<6;n++) {try (System.out.print(n);Thread.sleep(500); }catch(InterruptedException e){ System.out.printlnC^xception"); } })public static void main(String args[]) {new kolO_l();))A、这段程序的功能是、每隔500秒打印012345B、这段程序的功能是、每 隔 1秒打印012345C、这段程序的功能是、每隔半秒打印012345D、这段程序的功能是、每隔半分钟打印012345答案:C26、 . •个Java application运行后,在系统中是作为一个( )A、线程 B、进程 C、进程或线程 D、不可预知答案:B27、关于以下程序段的执行结果,说法正确的是( )public class Borley extends Thread {public static void main(String argv[]){Borley b = new BorleyO;b.start();public void run(){System.out.println("Running");A、编译通过并执行,但无输出 B、编译通过并执行,输出、RunningC、产生错误,没有Thread类对象 D、产生错误,没有通道到达Thread包答案:B28、使比其自身优先级低的线程运行的Thread类的方法是、 ( )A、sleep()答案:AB、yiele()C、join。
D、interrupt()29、下面关于对象加锁的叙述错误的是、( )A、当一个线程获得了对象的锁后,其他任何线程不能对该对象进行任何操作B、对象锁的使用保证了共享数据的一致性C、Java中的对象锁是共享锁D、对象锁只对临界区操作才有意义答案:C30、下面关于线程优先级的说法中,错误的是、 ( )A、Java中的线程的优先级有三个静态常量B、新建线程的优先级默认为最低C、优先级高的线程优先被执行D、 一个线程运行时,有可能被比它高优先级的线程抢占运行答案:B31、下列方法中哪个是执行线程的方法? ( )A、run ()答案:BB、start ()C、sleep () D、suspend ()32、使创建的线程参与运行调度的方法是( )A、run() B、start() C、init() D、resume()33、下列方法中可用于定义线程体的是( )A、start ()B> init ()C、run()D、main ()答案D34、如果线程调用下列方法,不能保证使该线程停止运行的是( )A、sleep () stop () C> yield ()答案:A35、下列方法中可以用来创建一个新线程的是(A> 实现 java.lang.Runnable 接口并重写 start。
方法写 run()方法C、继承java.lang.Thread类并重写run()方法start 方法答案C36、阅读下列程序public class Test implements RunnablefD、wait ())oB、 实现 java.lang.Runnable 接 口并重D ^ 实现java.lang.Thread类并实现private int x=0;private int y=0;boolean flag =true;public static void main (String args[]){Test r =new Test ();thread tl = new thread(r);thread t2= new thread (r);tl.start();t2.start();}public void run(){while(flag){x++;y++;syslem.out.println("("+x_,”,“+y+”)”);if (x> =10){flag=false;}}}下列对程序运行结果描述正确的是( )A、每 行 的 ( x,y)中,可能有x W y ,每 • 对 ( x,y)值都出现两次B、每 行 的 ( x,y)中,可能有x ¥ y , 每 一 对 ( x,y)值都出现一次C、每 行 的 ( x,y)中,可能有x = y ,每 一 对 ( x,y)值都出现两次D、每 行 的 ( x,y)1^, 可能有x = y ,每 一 对 ( x,y)值都出现一次答案:B37、在一个线程中调用下列方法,不会改变线程运行状态的是( )A、yield () B、另一个线程的join方法 C、sleep () D、一个对象的notify方法答案:D38、在一个线程中使用sleep ( 1000)方法,将使该线程在多少时间后获得CPU控制,假设睡眠过程中不会有其他事件唤醒该线程( )A、正 好 1000豪秒 B、1000豪秒不到C、> = 1000ms D、不一定,可能> 1000ms,可能< 1000ms答案:C39、以下哪个方法用于定义线程的执行体( )A、 start() B, init() C、run() D、main() E、synchronized()答案:C40、线程交互中不提倡使用的方法是、 ( )A、 wait() B 、notify() C 、stop () D、 notfyAll()答案:C41、下面哪些不是线程的状态? ( )A、ready B、dead C、running D、nonRunnable答案:D42、如果当前线程需要让出CPU的使用权时,则调用方法、 ( )A、wait() B、notifyO C、yield() D、sleep()答案:C43、关于线程的同步,下面说法正确的是、 ( )A、线程的同步完全由系统来实现,用户不需要定义线程间的同步B、在对共享资源以互斥的方式访问时: 需要用户定义线程间的同步C、线程的同步与线程的优先级有关D、线程的同步就是线程的调度答案:B44、关于线程的死锁,下面的说法正确的是( )A、若程序中存程的死锁问题,编译时不能通过B、线程的死锁是一种逻辑运行错误,编译器无法检测C、实现多线程时死锁不可避免D、为了避免死锁,应解除对资源以互斥的方式进行访问答案:B45、调用线程的下列方法,不会改变该线程的生命周期中状态的方法是( )。
A、yield() B、wait() C> sleep() D、isAlive()答案:D46、下列情况中,不会使线程返回所持有的对象锁的是( )A、当 synchronized 语句块执行完毕B、当调用了线程的suspend 方法C、当在synchronized 语句块中出现异常(exception)D、当持有锁的线程调用该对象的wait()方法答案:B47、 关于以下程序段的执行结果,说法正确的是( )public class Borley extends Thread {public static void main(String argv[]){Borley b = new BorleyO;b.starl();)public void run(){System.out.println("Running");})A、编译通过并执行,但无输出 B、编译通过并执行,输出、RunningC、产生错误,没有Thread类对象 D、产生错误,没有通道到达Thread包答案:B48、关于下列程序的功能,说法正确的是(public class kolO_l extends Thread {int n;kolO_l() {Thread td=new Thread(this);td.start();)public void run() {for (n=0;n<6;n++) {try (System.out.print(n);Thread.sleep(500);)catch(InterruptedExceplion e){ System.out.println("Exception"); }} )public static void main(String args[]) {new kolO_l();)A、这段程序的功能是、每隔500秒打印012345B、这段程序的功能是、每 隔 1秒打印012345C、这段程序的功能是、每隔半秒打印012345 32.D、这段程序的功能是、每隔半分钟打印012345答案:B49、Java语言具有许多优点和特点,下列选项中,哪个反映了 Java程序并行机制的特点( )A、安全性 B、多线性 C、跨平台 D、可移植答案:B50、下面哪些方法将会将一个正在执行的线程中断( )A、wait() B、notifyO C、yield() D、suspend()答案:A5 k 有关下述关于线程的代码, 说法正确的是( )1. class Test2. (3. public static void main(String [] args)456printAll(args);7. public static void printAll(String[] lines)8. (9. for(int i=O;i 以下说法正确的是( )A、my Thread mt=new myThread(); mt.start();mt.disp();运行完线程体 run 方法后再运行 disp()方法B、 myThread mt=new myThread();mt.disp();mt.start();运行完 disp()后才能启动线程体 runC、 myThread mt=new myThread();mt.start();mt.disp();线程体 run 一定会在 disp 结束前结束D、 myThread mt=new myThread();mt.start();mt.disp();mt.start()和 mt.disp()两条命令, 哪条放在前面哪条放在后面运行结果一样答案:B53、 下面的哪个关键字通常用来对对象加锁,该标记使得对对象的访问是排他的? ( )A、 lock B、 synchronized C> synclock D、 belocka答案:B54、用 Thread子类实现多线程的步骤顺序是( )A、声明Thread类的子类,创建Thread子类的实例,让线程调用start。 方法B、声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例C、创建Thread子类的实例,让线程调用start 方法D、声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让线程调用start 方法答案:D55、在以下供选择的方法中,能让线程从阻塞状态恢复到就绪状态的方法是()A、start()B、init() C、resume() D、run()答案:c56、在以下四个供选的整数中,能作为线程最高优先级的整数是( )A、 0 B、 1 C、 10答案:C57、Java语言中提供了一个(A、异步 B、消费者答案:D58、当 ( )方法终止时,D, 11)线程,自动回收动态分配的内存C、 守护 D、 垃圾收集能使线程进入死亡状态A、 runB、 setPrority C、 yieldD^ sleep答案:A59、用 ( )方法可以改变线程的优先级A、 run B、 setPrority C 、yield D、 sleep答案:B60、线程通过( )方法可以使具有相同优先级线程获得处理器A、 run B、 setPrority C、yield D、 sleep答案:C61、 ( )方法使对象等待队列的第一个线程进入就绪状态。 A、 run B, setPrority C、yield D、 sleep答案:B62、方 法 resume( ) 负责重新开始( )线程的执行A、 被 stop( ) 方法停止 B、 被 sleep( ) 方法停止 C、 被 wait( ) 方法停止 D、 被 suspend( )方法停止答案:D63线程交互中不提倡使用的方法是( )A、wait( )答案:CB、notifyOC、stop() D^ notifyall()三、判断题1、减小竞争发生可能性的有效方式是尽可能缩短把持锁的时间 (T )2、 - 个线程对象的具体操作是由run( ) 方法的内容确定的,但是Thread类 的 run方法是空的, 其中没有内容; 所以用户程序要么派生•个Thread的子类并在子类里重新定义run( ) 方法,要么使一个类实现Runnable接口并书写其中run( ) 方法的方法体实现( T )3. java.lang.Runnable接口并重写run( ) 方法可以用来创建一个新线程 ( F )4、 . 线程的优先级是不能改变的 (F )5、要在程序中实现线程必须导入java.io.Thread类。 ( F )6、线程之间可以共享数据 (T )7、 启动线程时可以调用run( ) 方法或start ( T )8、如果线程死亡,它便不能运行 (T )9、在 Jav a中,高优先级的可运行线程会抢占低优先级线程 ( T )10、线程不是能够独立运行的程序,是某个程序内部的一个顺序执行流 ( T )11、当调用一个正在进行线程的stop( ) 方法时,该线程便会进入休眠状态 ( F )12、如果线程的ru n 方法执行结束或抛出一个不能捕获的例外,线程便进入等待状态 F )13、一个线程可以调用yield方法使其他线程有机会运行 ( T )第 十 二 章 JDBC技术一、选择题1、使用Class类 的 ( )方法可载入一个数据库驱动A 、getClass B、 getName C 、答案:D2、Statement 对象实现( )A 、数据库的连接C 、执行检索或修改数据库内数据的SQL答案:C3、executeQuery 方 法 ( )A、 检索数据库中的信息C、 建立同数据库之间的连接答案:AforClass D 、 forNameB 、 载入一个数据库驱动程序D、 以上答案都不对B、 修改数据库中的信息D、 关闭同数据库之间的连接4、导 入 ( )包能让开发人员使用针对数据库操作的类及其接口A、 java.text B、 java.db C、 java.sql D、以上答案都不对答案:C5、如果DriverManager无法实现同数据库之间的链接,那么getConnection方法会抛出一个( )异常A、 SQLExceptionC 、DatebaseNotFoundException答案:A16、接口 Statement 中 的 (B、 ClassNolFoundExceptionD、 以上答案都不对)方法用于从数据库标准提取数据A、executeQuery答案:A7、Statement 的 (selectC、executeUpdateD、以上答案都不对A、executeQuery答案:C8、在 select语句中,)方法用于修改数据表中的数据modifyTable C、executeUpdate D、以上答案都不对select关键字之后应跟()A、 表名 B、列名或* C、 数据库名 D、行所满足的标准答案:B9、SQL中 的 ( )语句可修改为数据库中的信息A、select答案:DB、 modify C、 changeD 、update1 0 .在编写访问数据库的Java程序时,A、用来表示与数据库的连接C、在指定的连接中处理SQL语句答案:D11、在编写访问数据库的Java程序时,A、加载连接数据库的驱动C、在指定的连接中处理SQL语句答案:C12、在编写访问数据库的Java程序时,A、加载连接数据库的驱动C、在指定的连接中处理SQL语句答案:BConnection对象的作用是( )B . 存储查询结果D . 建立与数据库连接Statement对象的作用是( )B . 存储查询结果D . 建立与数据库连接ResultSet对象的作用是( )B . 存储查询结果D . 建立与数据库连接13、SQ L关 键 字 ( )的后面是在查询中选择记录的条件。 A、WHERE B、ORDER BY C、NNER JOIN D、ON答案:A14、SQ L关 健 字 ( )指定记录的排序顺序A、WHERE B、ORDER BY C、INNER JOIN D、ON答案:B15、SQ L关 键 字 ( )用于合并两个或多个表•A、WHERE B、ORDER BY C、INNER JOIN D、ON答案:C16、一 个 ()对象用于向数据库提交查询A、ResultSet B、Connection C、Statement D、Applet答案:c17> Java通 过 ( )接口的方法提供事务处理A、ResultSet B、Connections C、Connection D、Statement答案:C18. 在 Java中,与数据库连接的技术是()oA. ODBC B. JDBC C .数据库厂家驱动程序 D.数据库厂家答案: B二、填空题1、在遍历数据表内容时,可以通过 方法把当前的指针自动向下移动一位答案:next( )2、在向数据库发送sql语句时, 要使用 类声明一个发送sql语句对象答案:Statement3、在java源文件中进行数据库操作时, 在文件头要导入一包•答案:java.sql4、 在连接数据库的时候,为了获取本机的IP地址,常用的代码是 或者。 答案:127.0.0.1 或者 localhost5、在获取数据表内容的时候,将指针移动到此ResultSet对象的指定行编号的方法是答案:absolute(int row)6、在获取数据表内容的时候, 将指针移动到此ResultSet对 象 的 第 一 行 的 方 法 是 答案:first()7、在获取数据表内容的时候, 获 取 当 前 行 编 号 的 方 法 是 答案:getRow()8、 在获取数据表内容的时候,判断指针是否位于此ResultSet对象的第一行的方法是, 判断指针是否位于此ResultSet对 象 的 最 后 一 行 的 方 法 是 答案: isFirst() , isLast()三、判断题1、最流行的数据库查询语言是SQL ( )答案:T2、Java将表可以作为connection对象来操作 ( )答案:F3、关键字唯一地表示表中的每个记录 ( )答案:F4、数据库是集中控制的数据的有机集合 ( )答案:F5、sun .jdbc .odbc类代表了 JD B C到 ODBC数据库驱动程序 ( )答案:T四、程序填空I . 完成程序填空import ja va . sql. * ;public cla ss J dbcT est {public sta tic void ma in( S tring a rgs[ ] ) {S tring url= 〃jdbc: mysql: 〃loca lhost/ test〃;C onnection con;S tring sql;S ta tement stmt;S tring num, na me, sex;int a ge, ma th, eng, spec;try {C la ss. forN a me(/ zcom. mysql. jdbc. D river" ) ;} ca tch( ja va . la ng. C la ssN otF oundE xception e) {S ystem, err. print( " C la ssN otF oundE xception:" ) ;S ystem, err. printin( e. getM essa ge( ) ) ;)try (con = D riverM a na ger. getC onnection( [ 1 3 ] , " root” , 〃 ja va " ) ; / /stmt = con. crea teS ta tement( ) ;〃向student表中插入一行记录。 sql = " I N S E R T I N T O S T U D E N T 〃 +" V A L U E S ( ' 2 0 0 1 0 8 1 / 赵小龙‘ , ' 男' ,2 0 , 7 1 , 6 2 , 7 6 ) 〃 ;stmt. [ 1 4 ] ;〃检索student表中的所有记录并获取数据输出sql 二 〃 S E L E C T * F R O M S T U D E N T " ;R esultS et rs = stmt. executeQ uery ( sql) ;S ystem. out. println ( 〃学号 姓名 性别 年龄〃 +〃 高 等 数 学 英 语 专 业 课 〃 ) ;while( rs. next ( ) ) {num = rs. getS tring( l) ;na me = rs. getS tring( 2 ) ;sex = rs. getS tring( 3 ) ;a ge = rs. getlnt ( 4) ;ma th = rs. getlnt( 5 ) ;eng = rs. gellnl ( 〃 英语” );spec = rs. getlnt ( " 专业课〃) ;S ystem, out. print I n ( num+z/ 〃+ na me+ 〃 " + sex+ 〃 〃+ a ge+ “ " + ma th〃+ spec) ;)〃检索高等数学成绩8 0分以上的学生信息。 rs = stmt. executeQ uery ( " S E L E C T学号, 姓名, 高等数学, 英语, 专 业 课 〃 +“ F R O M S T U D E N T " + 〃W H E R E 高等数学> = 8 0 〃 ) ;S ystem, out. printlnO ;S ystem, out. printin ( ' ' T he students whose ma th ma rk is beyond 8 0 a re:〃 ) ;while( rs. next ( ) ) {num = rs. getS tring( l) ;na me = rs. getS tring( 2 ) ;ma th = rs. [ 1 5 ] ( 3 ) ;eng = rs. getlnt ( " 英语〃 ) ;spec = rs. getlnt ( 〃专业课〃 );ystem. out. printin( 〃学号= 〃 +num+ " 〃 + " 姓名= 〃 +na me+ " 高等数学= ” +ma th+ 〃 〃 + 〃 英语="+e n g + "" 十" 专业课=" + spec) ;〃+ eng+)stmt. closeO ;con. close ( ) ;} catch(SQLException ex) {System, err. printlnC^SQLException: " + ex. getMessageO);} } }答案:13、 url 14^ executeUDdate( Sal) 15> getlnt。