《Java程序设计》复习题一、选择题1.线程是Java的()机制。
A.检查B.解释执行C.并发D.并行2.Java语言的()特点能保证软件的可移植性。
A.健壮性B.安全性C.动态性D.跨平台3.下面不属于Java语言特点的是()A.面向过程B.动态性C.多线程D.解释执行4.Java作为编程语言,最基本的元素是()A.方法B.对象C.包D.接口5.下列项目中,不属于Java核心包的一项是()A.Javax.swingB.Java.ioC. Java.utilD. ng6.Java语言具有许多优势和特点,下面哪个特点是Java所不具有的?( )A.利用了面向对象的技术基础B.可移植性C.独立于硬件D.多重继承7.下面的哪个特点不是Java虚拟机执行过程的特点( )A.多线程B.及时执行C.动态连接D.异常处理8.下列属于Java语言垃圾回收机制的一项是( )A.内存跟踪B.异常处理C.代码安全检测D.健壮性9.下列说法不正确的是()A.表达式可以作为其它表达式的操作数B.单个的常是时或变量可以作为表达式C.表达式和表达式语句是一样的D.表达式的类型可以和操作数的类型不一致10.下面选项不是表达式语句的是( )A.a++B.a=b+c;C.a+=b;D.System.out.println(“A”);11.下列程序的输出结果为( )public class B {public static void main(String[ ] args){int x=5;double y=10.5f;float z=(float)(x*y);System.out.purintln(z);}}A.50.0B. 52.0C. 50.5D. 52.512.对以下程序段,说法正确的是( )int a=10;int t=0;do { t=a++; } while(t<=10);A.一次都不执行B.执行一次C.执行两次D.无限次执行13.下列程序的输出结果为()public class A{public static void main(String[ ] args){int a=3,b=4,c=5,d=6,e=7;if(a<b || c>d) System.out.println(“who”);else System.out.println(“why”);}}A.whyB. whoC. who whyD.没有结果14.下面不是Java程序中的合法条件语句的一项是()A.if(a>b){……}B.if(a=1){……}C. if(a>b&&b>c){……}D. if(3>2){……}15.定义类头时,不可以放到类名前面的关键字是()A.publicB.abstractC. finalD. static16.定义类时,可以用来修饰类名的修饰符是( )A.privateB.abstractC.nativeD.protected17.在下面的关键字中,可以使一个类中的成员变量不能被外部类调用的是( )A.publicB.protectedC.privateD.前三个都不是18.设Test为已定义的类,下面声明类Test对象a的语句中正确的是( )A.Test a=Test( )B.public Test a;C.Test a=new Test( )D.public Test a=new Test( )19.定义抽象类时,所使用的关键字是( )A.finalB.publicC.abstractD.protected20.定义一个公有double型符号常量PI,下面语句中正确的是( )A.public final double PI;C.public final static double PI; B.public final static double PI=3.14159;D.public static double PI=3.14159;21.有一个类B,下面为其构造方法进行的声明,正确的是( )A.void B(int x) { } C.void b(int x) { }B.B(int x) { } D.b(int x) { }22.用关键字private修饰的成员变量,下列说法正确的是()A.只能被该类自身所访问或修改B.只能被同一包中的其它类访问C.可以被其它包中的类访问D.可以被其它包中该类的子类所访问23.关于类变量和实例变量的说法中,描述错误的是()A.实例变是量是类的成员变量B.类变量仅在第一次被使用时初始化C.实例变量用static修饰D.实例变量在每一次的对象创建时被初始化24.设MyClass是已定义的类,则声明类MyClass对象objmyclass的语句正确的是()A.MyClass objmyclass=MyClass( ); C.MyClass objmyclass=new MyClass( )B.public MyClass objmyclassD.public MyClass objmyclass=new MyClass( )25.为TestClass类定义一个无返回值的方法func,使得仅通过类名就可以访问该方法,则正确的形式为()A. static void func( ) C. abstract void func( )B. final void func( ) D. public void func( )26.为TestClass类定义一个返回值为int型的方法func,使得仅通过类名就可以访问该方法, 则正确的形式为()A. final int func( )B. static int func( )C. abstract int func( )D. public int func( )27.执行StringBuffer s1=new StringBuffer(“abc”);s1.insert(1,”efg”);之后,正确的结果是()A.s1=”efgabc”B. s1=”aefgbc”C. s1=”abefgc”D. s1=”abcefg”28.执行int i=”abcd”.compareTo(“abcd”);之后,i的值为( )A.正整数B.负整数C.trueD.false29.数组作为参数,传递的是()A.地址B.数组元素值C.名称D.以上都不对15.将小写字母转换为大写字母的方支是30.在使用interface声明一个接口时,可以使用()修饰符。
A. privateB. protectedC. private或protectedD.public31.在Java中,实现多继承需要通过()A.对象B.接口C.父类D.包32.下列说法中,错误的是()A.静态方法可以访问它所属类的所有属性B.静态方法不能访问该类的实例变量C.静态方法可以通过类名直接访问D.实例方法可以访问该类的静态属性与静态访法33.下述()不是对象的特征A.对象的行为B.对象的状态C.对象的局部变量D.对象标识符34.下面关于类的说法错误的是()A.类是经过抽象的共有属性的集合B.类是Java程序的核心和本质C.类不是一个独立的程序单位D.类是对象的模板,对象是类的实例35.编写AWT图形用户程序时,一定要用import语句是( );A.import java.awt;C.import javax.awt; B.import java.awt.*D.import javax.swing;36.下列说法中不正确的一项是( )A.组件是一个可视化的能与用户在屏幕进行交互的对象B.组件能独立显示出来C.一个文本框可以是一个组件D.组件需放在容器中才能正确显示37.下列给出了组件的定义的类是( )A.Java.awt.Grapics C.Java.awt.Containerng.Object ponet38.下列说法中,错误的一项是( )A.TextArea可以显示多行多列文本B.TextField可以显示单行多列文本C.在单行文本输入区中按下Enter键会触发ActionEvent事件D.单行文本区可通过方法setEditable( )是否可对文本内容进行编辑,但多行文本区却不行39.下列选项中,不属于AWT布局管理器的是( )A.GirdLayoutB.CardLayoutC.FlowLayoutD.BoxLayout40.对于组件的下列属性,布局管理器可以进行管理的是( )A.大小B.颜色C.形状D.字体41.下列说法中,错误的一项是( )A.在实际编程中,一般使用的是Component的子类B.在实际编程中,一般使用的是Container的子类C.Container类是Component类的子类D.容器中可以放置组件,但不能放置容器42.事件处理机制能够让图形界面响应用户的操作,主要包括( )A.事件B.事件处理C.事件源D.以上都是43.下列说法中,不正确的一项是( )A.委托事件模型将事件源和对事件的处理分开,将事件处理交付外部的处理对象去执行B.在Java中,每类事件都有一个与之对应的接口C.监听器要处理某类型的事件,不一定必须实现与该类事件相对应的接口D.监听器要处理某类型的事件,必须实现与该类事件相对应的接口44.下列说法中,不正确的一项是( )A.事件处理者对象可以是一个组件B.事件在Java中以类的形式出现C.事件源可以是一个组件D.事件处理者对象接受事件对象,然后做出相应处理45.下列事件监听器接口中,可属于TextField组件的是( )A.ChangeListener C.ActionListenerB.ItemListener D.WindowListener46.下列说法中,错误的一项是( )A.匿名类没有名字B.匿名类没有构造方法C.匿名类可以没有父类,也可以不实现某个接口D.匿名类需调用一个没有参数的父类的构造方法47.下列说法中,错误的一项是( )A.Java的AWT事件分为低级事件与高级事件B.AWTEvent类是EventObject类的子类C.Java语言中的事件都是继承自Java.AWTEvent类D.ActionEvent类是AWTEvent类的子类48.下列说法中,错误的一项是( )A.由于内部类是定义于另一个类中的类,因此它不适用于AWT事件处理机制B.内部类对象可以访问外部类对象的成员要素,包括private类型的成员要素C.采用内部类实现监听器,编程时比较容易实现D.内部类是定义于另一个类中的类49.下列说法中,错误的一项是( )A.TextField组件中按Enter键将触发ActionEvent事件B.与ActionListeners接口对应的适配器类为ActionAdapterC.MouseEvent类与KeyEvent类都是InputEvent类的子类D.Frame是顶级窗口,它无法直接监听键盘输入事件50.关于Applet的生命周期,正确的说法是( )A.init( )方法在start( )方法之后执行B.init( )方法可执行多次C.stop( )方法在Applet退出时被调用,只调用一次D.stop( )方法在Applet不可见时被调用,可以被调用多次51.Applet程序的顶级容器是( )A.JAppletB.JFrameC.JDialogD.Jpanel52.当小程序窗口需要重画时,将调用的方法是( )A.start( )B.init( )C.paint( )D.stop( )53.下面说法中不正确的是(A.Java中线程是抢占式的C.Java中线程可以共享数据)B.Java中线程是分时式的D.Java中线程可以共享代码54.以下方法中,用于定义线程执行体的是( )A.start( )B.init( )C.run( )D.main( )55.线程Thread类提供表示线程优先级的静态常量,代表普通优先级的静态常量是( )A.MAX_PRIORITY C.NORM_PRIORITYB.MIN_PRIORITY D.NORMAL_PRIORIT56.在下列说法中,错误的一项是( )A.用户程序类可以实现Runnable接口的方法来定义用户程序线程的操作B.当一个线程处于创建状态时,系统为其分配资源,就可以运行C.新建线程继承创建它的父线程的优先级D.线程的调度执行是按照其优先级的高低顺序进行执行时57.异常产生的原因很多,常见的有(A.程序设计本身的错误C.软件、硬件设置的错误58.下列哪一个是运算中的除0异常()B.程序运行环境的改变D.以上都是)A.RuntimeException C.ArithmeticExceptionB.ClassCastExceptionD.ArrayIndexOutOffBoundException59.所有异常类都继承自下列中的哪个类( )A.Java.io.Exception ng.Exceptionng.Throwable ng.Error60.下列关键字中,不是用来捕获处理异常的关键字是( )A.throwsB.tryC.catchD.finally61.以下方法中,可以实现与指定的URL建立连接并返回InputStream类的对象,以从这一连接中读取数据的是( )A.readLine( )B.read( )C.openStream( )D.new URL( )62.以下选项中,是Java的IP地址封装类的是( )A.URLB.InetAddressC.AppletD.Socket63.以下方法中,可以获得主机名字或一个具有点分形式的数字IP地址的是( )A.getFile( )B.getQuery( )C.getHostName( )D.getPath( )64.确定一个Socket的完整要素有( )A.一个IP地址和一个端口号C.一个主机名B.一个IP地址和一个主机名D.一个端口号65.一个URL地址的组成为(A.文件名和主机名C.IP地址和主机名)B.主机名和端口号D.协议名和资源名66.http服务的默认端口号为( )A.80B.21C.23D.12067.Java中用于无连接的数据报通信的类有(A.DatagramPacketC.DatagramPacket和DatagramSocket )B.DatagramSocket D.URL68.DatagramSocket允许数据报发送的目的地址有( )A.一个B.二个C.三个D.多个69.字节流与字符流的区别是( )A.每次读入的字节数不同C.前者是字节读写,后者是块读写B.前者有缓冲,后者没有D.二者无区别,可以互换使用70.Java语言提供处理不同类型流的类所在的包是( )A.java.sqlB.java.utilC.java.mathD.java.io71.建立文件file.txt的字节输入流的语句是( )A.InputStream in=new FileInputSteam(“file.txt”);B.FileInputStre am in=new FileInputStream(new File(“file.txt”));C.InputStream in=new FileReader(“file.txt”);D.FileInputStream in=new FileReader(“file.txt”);72.下列说法中,错误的一项是( )A.Java系统中的标准输入是System.inB.打开一个文件时不可能产生IOExceptionC.使用File对象可以判断一个文件是否存在D.使用File对象可以判断一个目录是否存在73.创建一个DataOutputStream的语句是( )A.new DataOutputStream(“out.txt”);B.new DataOutputStream(new File(“out.txt”));C.new DataOutputStream(new Writer(“out.txt”));D.new DataOutputStream(new OutputStream(“out.txt”));74.下面语句中,正确的是( )A.Rando mAccessFile raf=new RandomAccessFile(“myfile.txt”,”rw”);B.RandomAccessFile raf=new RandomAccessFile(new DataInputStream( ));C.RandomAccessFile raf=new RandomAccessFile(“myfile.txt”);D.RandomAccessFile raf=new RandomAccessFile(new File(“myfile.txt”));75.下列创建InputStreamReader对象的方法中,正确的是(A.new InputStreamReader(new FileInputStream(“data”));B.new InputStreamReader(new FileReader(“data”));C.new InputStreamReader(new BufferedReader(“data”));D.new InputStreamReader(System.in);)76.以下方法中,可以得到一个文件的路径名的是( )A.String getName( )B.String getPath( )C.String getParent( )D.String renameTo( )77.以下可以实现关闭流的方法是( )A.void close( );B.void reset( );C.int size( );D.void flush( ); 78载入数据库访问驱动程序的方法为( )A. Java.forName( )B.Class.fromName( )C. Class.forName( )D.Java.fromName( )二、填空题1.多线程是Java程序的并发机制,它能同步共享数据,处理不同事件。