Presentation is loading. Please wait.

Presentation is loading. Please wait.

2018/11/20 第一章 Java概述 武汉大学计算机学院计算机应用系 2018/11/20 14:33.

Similar presentations


Presentation on theme: "2018/11/20 第一章 Java概述 武汉大学计算机学院计算机应用系 2018/11/20 14:33."— Presentation transcript:

1 2018/11/20 第一章 Java概述 武汉大学计算机学院计算机应用系 2018/11/20 14:33

2 本章学习要点 JDK的下载、安装与环境配置 了解Java虚拟机的特点以及Java语言的特点 掌握编译和执行Java程序的基本步骤
2018/11/20 本章学习要点 JDK的下载、安装与环境配置 了解Java虚拟机的特点以及Java语言的特点 掌握编译和执行Java程序的基本步骤 理解Java程序的入口并能够通过命令行传递参数 会编写通过键盘输入数据的简单的Java程序 会编简单的Applet程序 会使用浏览器和appletviewer运行Applet程序 会调试简单的Java程序

3 2018/11/20 1.1  Java的简介 2018/11/20 14:33

4 2018/11/20 1.1.1 Java历史----Java这十年 1995年1月,Oak被更名为Java。这个名字的产生,既不是根据语言本身的特色来命名,也不是由几个英文单词的首字母拼成,更不是由人名或典故而来,而是来自于印度尼西亚有一个盛产咖啡的岛名,中文名叫爪哇,意为世人端上一杯热咖啡。许多程序设计师从所钟爱的热腾腾的香浓咖啡中得到灵感,因而热腾腾的香浓咖啡也就成为Java语言的标志。 1995年5月23日Java正式公布,以后人们对Java的兴趣和重视证明了这项技术将是未来网络计算的主流技术。

5 2018/11/20 1.1.1 Java历史----Java这十年 1995年一些著名的公司,如:IBM,Microsoft,Netscape,Novell,Apple,DEC,SGI等都纷纷购买语言使用权。 1996年Java应用软件纷纷问世,赢得软件工业界的广泛支持。 1997年Java技术用于网络计算,从业界的事实标准走向法律标准。 有人预言:Java将是网络上的“世界语”。

6 1.1.1 Java历史----Java这十年 Java这十年 十件大事 十大产品 十大机构 十大人物 Java的畅销书
2018/11/20 1.1.1 Java历史----Java这十年 Java这十年 十件大事 十大产品 十大机构 十大人物 Java的畅销书

7 2018/11/20 1.1.1 Java历史----Java这十年

8 2018/11/20 1.1.1 Java历史----Java这十年

9 2018/11/20 1.1.1 Java历史----Java这十年

10 2018/11/20 1.1.1 Java历史----Java这十年

11 1.1.1 Java历史----Java这十年 Java这十年 十件大事 十大产品 十大机构 十大人物 Java的畅销书
2018/11/20 1.1.1 Java历史----Java这十年 Java这十年 十件大事 十大产品 十大机构 十大人物 Java的畅销书

12 2018/11/20 1.2 Java语言的特色 2018/11/20 14:33

13 在Sun公司的白皮书中,对Java的定义是“Java:A Simple,object-oriented,distributed,robust,secure,architecture-neutral,portable,high-performance,multi-threaded,and dynamic language.” 即Java是一种简单的、面向对象的、分布式的、强壮的、安全的、体系结构中立的、可移植的、高性能的、多线程的和动态的语言。

14 1.2 Java语言的特色

15 1.2 Java语言的特点 Java虚拟机 不同的操作系统有不同的虚 拟机. 它类似一个小巧而高效的CPU.
2018/11/20 1.2 Java语言的特点 Java虚拟机 不同的操作系统有不同的虚 拟机. 它类似一个小巧而高效的CPU. byte-code代码是与平台无关的 是虚拟机的机器指令. Java字节代码运行的两种方式: interpreter(解释方式) Just-in-time(即时编译): 代码生成器将字节代码转换成本机的机器代码, 就可以以较高速度执行. Java interpreter Just-in-time compiler Runtime System Operating System Hardware

16 2018/11/20 1.3 Java的开发和执行环境 2018/11/20 14:33

17 2018/11/20 Sun公司是Java的开创者,它的开发工具和运行环境都是免费。只要可以进入Internet,就可以免费下载开发工具集JDK,其中包括了Java的全套文档资料。 除了JDK之外,目前有许多公司也成功地开发出集成化的Java开发环境,其中比较流行的是开源的Eclipse,Inprise公司的Jbuilder,以及其他商业版的Java开发环境。

18 1.3.1 JDK的下载 通过浏览器上网后,可以在Sun公司的Internet站点找到JDK的最新版本,自由下载。如果从其他镜像站点下载JDK, 则要注意这些镜像站点是否保存的是JDK的最新版本。 当前的JDK的最高版本是JDK1.5,它的下载网址是: 这是支持WindowsXP/2000/NT操作系统的版本。Sun也提供支持类似Solaris SPARC和Macintosh操作系统的版本。用户可以根据操作系统平台选取合适的JDK版本进行下载。

19 2018/11/20 1.3.1 JDK的下载

20 1.3.2 JDK的安装与环境配置 在Window环境下,直接点击所下载的JDK压缩文件的图标,即可运行该文件,因为它是一个自解压的EXE文件。解压后,自动进入安装过程,此时可以按照提示过程,逐步完成安装。 安装时需要选择一个目录,可以选择比较简单的目录,例如,C:\JDK15,因为如果使用拼写复杂的目录会给Dos界面下的操作带来很多不便。 安装完毕后,用DIR命令可以显示该目录。其子目录有: BIN,LIB,DEMO,SAMPLE,JRE等。 其中,BIN目录下是一些执行文件。LIB目录下保存库文件。DEMO目录下是一些应用程序和Applet的实例。

21 1.3.2 JDK的安装与环境配置 在Window2000/XP下,环境变量的配置从“我的电脑”(右键)  高级  环境变量,再在其中选择“系统变量”的“新建”,然后在变量名中输入:“classpath”,在变量值输入:“D:\JDK15\BIN; D:\JDK15\LIB\dt.jar; D:\JDK15\LIB\tools.jar”;. ; 如果在低版本的Windows操作系统下,可直接编辑自动批处理文件Autoexec.bat文件,在该文件中添加设置语句: set classpath=D:\JDK15\BIN; D:\JDK15\LIB\dt.jar; D:\JDK15\LIB\tools.jar; .;

22 1.3.3 JDK环境工具简介 JDK环境工具包括Java编译器,Java虚拟机,Applet程序观察器,Java文档生成器,Java调试器等。 1. 编译器——javac javac的作用是将源程序(.java文件)编译成字节码(.class文件)。Java源程序的后缀名必须是java。javac一次可以编译一个或多个源程序,对于源程序中定义的每个类,都会生成一个单独的类文件。例如,如果在A.java中定义了A、B、C三个类,则经过javac编译后要生成A.class,B.class,C.class三个类文件。 javac的调用格式为: javac [选项] 源文件名表 其中源文件名表是多个带.java后缀的源文件名

23 1.3.3 JDK环境工具简介 2. Java的语言解释器——java java 命令解释执行Java字节码。其格式为:
这里的类名代表由编译器生成的带.class后缀的类文件名,但在上述命令不需要带后缀。这个类必须是一个独立程序(不能是Applet),程序中必须带有一个按如下格式声明的main方法。 public static void main(String [ ] args ) {…} 并且包含main方法的类的类名必须与类文件名相同,即与现在命令行中的“类名”相同。 在执行java命令时,若类名后带有参数表,则参数表中的参数依次直接传递给该类中的main方法的args数组,这样在main方法中就可以使用这些数组元素。

24 1.3.3 JDK环境工具简介 3. Java Applet观察器——appletviewer
appletviewer命令使用户不通过Web浏览器也可以观察 Applet运行情况。其格式为: appletviewer [-debug] HTML文件 appletviewer下载并运行HTML文件中包含的Applet,如果HTML文档中不包含任何Applet,appletviewer则不采取任何行为。如果上述命令中使用了-debug选项,则appletviewer将jdb从内部启动,这样就可以调试HTML文件所引用的Applet。

25 2018/11/20 1.4 一个简单的独立应用程序 2018/11/20 14:33

26 Java程序分两种: Java Application(Java应用程序):是一个完整的应用程序,可以独立地运行 运行在Java虚拟机(JVM)上 中间代码 必须有main函数 Java Applet(小应用程序):不是一个完整的应用程序,而是框架程序中的一个模块,所以只能在WWW浏览器环境下运行 可以没有main函数 必须由某个支持java的浏览器来运行

27 1.4.1 从编辑程序到执行程序的完整过程 利用编辑器编写Java源程序 源文件名:主类名.java 利用编译器将源程序编译成字节码
字节码文件名:源文件名.class 利用虚拟机(解释器)运行 运行过程:载入、代码校验、解释执行

28 第一个Java Application程序的例子
2018/11/20 第一个Java Application程序的例子 /**一个简单的Application程序; */ public class HelloWorld { public static void main(String args[]) { String s="HelloWorld!"; //定义字符串s System.out.println(s); } (1)Java 语言标识符的字母区分大小写; (2)一个程序可以由一个或多个类组成,其中必须有也只能有一个主类。 (3)源文件名必须与程序的主类名一致,并且以 .java 为其后缀。

29 程序说明: 用保留字class来声明一个新的类,其类名为HelloWorld,它是一个公共类(public)。 一个Java程序中可以定义多个类,但只有一个类可以定义为public类; 在该类中定义了一个main( )方法,其修饰符有: public 表示访问权限,指明所有的类都可以使用这一方法; static 指明该方法是一个类方法,它可以通过类名直接调用; void 则指明main( )方法不返回任何值。 main( )是执行程序的入口;对于一个可执行的应用程序来说,main( )方法是必需的,而且必须按照如上的格式来定义。 main( )方法括号( )中的String args[]是传递给main( )方法的参数,参数可以没有或多个。

30 应用程序的编译执行过程 Java引入编译的主要原因: (1) 保证程序的语法正确性; (2) 通过编译引入Java类库中已编写好的模块;
(3) 编译成功的结果将生成一个或多个字节码文件,每个字节码文件对应源程序中定义的一个类,该文件的名字是它所对应的类的名字,并以.class 为统一的后缀名。 编译一个源程序的命令为: C:\>javac  HelloWorld.java Java的源程序经过编译后,每个类都生成一个类文件

31 应用程序的编译执行过程 执行一个Java程序的命令格式为: C:\>java HelloWorld
该命令调用 Java 的解释器软件 java.exe 运行编译好的 Java 字节码程序。程序执行结果显示:HelloWorld! 解释运行的三个阶段: (1)载入:Java解释器中的类载入器将字节码文件加载到内存(网上运行程序则通过网络下载到本地内存); (2)代码校验:Java解释器中的代码检验器检查这些字节码的合法性; (3)解释执行:合法的字节码程序由Java解释器逐句地解释运行。

32 2018/11/20 1.5 一个简单的Applet程序 2018/11/20 14:33

33 1.5 一个简单的Applet程序 Applet程序是一个嵌入在浏览器中执行的Java程序,它必须扩展Applet类。扩展Applet类的程序没有构造方法,也不需要main()方法。 一个Applet程序一般包含4个重要方法:init()、start()、stop()和destroy(),它的执行由init()方法控制。Applet程序一旦装载后,init()方法只执行一次。每次重新访问Applet时,则要调start()方法。每次Applet所在的Web页面被其他页面所取代时,则要调stop()方法。

34 1.5 一个简单的Applet程序 /*这是一个Applet程序; */ import java.awt.*;
程序中,首先用import语句输入java.awt和java.applet包中所有的类,使得该程序可能使用这些包中所定义的类,它类似于C中的#include语句。 /*这是一个Applet程序; */ import java.awt.*; import java.applet.*; public class HelloApp extends Applet { public void paint( Graphics g ) { g.drawString(“HelloWorld!”,20,20); } }

35 程序说明: import java.awt.*; import java.applet.*;
接着声明一个公共类HelloApp,用extends指明它是Applet的子类。在类中,我们重写父类Applet的paint( )方法,其中参数g为Graphics类,它表明当前画图的上下文。 在paint()方法中,调用图形对象g的方法drawString(),在坐标(20,20)处输出字符串“Hello World!”,其中坐标是用象素点来表示的。 import java.awt.*; import java.applet.*; public class HelloApp extends Applet { public void paint( Graphics g ) { g.drawString(“HelloWorld!”, 20,20); } }

36 JavaApplet基本结构 类成员声明 import java.applet.*; import java.awt.*;
class         extends Applet { } 类名称 类成员声明

37 JavaApplet工作原理 www服务器 HTML 下载 文件 嵌入 Applet 请求 字节码 www浏览器 下载Applet字节码

38 嵌入到HTML文件中 <HTML> <HEAD>
<TITLE>AnApplet</TITLE> </HEAD> <BODY> <APPLET Code=“HelloApp.class“ Width= Height=40> </APPLET> </BODY> </HTML>

39 浏览效果

40 2018/11/20 1.6 一个具有输入功能的程序 2018/11/20 14:33

41 1.6 一个具有输入功能的程序 前面介绍的两个程序都只具有输出功能,如果想对Java整体有一个大概的了解,可能很想看看具有输入功能的程序。这里也顺便提到Java的异常处理机制,这也是Java最具特色的地方之一。 输入比输出更容易出错。一个错误的输入将会导致程序的崩溃(程序中断或退出),运行时发生的错误称为异常,Java提供了特殊的机制来处理异常。一个最简单的处理输入/输出异常的方法是在main()方法后面加上“throws IOException”。

42 1.6 一个具有输入功能的程序 例 交互式输入输出。这个程序首先提示用户输入姓名,然后等待用户输入。当用户输入姓名,并按Enter键后,系统很快给出一个问候信息。 import java.io.*; public class Say_Hello_to_You{ public static void main (String[] args) throws IOException{ InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader(reader); System.out.print("Enter your name:"); String name=input.readLine(); System.out.println("Hello,"+ name + "!"); }

43 1.6 一个具有输入功能的程序 最后执行该程序,其交互方式如图1.6所示。 程序简单分析: 源代码文件中的第1行是:
import java.io.*; 它告诉编译器到java.io类库中寻找程序中用到的I/O类。事实上该程序用到3个I/O类:IOException、InputStreamReader 和BufferedReader类。

44 1.6 一个具有输入功能的程序 第4行中,把reader定义为InputStreamReader类的一个实例,并把系统的输入流对象System.in与作为它的输入流,把数据从键盘传递到程序当中。 第5行中,把input对象定义为BufferedReader类的一个实例,并把reader对象作为它的输入流。 第7行, input对象的readLine() 方法从键盘读取一整行的字符,并把它们当做String对象来对待: String name=input.readline(); 该语句声明了一个String对象name,它被初始化为input.readLine()方法的返回值。无论用户从键盘输入了什么字符,它都被保存在name对象中。 name中的字符串被接下来的语句打印出来。

45 2018/11/20 1.7 小结 2018/11/20 14:33

46 1.7 小结(程序书写规范) 包、类、变量、方法等命名:要体现各自的含义。 包名全部小写,io,awt
类名第一个字母要大写,HelloWorldApp 变量名第一个字母要小写,userName 方法名第一个字母要小写,setName 程序书写格式:保证良好的可读性,使程序一目了然。 大括号{ }的使用与对齐 同层语句段的对齐 在语句段之间适当空行 程序注释:帮助了解程序的功能。 类注释 变量注释 语句段注释 方法注释 语句注释

47 1.7 小结 编译器 JDK1.5或以上版本(http://java.sun.com/j2se/) 源程序编辑器
2018/11/20 1.7 小结 编译器 JDK1.5或以上版本( 源程序编辑器 推荐:GEL( 或Editplus2、UtrlEdit 网上资源 SunDeveloperNetwork ( Sun网络社区 ( Java研究组织 ( Chinajavaworld论坛 (

48 1.7 小结 本章介绍了Java的跨平台性为代表的主要特征,然后介绍了如何下载和安装Sun公司提供的Java开发工具JDK以及使用说明。有了这些简单Java知识,我们就可以开发简单的Java程序。本章给出了这些程序从编辑源到用Java虚拟机执行的完整过程。 本章给出的实例实际有两种方式输入信息:通过命令行参数输入信息和在程序中通过键盘读入信息。然后经过简单加工,再通过标准输出显示到屏幕上。有了本章的基础,我们应该可以编写简单的程序了。

49 教材: Java语言程序设计 清华大学出版社 作者: 朱福喜
作者: 朱福喜 课后练习 配置Windows+JDK1.5开发环境; 编写、编译并运行一个简单的Java应用程序(Application); 编写、编译并运行一个简单的Java小程序(Applet)。

50 结 束


Download ppt "2018/11/20 第一章 Java概述 武汉大学计算机学院计算机应用系 2018/11/20 14:33."

Similar presentations


Ads by Google