收藏 分销(赏)

java复习与练习答案(老师给的答案).doc

上传人:仙人****88 文档编号:11253928 上传时间:2025-07-10 格式:DOC 页数:14 大小:117.50KB 下载积分:10 金币
下载 相关 举报
java复习与练习答案(老师给的答案).doc_第1页
第1页 / 共14页
java复习与练习答案(老师给的答案).doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
复习与练习 一、单项选择题: 1. 在Java中,接口中定义的常量总是被隐式声明为___C_____。 ①public ②static ③final ④void 第 14 页 共 14 页 A. ①③ B. ①② C. ①②③ D. ②③④ 2. 以下声明常量的语句不正确的是__B______。 A. final double PI=3.14159; B. double PI=3.14159; C. static final double PI=3.14159; D. public static final double PI=3.14159; 3. 在java代码中,以下哪种类型的注释是正确的?___D_____ A. */ 注释行1 注释行2 注释行3 /* B. // 注释行1 注释行2 注释行3 // C. (* 注释行1 注释行2 注释行3 *) D. /* 注释行1 注释行2 注释行3 */ 4. 下面是有关子类继承父类构造方法的描述,其中正确的是____D____。 A. 如果子类没有定义构造方法,则子类无构造方法 B. 子类构造方法必须通过super关键字调用父类的构造方法 C. 子类必须通过this关键字调用父类的构造方法 D. 子类无法继承父类的构造方法 5. 下面关于继承的叙述正确的是___A_____。(D答案也是对的,但是老师却没给准确答复,所以单选题的话选A,多选的话就选AD) A. 在Java中只允许单一继承 B. 在Java中一个类只能实现一个接口 C. 在Java中一个类不能同时继承一个类和实现一个接口 D. Java的单一继承使代码更可靠 6. 在Java 中,由Java编译器自动导入,而无需在程序中用import导入的包是___D____。 A. java.applet B. java.awt C. java.util D. java.lang 7. 可以加在下面的不完整程序中”doing the same…”处的是____C____。 class Person{ String name, department; int age; public Person (String n) {name=n;} public Person (String n, int a) {name=n; age=a;} public Person (String n, String d, int a) { // doing the same two arguments version of constructor // including assignment name=n, age=a department =d; } } A. Person(n,a); B. this(Person(n,a)); C. this(n,a); D. this(name,age); 8. 请看下面程序,第10行调用的printValue是___D_____声明的。 1) class Person { 2) public void printValue (int i, int j) {/*…*/} 3) public void printValue (int i) {/*…*/} 4) } 5) public class Teacher extends Person { 6) public void printValue ( ) {/*…*/} 7) public void printValue (int i) {/*…*/} 8) public static void main(String args[]) { 9) Person t=new Teacher( ); 10) t.printValue (10); 11) } 12) } A. 第2行 B. 第3行 C. 第6行 D. 第7行 9. 用户可以通过单击下拉框中选择项目进行输入的GUI组件是___C___。 A. JTextField B. ButtonGroup C. JComboBox D. JList 10. 下面的接口(抽象类)定义正确的是__B______。 A. public class A private int x; public getx() { return x;} B. public abstract class A{ private int x; } public abstract int getx(); public int amethod() { return 0 ;} C. public class A { private int x; public abstract int getx();} D. public interface InterfaceA { private int x; public int getx() { return x;}} 11. Exception类是___A____的子类。 A. Throwable类 B. Error类 C. Runnable类 D. String类 12. 取得异常细节信息的方法是__C_____。 A. getLocalizedMessage() B. toString() C. getMessage() D. printStackTrace() 13. 我们可以把Swing组件放入JFrame的____C____上。 A. JRootPane B. JLayeredPane C. ContentPane D. GlassPane 14. 能够将组件放在单元大小相同的一个二维网格中,组件从左到右、从上到下依次添加到网格中,这种布局管理器应该是__C_____。 A. FlowLayout B. BorderLayout C. GridLayout D. CardLayout 15. 依次执行下面的语句 JButton1.setToolTipText(“aaa”); JButton1.setEnabled(false); 则下面语句中描述正确的是_____A___。 A. 按钮不能正常使用,把鼠标移到按钮上会出现aaa的提示语句 B. 按钮可以正常使用,把鼠标移到按钮上会出现aaa的提示语句 C. 按钮不能正常使用,把鼠标移到按钮上没有任何变化 D. 按钮可以正常使用,把鼠标移到按钮上没有任何变化 16. notify()方法唤醒的线程是____C_____。 A. 通过调用stop()方法而进入阻塞状态的线程 B. 通过调用sleep()方法而进入阻塞状态的线程 C. 通过调用wait()方法而进入阻塞状态的线程 D. 通过调用join()方法而进入阻塞状态的线程 17. 对于一个实现了MouseListener接口的对象myHandler,要把鼠标事件监听器添加到一个名为button的按钮中,以便myHandler对象可以接收并处理鼠标事件。以下代码正确的是____D_____。 A. button.add(myHandler); B. button.addListener(myHandler); C. addMouseListener(button,myHandler); D. button.addMouseListener(myHandler); 18. 下列说法错误的是___A_____。 A. 在Java中,File类只能表示文件,不可以表示目录。 B. 输入流InputStream和输出流OutputSteam构成字节流的祖先。 C. 读取器Reader和写出器Writer是所有字符流的超类。 D. 如果一个Java对象可以序列化,就必须实现Serializable接口。 19. 下列说法正确的是____D____。(不要求) A. UDP是面向连接的、可靠的协议。 B. TCP是无连接服务的、不可靠的协议。 C. 在使用TCP协议的网络应用程序中,ServerSocket对象调用receive()方法在指定的端口监听到来的连接。 D. 在使用TCP协议的网络应用程序中,利用方法getInputStream()和getOutputStream()可以获得socket连接的输入和输出流。 20. 以下说法哪项是正确的是____A____。 1.class MyListener 2.extends MouseAdapter implements MouseListener{ 3. public void mouseEntered(MouseEvent mev) 4. { System.out.println("Mouse entered."); } 5. } A. 以上代码可通过编译 B. 不能通过编译,因为没有实现MouseListener接口中的所有方法 C. 不能通过编译,因为类头定义不能分行 D. 能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常 21、编译Java  Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(  B   )。      A.java        B.class C.html       D.exe 22、设 int x = 1 , y = 2 , z = 3,则表达式  y+=z--/++x  的值是(   A   )。      A.3       B.3. 5 C.4         D.5 23、main方法是Java  Application程序执行的入口点,关于main方法的方法头以下哪项是合法的(  B  )? A.public  static  void  main( ) B.public  static  void   main( String  args[] ) C.public static int  main(String  [] arg ) D.public  void  main(String  arg[] ) 24、在编写Java  Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上(   C    )语句。      A.import java.awt.* ;            B.import java.applet.Applet ;      C.import java.io.* ;             D.import java.awt.Graphics ; 25、在Java  Applet程序用户自定义的Applet子类中,常常重载(   D   )方法在Applet的界面中显示文字、图形和其它界面元素。      A.start( )    B.stop( ) C.init( )    D.paint( ) 26.下列不可作为Java语言中的标识符是 (____D___ ) A、 cs B、 $99 C、 错误 D、 1sin 27. 下列的哪个程序段可能导致错误(___B___ )? A)String s=”hello”; String t=”good”; String k= s + t; B)String s=”hello”; String t; t=s[3]+ ”one”; C)String S=”hello”; String standard=s.toUpperCase(); D)String S=”hello”; String t=s + ”good”; 28.在创建对象时 必须(____B___ ) A、 先声明对象,然后才能使用对象 B、 先声明对象,为对象分配内存空间,然后才能使用对象 C、 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D、上述说法都不对 29.下列常见的系统定义的异常中,哪个是数组越界异常? (____A___ ) A)ArrayIndexOutOfBoundsException B)IOException C)NullPointerException D)ArithmeticException 30. JAVA 中(___C____ ) A 一个子类可以有多个父类,一个父类也可以有多个子类 B 一个子类可以有多个父类,但一个父类只可以有一个子类 C 一个子类可以有一个父类,但一个父类可以有多个子类 D 上述说法都不对 31.下面有关流的说法种正确的是(___D___ ) A 字节流直接建立在字符流上 B 字符流直接建立在字节流上 C 字节输入流类名以“reader”结尾 D 字节流的读取效率高于字符流 32.下列哪个选项不是InputStream类中的方法? (____B___ ) A)public abstract int read( )throws IOException B)public final void writeInt(int v)throws IOException C)public void close( )throws IOException D)public int available( )throws IOException 33.下列哪个选项是javax.swing.JApplet的父类? (_____B__ ) A)java.awt.Panel B)java.Applet.Applet C)java.awt.Frame D)java.awt.Window 34. 以下语句有语法错的是:A A. int x=1;y=2;z=3; B. for (int x=10,y=0;x>0;x++); C. while (x>5); D. for( ; ;); 35.以下有关构造方法的说法,正确的是:(______A_ ) A. 一个类的构造方法可以有多个 B. 构造方法在类定义时被调用 C. 构造方法只能由对象中的其它方法调用。 D. 构造方法可以和类同名,也可以和类名不同 36. 设 int x=1,float y=2,则表达式 x / y的值是:D A.0 B.1 C.2 D.以上都不是 37. 下列属于容器的组件有(_____B__ ) A. JButton B. JPanel C. Thread D. JTextArea 38.在java语言中实型常数45.67占用多少个储存字节(_____D__ )?(题不严密,数字精度不确定,单精度B,双精度是D) A、 2 B、 4 C、 6 D、 8 39.下列类定义中哪些是合法的抽象类的定义?(_____C__ ) A、abstract Animal{abstract void growl();} B、class abstract Animal{abstract void growl();} C、abstract class Animal{abstract void growl();} D、abstract class Animal{abstract void growl(){System.out.println(“growl”);};} 40.编译运行下面程序时有何种结果(____C___ )? class Test{ public static void main(){ System.out.println(“hello”); } } A、程序不能编译,因为main()方法定义不正确 B、程序能编译,但不能运行,因为class未声明为public的。 C、程序能无错的编译运行,但运行时产生异常。 D、程序运行时显示“hello” 41.过滤流类FilterOutputStream是BufferedOutputStream、DataOutputStream和PrintStream类的父类,下列个类中哪些是FilterOutputStream类的构造方法的有效的参数(_____B__ )? A、InputStream B、OutputStream C、File D、RandomAccessFile 42.Java Applet在被浏览器加载的时候首先被执行且在applet整个生命周期中只被运行一次的方法是(__A_____ )? A、init() B、start() C、opreationcrawl() D、reader() 43. 下列哪一个类的对象可以用于查询关于数据库的信息?B(不要求) A)DatabaseMetaData B)Statement C)Connection D)DriverManager 44.给出下列代码,如何使成员变量m被方法fun()直接访问? (_____C__ ) class Test{ private int m; public static void fun(){ } A)将private int m改为protected int m B)将private int m改为public int m C)将private int m改为static int m D)将private int m改为int m 45.下列关于Frame类的说法不正确的是(______C_ ) A)Frame是Window类的直接子类 B)Frame对象显示的效果是一个窗口 C)Frame被默认初始化为可见 D)Frame的默认布局管理器为BorderLayout 46.下列哪个选项的java源文件代码片段是不正确的(____B___ )? A)package testpackage; public class Test{} B)import java.Io.*; package testpackage; public class Test{} C) import java.io.*; class Person{} public class Test{} D) import java.io.*; import java.awt.*; public class Test{} 47.在Frame容器中使用FlowLayout管理布局时,若要设定紧凑排列,则需要调用下列哪一个方法? (___D____ ) A)setVisible(true) B)add() C)setLayout(new FlowLayout()) D)pack() 48.下列说法中错误的一项是( C )。 A)通常编写GUI程序时,使用的是Component类的子类 B)Component类封装了组件通用的方法和属性 c)类Component是许多常用构件类的父类,但是Container不是其子类 D)许多常用的构件类都继承了Component的成员方法和变量 49.JApplet的默认布局管理器是( B )。 A)FlowLayout B)BorderLayout C)GridLayout D)BoxLayout 50.下列哪一项是Microsoft最早推出的数据库连接标准? B(不要求) A)CORBA B)ODBC C)JDBC D)J2E 二、填空题: 1. 在Java中,所有类的父类是Object。 2. 面板对象的默认布局管理器是FlowLayout(流式布局)(中英文均可)。 3. Java源文件中最多只能有一个public类,其它类的个数不限。 4. 面向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类是变量和方法的集合体。 5. 设 a = 8,则表达式 a >>> 2 的值是。(十进制,假设计算机字长为8) 6. 创建一个名为 MyPackage 的包的语句是package MyPackage;。 7. 关键字Synchronized可以用来对对象加互斥锁。 8. int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是public final int MAX_LENGTH = 100;。 9. swing组件中JList(中英文均可)组件的对象可以使用setSelectionMode(int mode)方法设置选中模式。 10. 在Java编程中有两种常见的创建对象实例的方法,第一种是用new操作符调用类的构建器;第二种是调用类的newInstance方法,它返回一个对象实例的引用。创建InetAddress对象实例,需要采用第2种方法。(不要求) 11. DatagramPacket类用来创建UDP数据报。数据报按用途分为发送数据和接收数据。(不考) 12. 如果在执行catch块中的语句时也出现异常,try的代码将被跳过。 13. 例如以下源代码, public class Example1{ public static void main(String args[]){…} } 使用javac Example1.java语句编译该源程序,编译后相同路径下增加的文件名为Example1.class。 14. Java中使用FileInputStream读文件,是按字节流来处理数据的。 15. 以下代码, class MyString extends String{ … } 不能编译的原因是String是final类。 16. 在面向对象程序设计中通过动态绑定原理,使用单个变量(或方法)来引用不同类的对象,自动调用引用对象的对应方法。以上描述的是面向对象程序设计 多态 的特性。 17.J2EE是使用容器管理的应用平台,主要面向______企业______级别的市场。 18.异常类的最上层为Throwable类,此类有两个子类:Exception和____Error________。 19.Java 语言支持程序并行执行的多线程编程,实现了一般传统语言难以实现的某些功能;Java的线程是通过java.lang. Thread类来实现的,在该类中封装了虚拟的cpu。 20.Java 语言中,输入输出处理需要引入的包是java.io ,面向字符的输入输出类的基类是____Reader________和Writer。 21.OOP有三大特性,封装性、继承性、多态性;java中用关键字class把某些数据成员和方法成员对外隐藏起来,以避免数据成员被不正当的存取;这一操作是对OOP哪一个特性的具体体现 ____封装性________。 22.在Java程序中,通过类的定义只能实现单重继承,但通过______接口______的定义可以实现多重继承关系的模拟实现。 23.字符串分为两大类,一类是字符串常量,使用String类的对象表示;另一类是字符串变量,使用_____StringBuffer_______类的对象表示。 24.下列程序段的输出结果为_____Value is 2.Value is 3._______________________________ 。 int a=2; switch(a){ case 2: System.out.print("Value is 2."); case 3: System.out.println("Value is 3."); break; default: System.out.println("end"); break; 25. 过滤字节输出流都是_____OutputStream_______抽象类的子类。 26.Java中访问控制符(权限修饰符)有____public________,protected,private和默认修饰符(无修饰符)等。 27 Java程序分为应用程序和小程序两种,其中应用程序必须包含_____main__________方法,该方法的格式是public static void main(String args[])。小程序必须从___Applet___类继承而来。 28 Java程序通过___continue___________语句跳出本次循环。 29 列举一个最常见到的runtime exception(运行时异常类型)____ArrayStoreException___。 30 抽象类通过____abstract_____关键字声明,此关键字不能和___final___修饰符一起连用。 31若想引用util包中的所有类,其格式应该为__import java.util.*;_____________。 32已知定义字符串s,其格式为 String s=new String (“hello”). 若要求出s的长度,应调用String类中的____length()___方法。 33 若要实现多线程的同步处理,应用___Synchronized______修饰方法,使得被修饰的方法一次只能由一个线程使用。 34 阅读以下程序,输出结果为 ______4,5___________ 。 class MySuper { public long getLength(){ return 4; } } public class SubDemo extends MySuper { public long getLength(){ return 5; } public static void main (String[] args){ MySuper sooper = new MySuper(); SubDemo sub = new SubDemo(); System.out.println(sooper.getLength()+ "," + sub.getLength()); }} 35 请将下面程序填充完整: class fruit extends Thread { public void run() { for(int i=0;i<5;i++) { System.out.println(i+" "+this.getName()); } System.out.println("done!"+getName()); } } class two { public static void main(String args[]) { fruit f1=new fruit(); _______f1.start();__________________;//启动线程f1 } } 三、程序阅读题(这个老师没给,都是大家的答案,怎么看大家懂得~~) 4. 阅读以下程序: public class A { public static void main(String[] args) {String s,s1=""; char c; s=args[0]; for (int i=0;i<s.length();i++) { c=s.charAt(i); if(c>='a' && c<='z'){ s1=s1+Character.toUpperCase(c); }else{ s1=s1+Character.toLowerCase(c);}} System.out.println(s1);}} 若在dos命令行输入:java A ABcdE, 则输出为 abCDe 。 5. 阅读以下程序,输出结果为 -1 。 import java.io.*; public class ATest{ public static void main(String args[]) { SubClass sb = new SubClass( ); System.out.println(sb.funOfMod( )); }} class SuperClass{ int a = -10 , b =-3 ;} class SubClass extends SuperClass { int funOfMod( ) { return a%b; }} 6. 阅读以下程序,输出结果为 Programming ,java 。 public class Change{ public static void main(String[] args){ Changer c=new Changer(); c.method(args); System.out.println(args[0]+”,”+args[1]);}} class Changer{ void method(String[] s){ String temp=s[0]; s[0]=s[1]; s[1]=temp;}} 通过以下命令运行该程序, java Change Java Programming 7. 以下程序段的输出结果为 123 。 class C1 { C1 () { System.out.print ("1");}} class C2 extends C1 { C2() { System.out.print ("2");}} public class C3 extends C2 { C3() { System.out.println("3");} public static void main(String[] args) { C3 c = new C3( );}} 8. 以下程序段的输出结果为 aaacccbbb 。 class a{ public a(){ System.out.print("aaa");}} public class Extends extends a { Extends(){ this(12); System.out.print("bbb");} Extends(int x){ System.out.print("ccc");} public static void main(String[] args) { new Extends(); } } 五、编程题: 1. 编写一个输出"Hello World!"的程序(Application) 1 .public class Hello{ public static void main(string args[]) {System.out.println(“Hello World!”);} } 2 .设计一个Teacher类,包括4个String类型的私有字段Name、TeacherID、Address、Course,以及供外部访问(返回或设置)这4个私有字段对应的方法getName、setName、getTeacherID、setTeacherID、getAddress、setAddress、getCourse、setCourse。同时,Teacher类还有一个能按查询条件字符串(qryString)查询老师授课课程的方法queryCourse,若qryString与该Teacher的TeacherID相符,该方法返回字符串类型的课程名称(Course);若不相符,返回空字符串。 最后,编写Test类: 1) 声明Teacher类的对象 2) 设置该对象中的4个私有字段分别为:TeacherID=”001”、Name=”Peter”、Address=”Beijing”、Course=”OS” 假设qryString为001,查询该教师教授的课程;显示“Teacher:此处为对象的Name,Course:此处为对象的课程” 2. class Teacher{ private String Name; private String TeacherID; private String Address; private String Course; public void setName(String n){ Name=n; } public void setTeacherID(String ID){ TeacherID=ID; } public void setAddress(String add){ Address=add; } public void setCourse(String c){ Course=c; } public String getName(){ return Name; } public String getTeacherID(){ return TeacherID; } public String getAddress(){ return Address; } public String getCourse(){ return Course; } public String queryCourse(String qryString){ if (TeacherID.equals(
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服