Java6程序设计实践教程ch7

合集下载

java结构化程序设计(一)

java结构化程序设计(一)

书上29页
2.3. 控制语句


(2)再思考:定义一个int变量x并赋值[0-100]。 当x<60,输出“不及格”,当60<=x<80输出 “良”,当80=<x<100输出“优” 用 if -- else if – else 语句来完成
Int x=78; ….
2.3. 控制语句


(2)再思考:定义一个int变量x并赋值[0-100]。 当x<60,输出“不及格”,当60<=x<80输出 “良”,当80=<x<100输出“优” 用 if -- else if – else 语句来完成
例4: int x=10,y=2,z; System.out.println("x="+(++x)+"+y="+(x+y));
3.算术混合运算的精度
精度从“低”到“高”排列的顺序是: byte short int long float double Java将按运算符两边的操作元的最高精度保留结果的精度, 例如: 5/2的结果是2,要想得到2.5,必须写成5.0/2或5.0f/2。 char型数据和整型数据运算结果的精度是int。例如: byte x=7; 那么 ‘B‟+x; 的结果是int型,因此下列代码结果是什么? char ch=‟B‟+x; Example2_2_3.java
练习Example2_2_2:
例1: int x=10,z; z=x++;
例2: int x=10,y=2,z; z=x+++--y;
2.自增,自减运算符:++,-

java程序设计试题库

java程序设计试题库

《Java语言程序设计基础教程》练习思考题参考答案第1 章Java 程序设计概述1.1 单项选择题1.编译Java Application源文件将产生相应的字节码文件,扩展名是什么A. .javaB. .classC. .htmlD. .exe解答:B2.Java语言具有许多优点和特点,下列选项中,哪个反映了Java中“一次编译,随处运行”的特点。

A. 简单性B. 平台无关性C. 面向对象性D. 安全性解答:B3.Java语言具有许多优点和特点,下列选项中,哪个反映了Java中并行机制的特点。

A. 多线程B. 平台无关性C. 面向对象性D. 安全性解答:A4.在Java语言中,下列哪些语句关于内存回收的说明是正确的?A.程序员必须创建一个线程来释放内存;B.内存回收程序负责释放无用内存;C.内存回收程序允许程序员直接释放内存;《Java语言程序设计基础教程》2D.内存回收程序可以在指定的时间释放内存对象解答:B5.一个Java源文件中最多只能有多少个public 类。

A. 1 个B. 2 个C. 3个D. 任意多个解答:A6.下面哪一个不是Java语言所具有的特点。

A. 没有全局变量,在类的定义外部没有任何的变量定义;B. 不直接支持指针操作,而使用更安全的引用类型;C. 支持子类对父类的多继承;D. 具有自动垃圾收集功能;解答:C7.下面哪一个不是Java开发工具包JDK 的组成部分。

A. Java的编译器;B. Java的解释器;C. Java的API 继承类库;D. Eclipse开发工具;解答:C8.JDK 提供的编译器是()。

A. java.exeB. javac.exeC. javap.exeD. javaw.exe解答:B9.作为Java应用程序入口的main 方法,其声明格式可以是()A. public void main(String [] args)B. public static void main(String [] args)C. public static void Main(String * args)D. public int main(String [] args)2《Java语言程序设计基础教程》 3 解答:B10.下列说法正确的是( A )A、JAVA 程序的main 方法必须写在类里面B、JAVA 程序中可以有多个main 方法C、JAVA 程序中类名必须与文件名一样D、JAVA 程序的main 方法中如果只有一条语句,可以不用{}( 大括号)括起来11.下列哪些语句关于Java内存回收的说明是正确的? ( B )A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象1.2 填空题1、开发与运行Java 程序需要经过的三个主要步骤为____________、____________和____________。

答案

答案

第一次单元测试题一、选择题1、下列选项中,不属于面向对象程序设计特征的是。

A、继承性B、多态性C、类比性D、封装性『答案』C『解析』面向对象程序设计的特征有标识唯一性、分类性、多态性、继承性、封装性和模块的独立性好。

2、在面向对象的程序设计中,所描述的是具有相似的属性和操作的一组对象。

『答案』类『解析』将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。

所以,类是对象的一种抽象,它描述了属于该对象类型的所有对象性质,而一个对象则是其所对应类的实例。

3、在面向对象程序设计技术中,是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象,也可以发送给子类对象。

『答案』多态性『解析』对象根据所接收的消息而做出动作,同样的消息被不同的对象接收时可能导致完全不同的行动,这种现象称为多态性。

在面向对象程序设计中,多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象,也可以发送给子类对象。

4、Java语言与C++语言相比,其突出的特点是()。

A、面向对象B、高性能C、跨平台D、有类库『答案』C『解析』C++语言和Java语言都是面向对象程序设计语言,都拥有丰富的类库。

同时,C++作为目前主流编程语言之一,其高性能也是主要特点之一。

Java程序经编译后生成的字节码并不直接在操作系统运行,而是通过Java虚拟机(JVM)解释后执行,因而Java程序可以安装JVM的任何平台上运行,具有很强的跨平台和可移植性,这是Java和C++相比最大的不同点。

5.Java是从()语言改进重新设计。

A.Ada B.C++ C.Pasacal D.BASIC答案:B6.关于“交通工具”和“火车”,以下说法正确的是()A. 它们之间是关联关系B. 它们之间是包含关系C. 它们之间是继承关系D. 以上说法均不恰当答案:B7. 以下叙述中不属于Java语言特点的是()。

A.面向对象 B.可移植性 C.多线程 D.宏定义答案:D8、下列关于Java语言特点的叙述中,错误的是()。

JAVA语言设计

JAVA语言设计

JAVA语言设计一、要求:1、熟悉java语言特点、运行和基本开发工具2、了解java application(应用程序)java applet(小应用程序)程序3、下载J2SE (Java2的标准版)开发工具,熟悉使用了解java原代码、字节码文件4、掌握java程序的编辑、编译和运行过程。

二、Java语言的特点:1、简单2、面向对象广泛3、分布性访问网络4、鲁棒性自身检查5、安全性不支持指针6、平台独立性7、可移植性8、解释执行9、多线程10、动态性三、Java运行平台1、J ava虚拟机2、J ava ApI(接口)3、J ava应用程序四、JDK1.x()中下载1、修改环境变量path和classpath我的电脑-属性-高级-环境变量-path-编辑新建classpath-d:\gp-确定2、使用任意文本编辑编写java(原程序.java)。

3、编辑java程序。

如java test.java得到与源文件同名但后缀为.class的字节码。

保存在d:\gp文件夹4、检查:程序-附件-命令提示符-javac d:\gp\test.java-回车5、运行java程序,Java字节码文件如java.text-回车6、实例:public class test{public static void main (string args[]){System. Out. println("Hello!");}}五、java application(应用程序)\\filename: helloworldapp.javaPublic class Helloworldapp{Public static void main (string arge[ ]){System. out. paintln (“Hellow orld”);}}java applet(小应用程序)import java . aut.*impaort java .applet.*public class Hellowapplet extends Applet{public void paint(Graphics g){ g. draw string (“Hello world!”,20,20);}}通过嵌入Html,浏览器调用页面。

华师网络学院作业答案-Java语言程序设计程序题

华师网络学院作业答案-Java语言程序设计程序题

.定义类A和类B如下. (5分)class A{int a=1;double d=2.0;void show( ){System.out.println("Class A: a="+a +"\td="+d);}}class B extends A{float a=3.0f;String d="Java program.";void show( ){super.show( );System.out.println("Class B: a="+a +"\td="+d);}}(1) 若在应用程序的main方法中有以下语句:A a=new A();a.show();则输出的结果如何?(2分)(2) 若在应用程序的main方法中定义类B的对象b:A b=new B();b.show();则输出的结果如何?(3分)答案:(1) Class A: a=1 d=2.0(2) Class A: a=1 d=2.0Class B: a=3.0 d=Java program.阅读程序,回答以下问题1: public class Output1 {2: public static void main(String arge[]) {3: int i=0;4: for ( char ch = 97; ch<113; ch++,i++) { 5: if( i % 8 == 0 )6: System.out.println(" "); 7: System.out.print("\t" +ch);8: }9: }10: }(1)程序第5、6行的if语句的功能是什么?(2分)(2)程序输出的结果有几行?(3分)答案:(1)每打印8个字符,则换行。

(2)输出的结果有2行1: public class A {2: public static void main(String[] args) {3: long first=1,second=1,third;4: System.out.print(first + " " + second + " "); 5: for(int i = 3; i <= 6; i++) {6: third = first + second;7: System.out.print(third + " ");8: first = second;9: second = third;10: }11: }12: }(1)程序第5~10行的for循环共循环几次? (2分)(2)程序输出的结果是什么?(3分)答案:(1)4次。

Java程序设计单元测试二与答案

Java程序设计单元测试二与答案

一、单选题1、以下代码的输出结果为()。

public class Test{int x=5;public static void main(String argv[ ]){ Test t=new Test();t.x++;change(t);System.out.println(t.x);}static void change(Test m){m.x+=2;}}A.8B.5C.6D.7正确答案:A2、给出如下不完整类: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){//给属性name,age 赋值,比如:name=n;age=a;department = d;}}可取代注释部分位置内容达到注释的目标的是()。

A.this(Person(n,a));B.this(n,a);C.this(name,age);D.Person(n,a);正确答案:B3、以下程序的运行结果为?public class Test {static int count;public static void main(String args[]) {int sum=0;for (int count=0;count<4;count++)sum+=count;System.out.println(count);}}A.4B.0C.6D.3正确答案:B4、考虑如下类:public class Test {public static void test() {this.print();}public static void print() {System.out.println("Test");}public static void main(String args []) {test();}}则程序调试结果为?A.无构造方法,不能创建对象B.编译错误,不能在静态上下文环境中引用thisC.无输出结果.D.输出Test正确答案:B5、给出下面代码:public class Person{static String arr[] = new String[5];public static void main(String args[ ]) {System.out.println(arr[1]);}}以下那个说法正确?A.输出nullB.编译正确,运行时将产生错误C.编译时将产生错误D.输出0正确答案:A6、针对以下程序的表述正确的是? public class Test {public static void print() {System.out.println("Test");}public static void main(String args []) {this.print();}}A.抛出对象未创建的运行异常B.编译错误,不能在静态上下文环境中引用thisC.在标准输出设备上无输出结果.D.输出Test正确答案:B7、针对以下程序的描述哪个正确?public class User{String name;public static void main(String args []) {User u=new User();System.out.println();}}A.输出结果为nullB.编译错误,因为name没有赋值,不能访问C.运行出现异常D.出现编译错误,因为没有定义构造方法,正确答案:A8、编译和运行程序会出现什么结果?public class Ref{int i=100;public static void main(String argv[]){ Ref r = new Ref();r.i++;r.amethod(new Ref());}public void amethod(Ref r){System.out.println(i);System.out.println(r.i);}}A.101101B.出现编译出错C.100101D.101100正确答案:D9、以下程序调试结果为()。

java程序设计试题库

《Java语言程序设计基础教程》练习思考题参考答案第1章 Java程序设计概述1.1单项选择题1.编译Java Application源文件将产生相应的字节码文件,扩展名是什么A. .javaB. .classC. .htmlD. .exe解答:B2.Java语言具有许多优点和特点,下列选项中,哪个反映了Java中“一次编译,随处运行”的特点。

A. 简单性B. 平台无关性C. 面向对象性D. 安全性解答:B3.Java语言具有许多优点和特点,下列选项中,哪个反映了Java中并行机制的特点。

A. 多线程B. 平台无关性C. 面向对象性D. 安全性解答:A4.在Java语言中,下列哪些语句关于内存回收的说明是正确的?A.程序员必须创建一个线程来释放内存;B.内存回收程序负责释放无用内存;C.内存回收程序允许程序员直接释放内存;D.内存回收程序可以在指定的时间释放内存对象解答:B5.一个Java源文件中最多只能有多少个public类。

A. 1个B. 2个C. 3个D. 任意多个解答:A6.下面哪一个不是Java语言所具有的特点。

A. 没有全局变量,在类的定义外部没有任何的变量定义;B. 不直接支持指针操作,而使用更安全的引用类型;C. 支持子类对父类的多继承;D. 具有自动垃圾收集功能;解答:C7.下面哪一个不是Java开发工具包JDK的组成部分。

A. Java的编译器;B. Java的解释器;C. Java的API继承类库;D. Eclipse开发工具;解答:C8.JDK提供的编译器是()。

A. java.exeB. javac.exeC. javap.exeD. javaw.exe解答:B9.作为Java应用程序入口的main方法,其声明格式可以是()A. public void main(String [] args)B. public static void main(String [] args)C. public static void Main(String * args)D. public int main(String [] args)解答:B10.下列说法正确的是( A )A、 JAVA程序的main方法必须写在类里面B、 JAVA程序中可以有多个main方法C、 JAVA程序中类名必须与文件名一样D、 JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来11.下列哪些语句关于Java内存回收的说明是正确的? ( B )A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象1.2填空题1、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。

java实验报告 动画设计

:****姓名:**** 学号:******0127Java实验报告(九):动画特效一、实验目的1. 掌握Applet的绘图方法。

2. 掌握Applet的动画技术。

3. 掌握AWT 中的组件的创建及使用。

二、实验内容:编写一个具有GUI的Java程序。

实训例子:编写一个Java程序,Applet中的动画:物体的垂直上抛运动,并且利用刻度条控制初速度。

三、实验步骤:1) 、创建Java 类。

在“包资源管理器”中用鼠标右击项目“Practical”,选择快捷菜单中“新建”→“Visual Class”;在打开的“New Java Visual Class ”窗口中,“源文件夹”的默认值是项目的文件夹,不需要更改,“包”栏中输入程序包的名称“ch8”。

“名称”栏中输入类名“Sujian”,在“Style ”列表框中选择“AWT”→“Applet”,单击“完成”按钮,一个含有GUI 程序界面以及代码的编辑器窗口被打开。

将类的属性“layout”改为“BorderLayout”。

2) 、添加组件。

首先在“Palette”面板中打开“A WT Controls”界面,单击“Panel”将其置于程序界面的“North”处,并将属性改为“FlowLayout”,再单击“Scrollbar”,将其置于程序界面的“South”处,并将其“orientation”属性改为“HORIZONTAL”,修改maximum 属性为25,minimum属性为8。

从“Pallete”工具栏中依次单击组件“button”选择一个“button”。

更改“button”组件的属性为“上抛”如下所示。

3)、在编译器中修改类声明为:public class Sujian extends Applet implements Runnable 添加run()方法:public void run() {while(true){T+=0.1;S=V*T-0.5*G*T*T;if(S<=0){S=0;repaint();break;}repaint();try{Thread.sleep(100);}catch(Exception e){ break; } }}}添加类的成员变量声明:private double S,V,T;private final double G=9.8;其中S、V、T分别代表位移、初速度、时刻。

《Java》课程设计》记事本

《Java课程设计》记事本课程设计报告书目录一、设计课题二、设计目的三、操作环境四、设计场所(机房号、机器号或自己机器)五、设计过程(设计内容及主要程序模块)六、本次设计中用到的课程知识点(列出主要知识点)七、设计过程中遇到的问题及解决办法八、程序清单五、设计过程(设计内容及主要模块,不少于3000字)1.设计要求1)界面设计2)功能实现(1)文件菜单:新建、打开、保存、另存为、退出等。

(2)其中新建菜单项可以新建一个记事本程序;打开菜单项可以打开一个用户指定的文本文件,并将其内容显示在记事本的文本区域;保存和另存为菜单项可分别实现文件的保存和另存为3)编辑菜单:复制、剪切和粘贴等4)帮助菜单:软件版本信5)右键弹出快捷菜单2.总体设计1)功能模块图:图一功能模块图2)功能描述1、打开记事本。

首先是标准型的记事本,拥有文件、编辑。

格式和帮助。

如图1所示:图1标准型记事本界面2、在标准型的记事本界面中,进行的新建一个本件名字叫新记事本。

如图2记事本文件帮助新建打开保存另存为退出复制剪切粘贴编辑关于记事本右键快捷格式字体颜色图2新建记事本功能3、用打开文件打开刚刚新建的新记事本。

如图三所示。

图3—打开文件4、点击退出即可退出,如图4所示:图4—退出记事本5、点击帮助可以看到有关记事本的相关信息,其中有作者名、版本、许可条款、隐私声明等必要信息。

如图5所示:图5—帮助相关信息6、右键可实现复制、粘贴、剪切、清除等常用功能,方便用户可以快捷方便的使用记事本。

如图6所示:图6—右键功能7、编辑也可实现制、粘贴、剪切、清除等常用功能,方便用户选择自己适合的方式,自由选择方便的快捷方式使用。

如图7:图7—编辑八、程序清单package test;import java.io.File;import java.io.*;import java.awt.event.*;import java.awt.Toolkit;import java.awt.*;import javax.swing.*;import javax.swing.filechooser.*;public class Notebook extends JFrame implements ActionListener,ItemListener{ //组件创建JButton b_save,b_close; //按钮JTextArea textArea; //文本框File tempFile; //文件JPanel jp; //面板JMenu file,edit,style,help; //菜单JMenuItemf_new,f_open,f_save,f_close,f_saveas,e_copy, e_paste,e_cut,e_clear,e_selectAll,e_find,e_rep lace,s_font,s_color,h_editor,h_help; //菜单条JMenuBar jmb;JScrollPane jsp; //滚动面板JPopupMenu popUpMenu = new JPopupMenu(); //右键弹出式菜单JLabel stateBar;//标签JLabel jl,jj;JFileChooser jfc = new JFileChooser(); //文件选择JMenuItemje_copy,je_paste,je_cut,je_clear,je_selectAll,je _find,je_replace; //弹出式菜单条public Notebook(){jfc.addChoosableFileFilter(new FileNameExtensionFilter("文本文件(*.txt)","txt"));jmb = new JMenuBar();textArea = new JTextArea();jsp = new JScrollPane(textArea);file = new JMenu("文件");edit = new JMenu("编辑");style = new JMenu("格式");help = new JMenu("帮助");je_copy = new JMenuItem("复制(C) ");je_paste = new JMenuItem("粘贴(P) ");je_cut = new JMenuItem("剪切(X) ");je_clear = new JMenuItem("清除(D) ");je_selectAll = new JMenuItem("全选(A) ");je_find = new JMenuItem("查找(F) ");je_replace = new JMenuItem("替换(R) ");je_copy.addActionListener(this); //给弹窗式的各组件添加监听器je_paste.addActionListener(this);je_cut.addActionListener(this);je_clear.addActionListener(this);je_selectAll.addActionListener(this);je_find.addActionListener(this);je_replace.addActionListener(this);//给界面上方的菜单条添加监听器f_new = new JMenuItem("新建(N)");f_new.setAccelerator(KeyStroke.getKeyS troke('N',InputEvent.CTRL_MASK,false)); //设置带修饰符快捷键f_new.addActionListener(this);f_open = new JMenuItem("打开(O)");f_open.setAccelerator(KeyStroke.getKey Stroke('O',InputEvent.CTRL_MASK,false));f_open.addActionListener(this);f_save = new JMenuItem("保存(S)");f_save.setAccelerator(KeyStroke.getKey Stroke('S',InputEvent.CTRL_MASK,false));f_save.addActionListener(this);f_saveas = new JMenuItem("另存为");f_saveas.setAccelerator(KeyStroke.getKe yStroke(KeyEvent.VK_S,InputEvent.CTRL_ MASK|InputEvent.SHIFT_MASK));f_saveas.addActionListener(this);f_close = new JMenuItem("退出(W)");f_close.setAccelerator(KeyStroke.getKey Stroke('W',InputEvent.CTRL_MASK,false));f_close.addActionListener(this);e_copy = new JMenuItem("复制(C)");e_copy.setAccelerator(KeyStroke.getKey Stroke('C',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_paste = new JMenuItem("粘贴(V)");e_paste.setAccelerator(KeyStroke.getKeyStro ke('V',InputEvent.CTRL_MASK,false));e_paste.addActionListener(this);e_cut = new JMenuItem("剪切(X)"); e_cut.setAccelerator(KeyStroke.getKeyStroke ('X',InputEvent.CTRL_MASK,false));e_cut.addActionListener(this);e_clear = new JMenuItem("清除(D)");e_clear.setAccelerator(KeyStroke.getKeyStrok e('D',InputEvent.CTRL_MASK,false));e_clear.addActionListener(this);e_selectAll = new JMenuItem("全选(A)");e_selectAll.setAccelerator(KeyStroke.getKey Stroke('A',InputEvent.CTRL_MASK,false));e_selectAll.addActionListener(this);e_find = new JMenuItem("查找(F)");e_find.setAccelerator(KeyStroke.getKeyStrok e('F',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_replace = new JMenuItem("替换(R)");e_replace.setAccelerator(KeyStroke.getK eyStroke('R',InputEvent.CTRL_MASK,false)) ;e_replace.addActionListener(this);s_font = new JMenuItem("字体(T)");s_font.setAccelerator(KeyStroke.getKeyStrok e('T',InputEvent.CTRL_MASK,false));s_font.addActionListener(this);s_color = new JMenuItem("颜色(C)...");s_color.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_C,InputEvent.CTRL_MAS K | InputEvent.SHIFT_MASK));s_color.addActionListener(this);h_editor = new JMenuItem("关于记事本");h_editor.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_E,InputEvent.CTRL_MAS K));h_editor.addActionListener(this);h_help = new JMenuItem("帮助信息(H)");h_help.setAccelerator(KeyStroke.getKeyStrok e(KeyEvent.VK_I,InputEvent.CTRL_MASK) );h_help.addActionListener(this);//添加右键弹出式菜单popUpMenu.add(je_copy);popUpMenu.add(je_paste);popUpMenu.add(je_cut);popUpMenu.add(je_clear);popUpMenu.addSeparator();popUpMenu.add(je_selectAll);popUpMenu.add(je_find);popUpMenu.add(je_replace);//编辑区鼠标事件,点击右键弹出"编辑"菜单textArea.addMouseListener(new MouseAdapter(){public void mouseReleased(MouseEvent e) {if(e.getButton() == MouseEvent.BUTTON3)popUpMenu.show(e.getComponent(), e.getX(), e.getY());} //e.getComponent()和textArea具有同等效果public void mouseClicked(MouseEvent e){if(e.getButton() == MouseEvent.BUTTON1)popUpMenu.setVisible(false);}});this.setJMenuBar(jmb);this.setTitle("记事本程序");file.add(f_new); //添加文件菜单组件file.add(f_open);file.addSeparator(); //加分隔线file.add(f_save);file.add(f_saveas);file.addSeparator();file.add(f_close);edit.add(e_copy); //添加编辑菜单组件edit.add(e_paste);edit.add(e_cut);edit.add(e_clear);edit.addSeparator();edit.add(e_selectAll);edit.add(e_find);edit.add(e_replace);style.addSeparator();style.add(s_font);style.add(s_color);jmb.add(file); //添加格式菜单组件jmb.add(edit);jmb.add(style);jmb.add(help);help.add(h_editor); //添加帮助菜单组件help.add(h_help);//textArea.setWrapStyleWord(true); //设置在单词过长的时候是否要把长单词移到下一行。

(完整版)Java核心技术习题答案(可编辑修改word版)

Java 核心技术习题答案马志强张然李雷孝编清华大学出版社目录第一章Java 语言概述 (3)第二章 Java 语法基础 (4)第三章面向对象编程 (15)第四章数组 (38)第五章高级类特性 (45)第六章 GUI 编程 (51)第七章集合框架 (62)第九章集合框架 (77)第十章 IO 流 (81)第十一章 JDBC 访问数据库 (84)第十二章线程 (85)第十三章网络编程 (90)第一章 Java 语言概述一、选择题1-5 ABBBB6-8 AAB二、填空题1.MyClass MyClass.class2.String 数组(String[])一3.javac A.java java A三、程序设计题1、搭建Java 运行环境,并写一个Java 程序打印输出“开始学习Java 程序设计!”。

1)首先安装JDK;2)配置环境变量path,classpath 可配可不配;3)FirstJava.javapublic class HelloWorld{public static void main(String[]args){ System.out.println("开始学习Java 程序设计!");}}2、修改下面四个Java 源文件中的错误,使其能够编译和运行。

Test1.java:TestAnother1 类不能再使用public 修饰,一个源文件中只能有一个类或者接口用public 修饰;Test2.java:源文件中public 修饰的类的名字为Testing2,和源文件名字不一致;Test3.java:Test3 类的main 方法的形参类型为String[];Test4.java:Test4 类的main 方法必须使用static 关键字修饰。

第二章 Java 语法基础一、选择题1-5 BCADB6-9 DCCC二、填空题1. abc ,a1,_abc,_1a,ab123 #a,const,$abc,1abc,if,$#1sa,$_a,_$q12.题目出现问题:代码修改为ch = (char) (ch+1);结果为’B’;如果直接System.out.println(ch+1);结果为98。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图7-2 JFace和SWT的关系
窗内网,免费看视频,轻松学编程

7.1.2 SWING概念
Java Swing是Java Foundation Classes(JFC)的一 部分,它是试图解决AWT缺点的一个尝试。在Swing中, Sun开发了一个经过仔细设计的、灵活而强大的GUI工 具包。Swing在AWT组件基础上构建。所有Swing组件 实际上也是AWT的一部分。Swing使用了AWT的事件模 型和支持类,例如Colors、Images和Graphics。 Swing将对主机控件的依赖性降至了最低。实际上, Swing只为诸如窗口和框架之类的顶层组件使用对等体。 大部分组件(JComponent 及其子类)都使用纯Java代 码来模拟。这意味着Swing天生就可以在所有主机之间 很好地进行移植。因此,Swing通常看起来并不像是本 地程序。实际上,它有很多外观,有些模拟(尽管通 常并不精确)不同主机的外观,有些则提供了独特的 外观。
窗内网,免费看视频,轻松学编程

7.2.4 JPANEL面板
JPanel是一个中间容器组件,可以向其中添加其 他的GUI组件(如按钮JButton组件);但是JPanel不 是顶层容器,因此在屏幕上显示JPanel,必须将它添 加到一个顶层容器(如JFrame)中。我们可以在JPa nel中放置按钮、文本框等非容器组件,甚至可以在J Panel中再放置若干个JPanel组件。JPanel组件具有中 间容器的特点,如无边框等。JPanel的缺省布局为流 式布局FlowLayout。


窗内网,免费看视频,轻松学编程

7.2.1 容器概述
中间容器是容器组件的一种,可以承载其他组件。 但中间容器不能独立显示,必须依附于其他的顶层容器。 常见的中间容器有:JPanel、JScrollPane、JTabbedPane 和JToolBar JPanel:最灵活、最常用的中间容器。 JScrollPane:与JPane类似,但还可在大的组件或可扩 展组件周围提供滚动条。 JTabbedPane:包含多个组件,但一次只显示一个组件。 用户可在组件之间方便地切换。 JToolBar:按行或列排列一组组件(通常是按钮)
窗内网,免费看视频,轻松学编程
7.1.2 SWING概念
除了具有更多的组件、布局管理器和事件之外,S wing还有很多特性使得自己比AWT的功能更加强大。因 为大部分Swing组件采用了MVC结构设计,故下面介绍 时从这个角度说明。下面是更为重要的几个特性: 模型与视图和控件分离 可编程外观 呈现器和编辑器 可访问性
窗内网,免费看视频,轻松学编程
7.1.2 SWING概念
Swing对基于对等体的组件使用的术语是重量级(heavy weight),对于模拟的组件使用的术语是轻量级(lightweigh t)。实际上,Swing可以支持在一个GUI中混合使用重量级组 件和轻量级组件,例如,在一个JContainer中混合使用AWT和 Swing控件,但是如果组件产生了重叠,就必须注意绘制这 些控件的顺序。 Swing无法充分利用硬件GUI加速器和专用主机GUI操作 的优点。结果是Swing应用程序可能比本地GUI的程序运行速 度都慢。Sun花费了大量的精力来改进最近版本的Swing(Ja va V1.4和1.5)的性能,这种缺点正在变得日益微弱。由于S wing的设计更加健壮,因此其代码基础也更坚实。这意味着 它可以在一台健壮的机器上比AWT和SWT上运行得更好。
窗内网,免费看视频,轻松学编程

7.3 SWING常用组件
Swing是AWT的扩展,它提供了许多新的图形界 面组件。Swing组件以“J”开头,除了有与AWT类似 的按钮(JButton)、标签(JLabel)、复选框(JCheck Box)、菜单(JMenu)等基本组件外,还增加了一个 丰富的高层组件集合,如表格(JTable)、树(JTre e)。Swing组件都是AWT的Container类的直接子类和 间接子类。
窗内网,免费看视频,轻松学编程

学习目标

了解Java GUI发展历程 掌握Swing概念 掌握Swing类库结构 掌握容器组件概念 熟练掌握JFrame、JDialog和JPanel等容器 熟练掌握Swing的常用组件 熟练掌握布局管理器的使用 掌握Swing高级组件的使用
表7-2 JFrame常用构造方法
窗内网,免费看视频,轻松学编程
7.2.3 JDIALOG对话框
JDialog对话框相对于AWT的Dialog对话框来说, 属于增强型对话框。JDialog对话框和JFrame对话 框一样,都属于顶层容器,可以单独显示。JDial og是创建对话框窗口的主要类。可以使用此类创 建自定义的对话框。该类继承了AWT的Dialog类, 支持Swing体系结构的高级GUI属性。

窗内网,免费看视频,轻松学编程

7.1.3 SWING类库层次结构
JFC(Java Foundation Classes)是一组客户端图 形、GUI(图形用户界面)和相关的编程任务的标准Ja va API的松散集合,而Swing是JFC的一个组成部分。Sw ing以AWT为基础,并有一套独立于操作系统的图形界 面类库。Swing围绕着JComponent的新组件构建,而JC omponent则由AWT的容器类扩展而来。其组织结构如 图7-3所示:

窗内网,免费看视频,轻松学编程

7.2.1 容器概述
在Java程序中可以作为容器的类,都是继承Container类。 中间容器和顶层容器在AWT包和Swing包中继承Container类的 继承关系,如图7-4所示:
Container
Window
Panel
JComponent
JFrame
JDialog
JToggleButton
JMenuItem
JButton
JCheckBoxFra bibliotekJRadioButton
JMenu
窗内网,免费看视频,轻松学编程
图7-3 Swing类库组织结构图

7.2 窗口与面板
无论使用任何语言设计GUI图形用户界面时,都 有用于放置可视化组件的主窗口,即用来放置其他 组件的组件,如Windows窗口中的主窗体。通常这类 组件称为Container容器,其主要作用就是将组件组 合在一起。容器可以分为两类,顶层容器和中间容 器。
Frame
Dialog
Applet
JPanel
JScrollPane
JFrame
JDialog
JApplet
图7-4 容器类组织结构图
窗内网,免费看视频,轻松学编程
7.2.2 JFRAME主窗口
JFrame是放置其他Swing组件的顶级容器,相当于 Windows窗口中的主窗体。该组件用于在Swing程序中创 建窗体,JFrame类继承了AWT的Frame类,支持Swing体 系结构的高级GUI属性。JFrame用来设计类似于 Windows系统中的窗口形式的界面。
窗内网,免费看视频,轻松学编程

7.1 JAVA GUI概述
图形用户界面(Graphical User Interface,GUI) 应用程序是一种使用标准Java组件GUI组件集。与 所有Java代码一样,由于GUI是图形用户界面(Gr aphics User Interface)的英文缩写。GUI程序给 用户提供了一个直观而且操作方便、快捷的用户 环境。提起GUI,自然会想到经常使用的Windows 操作系统。以在任何平台上运行,所以Java GUI 应用程序简化了创建桌面应用程序的任务。
第7章 Java Swing
窗内网,免费看视频,轻松学编程

内容摘要
如果要使用Java SE开发窗口应用程序,有两个选择, 一个是使用AWT,一个是使用JFC/Swing。AWT是Swing的 基础,Swing的产生主要原因就是AWT不能满足图形化用 户界面发展的需要。Swing组件几乎都是轻量组件,与重 量组件相比,没有本地的对等组件,不像重量组件要在 它们自己的本地不透明窗体中绘制,轻量组件在它们的 重量组件的窗口中绘制。 本章首先介绍Java GUI图形界面发展历程,然后介绍 Java中常用容器,如JFrame、JDialog和JPanel等,接下来 介绍Swing常用组件,如按钮、文本框、组合框和菜单等。 最后介绍Java GUI中常用布局管理器和高级组件。
窗内网,免费看视频,轻松学编程

7.2.2 JFRAME主窗口

方法介绍
JFrame类的常用构造方法如表7-2所示:
构造方法名称 概述
JFrame()
JFrame(String title)
构造一个初始时不可见的新窗体。
创建一个新的、初始不可见的、具有指定 标题的JFrame。
窗内网,免费看视频,轻松学编程

7.2.1 容器概述
顶层容器是进行图形编程的基础,一切图形化的 东西,都必然包括在顶层容器中。顶层容器是任何图 形界面程序都要涉及的主窗口,是显示并承载组件的 容器组件。在Swing中,我们有三种可以使用的顶层容 器,它们分别是:JFrame、JDialog和JApplet。 JFrame:用于框架窗口的类,此窗口带有边框、标 题、用于关闭和最小化窗口的图标等。带GUI的应用程 序通常至少使用一个框架窗口。 JDialog:用于对话框的类。 JApplet:用于使用Swing组件的Java Applet的类。
窗内网,免费看视频,轻松学编程

11.2.2 显示数据库数据


方法介绍 JPanel的常用的构造方法如下所示: JPanel() JPanel(LayoutManager layout) 第一个构造方法表示创建具有双缓冲和流布局的新JPanel, 第二个方法表示创建具有指定布局管理器的新缓冲JPanel。 一般情况下,JPanel类使用其父类中的方法就可以完成编 程任务。如果需要JPanel面板中添加组件,可以使用add(Com ponent comp)方法来实现。
相关文档
最新文档