JAVA_复习.doc_第1页
JAVA_复习.doc_第2页
JAVA_复习.doc_第3页
JAVA_复习.doc_第4页
JAVA_复习.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、简答题1Java语言有哪些特点Java语言是简单的、面向对象的、分布式的、健壮的、安全的、体系结构中立的、可移植的、编译解释型的、高性能的、多线程的、动态的等等。2参考答案Java程序执行的具体过程如图1所示。 图1 Java程序的运行机制3参考答案Java程序在计算机在执行要经历以下几个阶段:(1)使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(JCreater、Eclipse、MyEclipse等)编辑Java源文件,其文件扩展名为.java。(2)通过编译使.java的文件生成一个同名的.class文件。(3)通过解释方式将.class的字节码文件转变为由0和1组成的二进制指令执行。在以上阶段中可以看出Java程序的执行包括了编译和解释两种方式。4图形用户界面的构成及各自的作用java.awt包提供了基本的Java程序的GUI设计工具。主要包括三个概念:组件(Component)、容器(Container)和布局管理器(Layout Manager)。组件(Component)是Java的图形用户界面的最基本组成部分,组件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象。容器(Container)也是一个类,实际上是Component的子类,因此容器本身也是一个组件,具有组件的所有性质,但是它的主要功能是容纳其他组件和容器。每个容器都有一个布局管理器(Layout Manager),当容器需要对某个组件进行定位或判断其大小尺寸时,就会调用其对应的布局管理器。 5使用Swing开发GUI程序需要7个步骤使用Swing开发GUI程序需要7个步骤:(1)引入swing包(2)选择外观和感觉(3)设置顶层容器(4)设置按钮和标签(5)向容器中添加组件(6)在组件周围添加边界(7)进行事件处理6JFrame与JPanel的区别 JFrame是与AWT中的Frame相对应的Swing组件。JFrame上面只能有一个唯一的组件,这个组件为JRootPane,调用JFrame.getContentPane()方法可获得JFrame中内置的JRootPane对象。面板(JPanel)是一个轻量级容器组件,是一种没有标题的中间容器,用于容纳界面元素,以便在布局管理器的设置下容纳更多的组件,实现容器的嵌套。JPanel,JScrollPane, JSplitPane和JInternalFrame都属于常用的中间容器,是轻量级组件。JPanel的默认布局管理器是FlowLayout。这类容器不能独立存在,必须通过add()方法添加到一个顶层容器或存在于顶层容器的一个中间容器。7JComboBox与JList的区别下拉列表框(JComboBox)与列表框相似,它同样是一个有许多选项的选择组件,但下拉列表框中所有选项都被折叠收藏起来,且只会将用户所选择的单个选项显示在显示栏上。要改变被选中的选项,可以单击下拉列表框右边的向下箭头,然后从伸展开的选项框中选择一个选项即可。下拉列表框JComboBox继承自JComponent类。列表框组件JList向用户提供“多选多”的输入选择,列表框通常列出若干选项,可指定列出选项的数目,超过长度时被折叠起来。列表框中提供了多个文本选项,可以浏览多项。Java语言以JList类来创建列表框组件,JList类继承自JComponent类。列表框组件的使用方式非常简单,先用JList类的add()方法将选项加入到列表框中,然后再利用程序来控制列表框的显示方式。8JMenu组件的层次结构是什么样的 每个菜单项的作用与按钮相似,也是在单击时引发一个动作命令,所以整个菜单就是一组层次化组织、管理的命令集合,使用它用户可以方便地向程序发布命令。它们的层次结构如图2所示。ObjectComponentContainerJComponentAbstractButtonJMenuTemJMenuBarJPopupMenuJSeparatorJMenuJCheckBoxMenuItemJRadioButtonMenuItem图2 菜单的层次结构9什么是事件源?什么是监听者?JAVA图形界面中,谁可以当事件源?谁可以当监听者?事件处理的特殊之处在于其操作的启动不是主动地掌握在程序流程中,而是由与程序交互的用户在使用程序时即兴决定的。相应地,事件处理机制必须具有监听的功能,以便随时监测用户的动作。要实现监听功能,必须有事先定义好的事件,并规定不同事件由什么事件源产生,有什么监听者处理。事件源是可能产生事件的图形用户界面组件。监听者定义了处理事件源所产生的事件的操作,把事件源注册给按事件类型匹配的监听者后,系统在监听到事件源产生的事件后自动调用监听者中定义的操作完成交互过程,这就是 Java 的事件处理机制。把事件源注册给监听者,让监听者处理事件,称为委托事件模型。能够产生事件的就时间源,实现了处理事件的接口的就是监听者。在 Java 图形用户界面中,事件源通常是各种控制组件,监听者通常是各种容器相关。 10动作事件源有哪些?如何响应动作时间?按钮(JButton)、文本组件(JTextField,JTextArea)、列表(JList)和菜单选项(JMenuItem)都是动作事件源。响应动作事件需要注册动作事件源,实现 actionPerformed( )方法。二、编程题1 输出:I LOVE JAVA2用if-else if结构实现下面的符号函数y=1 x0 0 x=0-1 x03. 设x=10,y=5,试用switch结构实现当输入字符+、-、*、/时,分别计算x,y的和、差、积、商。4. 计算给定维数组的各元素的平均值。5. 定义人类Human及其子类Child。其中Human具有姓名name、年龄age属性成员,具有无参构造及有参构造方法Human(String name,int age),其他方法有walk()。Child子类还具有schoolName属性成员及其有参构造方法,具有study()方法,且重写父类方法walk()6. 定义接口及实现接口方法示例。interface IMammalpublic abstract void speak();public abstract void eat();public abstract void sleep();class Dog implements IMammalpublic void speak()System.out.println(汪汪叫.); public void eat()System.out.println(爱吃肉骨头.); public void sleep()System.out.println(晚上睡觉.); class Cat implements IMammalpublic void speak()System.out.println(喵喵叫.); public void eat()System.out.println(爱吃小鱼.); public void sleep()System.out.println(白天睡觉.); public class Demo public static void main(String args)Dog d = new Dog();System.out.println(狗的特点:);d.speak();d.eat();d.sleep();Cat c = new Cat();System.out.println(狗的特点:);c.speak();c.eat();c.sleep();7.捕获数组下标越界异常。public class demopublic static void main(String args)tryint i,sum=0;int a=1,2,3,4,5,6,7,8,9,10;for(i=0; i=10; i+)sum = sum+ai;System.out.println(sum=+sum);catch(ArrayIndexOutOfBoundsException e)System.out.println(e.toString();finallySystem.out.println(end.); 8.捕获除零异常。public class demopublic static void main(String args)tryint a=5,b=0;System.out.println(a/b=+a/b);catch(ArithmeticException e)System.out.println(e.toString();finallySystem.out.println(end.);9. 产生十个不大于100的整数。import java.util.*;public class RandomDemopublic static void main(String args) Random num=new Random(); for(int i=0;i10;i+) System.out.print(num.nextInt(100)+”t”); 10. 利用Calendar类实现2011年4月的日历显示。import java.util.*;public class CaleDemo public static void main(String args) System.out.println( 日 一 二 三 四 五 六);Calendar rili=Calendar.getInstance(); rili.set(2011,3,1); /将日历翻到2011年4月1日 int xingqi=rili.get(Calendar.DAY_OF_WEEK)-1; String a=new Stringxingqi+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论