240 likes | 411 Views
本章主要介绍以下几个问题. 1. Java Application 程序 2. Java Applet 程序 3. 图形界面的输入输出 4. 字符界面的输入输出 5. Java 语言的特点. 第二章 Java 概述. 2.1 第一个 Java Application 程序 1. Java 程序分为两类: Java Application 和 Java Applet 。
E N D
本章主要介绍以下几个问题 1. Java Application程序 2. Java Applet程序 3. 图形界面的输入输出 4. 字符界面的输入输出 5. Java语言的特点
第二章 Java概述 2.1 第一个Java Application程序 1. Java程序分为两类:Java Application和Java Applet。 2. Java Application是完整的程序,用独立的解释器解释运行; Java Applet是嵌在Web中的非独立程序,由Web浏览器内部包含的Java解释器来解释运行。 3. Java编程分为编辑源程序、编译生成字节码和解释字节码几个步骤。
第二章 Java概述 2.1.1 源程序编辑 1. Java源程序的扩展名为.java , Java字节码程序的扩展名为.class。 2. 例2-1 3. Java源程序由类组成,类中成员有两种,即域成员和方法成员。 4. 所有Java Application程序必须包含且只能包含一个名为main的方法。
第二章 Java概述 2.1.1 源程序编辑 5. main方法是所有Java Application程序执行的入口点。main方法所在的类称为主类。 6. main方法的方法头书写格式如下: public static void main(String args[])或 public static void main(String[] args) 7. System是一个系统对象;out是System对象的一个域,也是一个对象,println是out对象的一个方法。
第二章 Java概述 2.1.2 字节码的编译生成 1. Java程序中源代码经编译生成的目标代码称为字节码文件,扩展名为.class。 2. 编译Java源程序的方法。 (1)使用集成开发工具Visual J++中的菜单命令。 (2)使用命令行开发工具JDK。 例如:javac MyJavaApplication.java 将产生字节码文件MyJavaApplication.class
第二章 Java概述 2.1.2 字节码的编译生成 3. Java程序的编译是以源代码文件中的每个类为单位的,源代码中有几个类,编译后就产生几个以该类名命名的字节码文件。 4. 例2-2 该例编译后,将产生两个字节码文件MyApplication2.class和UserClass.class。
第二章 Java概述 2.1.3 字节码的解释与运行 1. 编译型语言(如C)的运行是直接作用于操作系统的,对软硬件平台有较强的依赖性,可移植性差。 2. 解释型语言(如Java)的运行不是直接作用于操作系统的,而是作用于Java虚拟机上, Java虚拟机隐藏了不同软硬件平台的差异,故Java程序有很好的可移植性和跨平台性。
第二章 Java概述 2.1.3 字节码的解释与运行 3. 编译型语言和解释型语言运行机制比较。 • 4. 运行Java Application程序的方法。 • (1)使用集成开发工具Visual J++中的菜单命令。 • (2)使用命令行开发工具JDK。 • 例如:java MyJavaApplication • 将产生输出结果Hello,Java World!
第二章 Java概述 2.2 第一个Java Appet程序 2.2.1 源程序的编辑与编译 1. Java Applet是嵌在Web中的非独立程序,由Web浏览器内部包含的Java解释器来解释运行。 2. 例2-3 3. Java Applet程序中不能有main方法,但要有且只能有一个Applet系统类的子类。
第二章 Java概述 2.2.1 源程序的编辑与编译 4. paint方法是系统类Applet的方法,子类MyJavaApplet继承并重载了它。 5. g是系统类Graphics的一个对象,drawString是该类的一个方法。 6. 编译该Java Applet也可用JDK进行。 javac MyJavaApplet.java
第二章 Java概述 2.2.2 代码嵌入 1. 运行该Java Applet时应该将字节码嵌入到HTML文件中。如嵌入到MyJavaApplet.htm中。 2. <applet>和</applet>是在HTML文件中嵌入字节码文件的标记。该标记中应包含三个参数。code指明字节码文件名,width指明显示宽度,height指明显示高度。 3. MyJavaApplet.htm文件内容。
第二章 Java概述 2.2.3 Applet的运行 1. Java Applet的字节码文件和编写好的HTML文件一般保存在Web服务器的合适目录下,当WWW浏览器下载此HTML文件并显示时,会自动下载该HTML文件指定的Java Applet的字节码文件,然后调用内置在浏览器中的Java解释器来解释执行该字节码文件。 2. JDK中的应用程序AppletViewer.exe也可以运行Java Applet程序。 例如:AppletViewer MyJavaApplet.htm
第二章 Java概述 2.3 图形界面的输入输出 2.3.1 Java Applet图形界面输入输出 1. Java Applet程序可以且只能在图形界面下工作。 2. 例2-5 3. 凡是Java Applet程序,必须加载java.applet包;凡是使用图形界面,必须加载java.awt包;凡是使用图形界面的事件处理,必须加载java.awt.event包。
第二章 Java概述 2.3.1 Java Applet图形界面输入输出 4. implements ActionListener说明了该类是动作事件(ActionEvent)的监听者。 5. init()方法在浏览器调用Java Applet程序时自动执行。 6. 动作事件的监听者使用方法actionPerformed()来处理动作事件。
第二章 Java概述 2.3.2 Java Application图形界面输入输出 1. Java Application 程序需要创建自己的图形界面。 2. Java Application 程序创建图形界面的方法是在程序中定义一个java.awt包中的窗框类frame类的子类。 3. 例2-6和例2-7。 4. 函数FrameInOut()是类的构造函数,构造函数在类对象创建时由系统自动调用。 5. 语句System.exit(0)用于提出Java虚拟机返回操作系统。
第二章 Java概述 2.4 字符界面的输入输出 1. 由于Java Applet程序只能在图形界面下工作,故只有Java Application程序可以实现字符界面的输入输出。 2. 例2-8和例2-9。 3. System.in指系统缺省的输入设备(键盘)。 4. BufferedReader和InputStreamReader是和输入有关的两个系统类。InputStreamReader类提供了从字节流转换成字符流的桥梁。
第二章 Java概述 2.5 Java语言的特点 1. 平台无关性。 2. 面向对象。 3. 安全稳定。 4. 支持多线程。 5. 简单易学。
//例2-1 MyJavaApplication.java 返回 import java.io.*; public class MyJavaApplication { public static void main(String[] args) { System.out.println("Hello,Java World!"); try { char ch=(char)System.in.read(); }catch(IOException e){}; } }
//例2-2 MyApplication2.java 返回 import java.io.*; public class MyApplication2 { public static void main(String[] args) { System.out.println(UserClass.m_sMessage); try { char ch=(char)System.in.read(); }catch(IOException e){}; } } class UserClass { static String m_sMessage="Message from User Defined Class"; }
//例2-3 MyJavaApplet.java 返回 import java.awt.Graphics; import java.applet.Applet; public class MyJavaApplet extends Applet { public void paint(Graphics g) { g.drawString("Hello,Java Applet World!",10,20); g.fillRect(90,50,120,120); } }
//MyJavaApplet.htm文件内容 返回 <HTML> <HEAD> </HEAD> <BODY> <applet code="MyJavaApplet.class" width=320 height=200 > </applet> </BODY> </HTML>
//例2-5 AppletInOut.java 返回 import java.awt.*; import java.applet.*; import java.awt.event.*; public class AppletInOut extends Applet implements ActionListener { Label prompt; TextField input,output; public void init() { prompt=new Label("请输入您的名字:"); input=new TextField (6); output=new TextField (20); add(prompt); add(input); add(output); input.addActionListener (this); } public void actionPerformed(ActionEvent e) { output.setText (input.getText()+",欢迎你!"); } }
//例2-8 ApplicationCharInOut.java 返回 import java.io.*; public class ApplicationCharInOut { public static void main (String[] args) { char c=' '; System.out.print ("Enter a character please:"); try{ c=(char)System.in.read (); }catch(IOException e){}; System.out.println ("You have enter character:"+c); } }
//例2-9 ApplicationLineIn.java 返回 import java.io.*; public class ApplicationLineIn { public static void main (String[] args) { String s=" "; System.out.print ("Enter a character string:"); try{ BufferedReader in=new BufferedReader (new InputStreamReader (System.in)); s=in.readLine (); }catch(IOException e){}; System.out.println ("You have entered string:"+s); } }