JAVA练习题(第8章)

合集下载

Java语言程序设计第8章习题参考答案.docx

Java语言程序设计第8章习题参考答案.docx

习题八参考答案1.什么是组件?什么是容器?并说明各自的作用。

答:从实现角度来看,组件(Component)是构成GUI的基本要素,作用是通过对不同事件的响应来完成和用户的交互或组件之间的交互;容器是能容纳和排列组件的对象,如Applet> Panel (面板)、Frame (窗口)等,作用就是放置组件并控制组件位置。

2.简述Swing组件的优点。

答:Swing是在AWT基础上扩展而来的,提供了非常丰富的组件,远远多于AWT,并且引入了新的概念和性能,这使得基于Swing开发GUI应用程序比直接使用AWT开发更为灵活、方便、效率高,而且能设计出更优美的、感受更好的GUI。

3.简述容器的概念,结合8.4.7小节的内容,解释什么是应用程序的主框架?答:容器是用来容纳其他组件和容器的特殊组件,是由容器类(Container类)创建的对象。

在Java语言中,容器类是组件类(组件类Component类)的一个子类,具有组件的所有性质。

在AWT 技术中,容器类由java. awt包提供,主要包括面板类Panel、窗口类Window、结构类Frame、对话框类Dialog等。

在Swing技术中,容器类由javax. swing包提供,并可分为如下三类:>顶层容器:JFramc. JApplet. JDialog、JWindow;>中间容器:JPanel、JScrollPane^ JSplitPane、JDesktopPaneJToolBar;特殊容器:在GUI上起特殊作用的中间层,如J Interna IFrame、JLayeredPane、 JRootPaneo 应用程序的主框架由可以容纳应用程序各种组件的顶层容器创建,除了负责组件的管理外,通常还提供最大化、最小化、关闭按钮等,实现应用程序展现方式以及关闭等。

4.总结JFrame的使用要点,并说明内容面板的作用。

答:JFrame类包含很多设置窗体的方法,可以用setTitle(String tille)方法设置窗体标题,用setBounds(inl x,int y,int width,int height)方法设置窗体显示的位置及大小,用setVisable (Boolean b)方法设置可见与否(默认不可见)。

JAVA 习题题目及答案

JAVA 习题题目及答案

第2章
作业题
1. 参照例 2-1 编写一个 Java 应用程序,输出俄文字母表。 2. 参照例 2-4 编写一个 Java 应用程序,用户从键盘只能输入整数,程序输出这些整数的乘 积。
第 3 章问答题及作业题
第 3 章 问答题
1、下列 System.out.printf 输出的结果是什么? int a=100,x,y; x=++a; y=a--; System.out.printf(“%d,%d,%d”,x,y,a); 2、下列哪些语句有错误? int x=0; x=5.0/2; float y=12.5F; y=5.0/2;
第 5 章问答题及作业题
第 5 章 问答题
1、子类在什么情况下可以继承父类的友好成员? 2、子类通过怎样的办法可以隐藏继承的成员变量? 3、子类重写继承的方法的规则是什么? 4、子类的构造方法的第一条语句是什么? 5、子类对象一旦重写了继承的方法,就会隐藏继承的方法,是这样吗? 6、子类重写继承的方法时,可以降低方法的访问权限吗? 7、关键字 super 的用法? 8、假设父类有一个方法? public double f(double x, double y){ return x+y; }
第 4 章问答题及作业题
第 4 章 问答题
1、在声明类时,类名应遵守哪些习惯? 2、类体内容有哪两种重要的成员?
3、实例方法可以操作类变量吗?类方法可以操作实例变量吗? 4、当类的字节码加载到内存时,类变量就一定分配了内存空间吗? 5、类的实例变量在什么时候会被封分配内存空间? 6、一个类的类变量被该类创建的所有对象共享吗? 7、不同对象的实例变量分配的内存空间地址一定不同吗? 8、什么叫方法重载?构造方法可以重载吗? 9、请阐述,为什么类方法不可以调用实例方法。 10、请阐述,为什么类方法不能操作实例成员变量。 11、实例方法可以用类名直接调用吗? 12、 关键字 this 可以出现在构造方法中吗?可以出现在实例方法中吗?可以出现在类方 法中吗? 13、源文件中声明编写的类一定在同一个包中吗? 14、 “import java.awt.*;”和“import java.awt.Button”有什么不同? 15、程序中如果使用了“import java.util.*” ,程序运行时,要加载 java.util 包中全部的 类到内存中吗? 16、有几种访问权限修饰符?说出其中一种修饰符的作用? 17、怎样反编译一个类?

第7、8章 深入面向对象练习题

第7、8章  深入面向对象练习题

一、选择题(1)下列构造方法的调用方式中,正确的是()A.按照一般方法调用B.由用户直接调用C.只能通过new自动调用D.被系统调用(2)下列叙述中,正确的是( )A. 声明变量时必须指定一个类型B. Java认为变量number与Number相同C. Java中唯一的注释方式是"//"D. 源文件中public类可以有0或多个(3)下列叙述中,错误的是( )A. 父类不能替代子类B. 子类能够替代父类C. 子类继承父类D. 父类包含子类(4)下列关于继承的哪项叙述是正确的?A.在java中允许多重继承B.在java中一个类只能实现一个接口C.在java中一个类不能同时继承一个类和实现一个接口D.java的单一继承使代码更可靠(5)下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?( )A.private B.无修饰符C.public D.protected(6)给出下列代码,如何使成员变量m 被方法fun()直接访问?class Test{ private intm;public static void fun(){ ... }}A.将private int m 改为protected int mB.将private int m 改为public int mC.将private int m 改为static int mD.将private int m 改为int m(7)下列关于内部类的说法不正确的是( )A.内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用B.内部类可以使用它所在类的静态成员变量和实例成员变量C.内部类不可以用abstract修饰符定义为抽象类D.内部类可作为其他类的成员,而且可访问它所在类的成员(8)在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序特性称为()。

Java语言程序设计(郑莉)第八章课后习题答案

Java语言程序设计(郑莉)第八章课后习题答案

Java语言程序设计(郑莉)第八章课后习题答案1.进程和线程有何区别,Java是如何实现多线程的。

答:区别:一个程序至少有一个进程,一个进程至少有一个线程;线程的划分尺度小于进程;进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

Java程序一般是继承Thread类或者实现Runnable接口,从而实现多线程。

2.简述线程的生命周期,重点注意线程阻塞的几种情况,以及如何重回就绪状态。

答:线程的声明周期:新建-就绪-(阻塞)-运行--死亡线程阻塞的情况:休眠、进入对象wait池等待、进入对象lock池等待;休眠时间到回到就绪状态;在wait池中获得notify()进入lock池,然后获得锁棋标进入就绪状态。

3.随便选择两个城市作为预选旅游目标。

实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000毫秒以内),哪个先显示完毕,就决定去哪个城市。

分别用Runnable接口和Thread类实现。

(注:两个类,相同一个测试类)//Runnable接口实现的线程runable类publicclarunnableimplementRunnable{privateStringcity;publicr unnable(){}publicrunnable(Stringcity){thi.city=city;}publicvoidrun(){for(inti=0;i<10;i++){Sytem.out.println(city);try{//休眠1000毫秒。

Thread.leep(1000);}catch(InterruptedE某ceptione){e.printStackTrace();}}}}//Thread类实现的线程thread类publicclarunnablee某tendThread{privateStringcity;publicrunnable(){}publicrunnable(Stringcity){thi.city=city;}publicvoidrun(){for(inti=0;i<10;i++){Sytem.out.println(city);try{//休眠1000毫秒。

(部选)JAVA各章习题及答案

(部选)JAVA各章习题及答案

【编程分析】 要编写 Java Application 类型的程序,需要在 Exclipse 中创建一个 Java Application 类型的工程,这时 Exclipse 会自动创 建程序框架,该框架包含一个公共类,其中包含一个 main()方法。删除 main()方法中自动生成的代码,编写自己的代码即可。由于该 程序要求输出一句话,因此在 main()方法中直接调用 System.out.println()或 System.out.print()方法即可实现。 【参考程序】 public class X3_1 { public static void main(String args[]){ System.out.println("This is my first Java Application!"); } } 【运行结果】 This is my first Java Application! 第2章 一、选择题 1.下列( D )是合法的标识符? (A)12class (B)void (C)-5 (D)_blank 【解析】根据 Java 标识符的构成规则确定。 2.下列( B )不是 Java 中的保留字? (A)if (B)sizeof (C)private (D)null 【解析】根据 Java 保留字表进行选择。 3.下列( C )不是合法的标识符? (A)$million (B)$_million (C)2$_million (D)$2_million 【解析】根据 Java 标识符的构成规则确定。 4.下列选项中, ( B )不属于 Java 语言的基本数据类型? (A)整数型 (B)数组 (C)浮点型 (D)字符型 【解析】根据 Java 语言的基本数据类型包含的类别选取。 5.下列关于基本数据类型的说法中,不正确的一项是( D ) 。 (A)boolean 类型变量的值只能取真或假 B)float 是带符号的 32 位浮点数 C)double 是带符号的 64 位浮点数 D)char 是 8 位 Unicode 2

第8章 Java Applet编程

第8章  Java Applet编程

8.5 小

• 本章中,对Applet的基础知识,工作原理、生命 周期,以及Applet的部署和基本事件的处理,还 有向Applet传递参数等等作了详细介绍。总的来 说,基于Applet的应用有很多,由于篇幅关系, 这里不再详细介绍,留待读者进一步在实践中去 探索。
8.1.1 Applet的特点
• • • • 应用小程序Applet能够完成以下的工作: (1)Applet能够播放声音; (2)Applet运行在Web浏览器中,它提高了HTML文档的交互性; (3)Applet能够调用在同一页中其他应用小程序的公共(Public) 函数; • (4)Applet可以从本地文件系统中装载(用户在CLASSPATH中定 义的路径),那么从网络装载时所产生的约束将不再适用于这个 Applet; • (5)虽然一旦离开Applet所在的页,大多数Applet将停止运行, 但是这并不是绝对的,通常,大部分Applet具有良好的行为,后 面介绍的stop()函数,目的就在于在编程者离开其所在页时停止 进程的运行,但是,有时候希望让Applet继续运行,例如用户让 Applet执行一个复杂的运算,那么当离开其所在的页时,编程者 希望这个运算能继续进行下去。
第8章 Java Applet编程
• 在这一章中,将介绍Applet网页小应用程序。 Applet网页小应用程序是个面向网络的程序。可 以用来让程序员创建应用程序,并放置在网络服 务器上,而用户可以通过网络下载这些应用程序, 并利用浏览器安全地运行。
8.1 Applet基础知识
• Java Applet小应用程序是一种特殊的Java程序。 这种小程序运行在支持Java的浏览器上,同时也 可以使用JDK所带的appletviewer命令来测试。要 让小程序运行,需要将已经编译好的字节码文件 (.class文件),用特殊标记嵌入到HTML语言编 写的Web页面中。这样,当打开Web页面时,浏览 器会使用内置的Java解释器来运行小程序。

Java语言程序设计(郑莉)一到八章课后习题答案

Java语言程序设计(郑莉)一到八章课后习题答案

第二章习题答案1.什么是对象、类,它们之间的联系?答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。

对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。

现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。

2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!两者的关系:对象是类的具体实例.。

2.什么是面向对象的程序设计方法?它有那些基本特征?答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。

它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。

它的特征:抽象,封装,继承,多态。

3.在下面的应用中,找出可能用到的对象,对每一个对象,列出可能的状态和行为。

1)模拟航空预订系统交易的程序2)模拟银行交易的程序答:1)航空预订交易:状态:旅客姓名,身份证号,联系号码,出发地址,抵达地址,出发日期。

行为:订票,领票,买票,退票。

2)银行交易:状态:客户姓名,账号,身份证号。

行为:存款,取款,汇款。

4.请解释类属性、实例属性及其区别。

答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。

5.请解释类方法、实例属性及其区别。

答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。

类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。

区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法;6.类的访问控制符有哪几种?具体含义及其区别。

答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。

区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。

Java2实用教程(第四版)课后习题1-8章答案最终

Java2实用教程(第四版)课后习题1-8章答案最终

习题一(第1章)一、问答题1.James Gosling2.需3个步骤:1)用文本编辑器编写源文件。

2)使用javac编译源文件,得到字节码文件。

3)使用解释器运行程序。

3.由类所构成,应用程序必须有一个类含有public static void main(String args[])方法,含有该方法的类称为应用程序的主类。

不一定,但最多有一个public类。

4.Path设置为:D:\jdk\jdk1.7.0_40\bin;(以安装的1.7.0_40版本为例。

)ClassPath设置为:set classpath=D:\jdk\jre\lib\rt.jar;.;5..java和.class6. java Bird7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1.B。

2.D。

三、阅读程序1.(a)Person.java。

(b)两个字节码,分别是Person.class和Xiti.class。

(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您nice to meet you”习题二(第2章)一、问答题1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。

标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。

false不是标识符。

2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。

不是关键字。

class implements interface enum extends abstract。

3.boolean,char,byte,short,int,long,float,double。

4.float常量必须用F或f为后缀。

double常量用D或d为后缀,但允许省略后缀。

5.一维数组名.length。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【答案】: A
11.编译并运行以下代码片段,结果是( ) Hashtable table = new Hashtable(); table.put("Java", "Platform Independence"); table.put("Java", "Great Language!"); System.out.println("Java : " + table.get("Java")); A.代码编译时未能通过 B.输出Java : Platform Independence C.输出Java : Great Language! D.输出Java : Platform IndependenceGreat Language! E.运行期异常 【答案】: C
cccbbbaaa
请在下面程序的划线处填上适当的语句,使 源文件能够编译成功,并生成类 com.sun.cert.AddressBook。
1. 2. 3. 4.
5.
6. 7. 8. 9. 10. 11.
java.util.*; public class AddressBook { private ArrayList list; private static final int size=10; public AddressBook( ) { list=new ArrayList(size); for(int i=0;i<size;i++) { list. (new Integer(i)); 加新结点 } }
6.应用程序的main方法中有以下语句,则输出的结 果是 。 Hashtable hashtable=new Hashtable(); hashtable.put("100","aaa"); hashtable.put("200","bbb"); hashtable.put("300","ccc"); System.out.println(hashtable.get("300").toString() + hashtable.get("200").toString() + hashtable.get("100").toString());
Hale Waihona Puke 9.在Java中,关于HashMap类的描述,以下说法错 误的是()。 A. HashMap使用键/值的形式保存数据 B. HashMap能够保证其中元素的顺序 C. HashMap允许将null 用作键 【答案】: B D. HashMap允许将null用作值 10.set collection 遇到重复的元素,处理的方式是 ( )。 A.试图添加一个重复的元素时,会抛出一个异常 B.试图添加一个重复的元素时,重复元素将不能被 加入 【答案】: B C.一个set可以包含重复元素 D.编译的时候,重复的元素会导致错误
abcde
5.应用程序的main方法中有以下语句,则输 出的结果是 。 Hashtable hashtable=new Hashtable(); hashtable.put("x","12345"); hashtable.put("y","67890"); hashtable.put("a","abcde"); System.out.println(hashtable.get("a"));
2.import java.util.*; public class TestList{ public static void main(String args[]){ List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(“Hello”); Hello list.add(“Learn”); Learn list.remove(“Hello”); list.remove(0); for(int i = 0; i<list.size(); i++){ System.out.println(list.get(i)); } } }
二、读程序写结果
1. import java.util.*; public class T { public static void main(String args[]) { Set set = new TreeSet(); set.add(new Integer(10)); set.add(new Integer(5)); set.add(new Integer(15)); set.add(new Integer(5)); set.add(new Integer(10)); System.out.println("size = " + set.size()); Iterator it=set.iterator(); size = 3 while(it.hasNext()){ System.out.print(it.next()+" "); 5 10 15 } } }
【答案】: B 4.一段文本中包含100个单词。要求你将这100个单 词中互不相同的单词一一列出来,且要求你指出 文本中互不相同的单词的个数。使用Java的哪个 collection类和该类的哪个方法来实现?( ) A.java.util.LinkedList 类, 该类的size() 方法 B.java.util.HashSet 类, 该类的size() 方法 C.java.util.HashMap 类, 该类的size() 方法 D.java.util.ArrayList 类, 该类的size() 方法
3.import java.util.*; public class VectorDemo { public static void main(String[] args) { Vector vector=new Vector(); Vector's length is: 7 vector.addElement("One"); Vector's contents is:[One, 1, 1, Two, 2, 1, 1] vector.addElement(new Integer(1)); [One, 1, Three, 3.6, 1, Two, 2, 1, 1] vector.addElement(new Integer(1)); [One, 1, Four, 3.6, 1, Two, 2, 1, 1] vector.addElement("Two"); vector.addElement(new Integer(2)); vector.addElement(new Integer(1)); vector.addElement(new Integer(1)); System.out.println("Vector's length is: "+vector.size()); System.out.println("Vector's contents is:"+vector); vector.insertElementAt("Three",2); vector.insertElementAt(new Float(3.6f),3); System.out.println(vector); vector.setElementAt("Four",2); System.out.println(vector); }}
5. 在java中,()对象可以使用键/值的形式保存数 据。 (选择一项) A.ArrayList 【答案】: C B.HashSet C. HashMap D.LinkedList 6. 类java.util.HashMap 实现了()接口。 A. Collection B.Set C.Map D. List 【答案】: C
2.下面说法不正确的是( )? A.列表(List)、集合(Set)和映射(Map)都是java.util包 中的接口。 【答案】: D B.List接口是可以包含重复元素的有序集合。 C.Set接口是不包含重复元素的集合。 D.Map接口将键映射到值,键可以重复,但每个键 最多只能映射一个值。
3.以下哪项明确定义各个元素是顺序存放的?( ) A.List B.Set C.Map 【答案】: A D.Iterator
7.在java中,()接口位于集合框架的顶层 A. Map B.Collection C.Set D. List 【答案】: B 8..java中,以下()接口以键 -值对的方式存 储对象。 A.java.util.Collection B.java.util.Map 【答案】: B C.java.util.List D.java.util.Set
4. import java.util.*; public class VectorDemo { public static void main(String[] args) { Vector v=new Vector( ); v.add("苹果"); v.add(0,"香蕉"); v.add("芒果"); v.add("橘子"); 香蕉 葡萄 苹果 芒果 橘子 芒果 v.add(1,"葡萄"); System.out.println( v ); String name=(String) v.get(3); System.out.println(name); } }
相关文档
最新文档