Java概述-java程序设计精品资源共享课课件_第1页
Java概述-java程序设计精品资源共享课课件_第2页
Java概述-java程序设计精品资源共享课课件_第3页
Java概述-java程序设计精品资源共享课课件_第4页
Java概述-java程序设计精品资源共享课课件_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1、第1章 Java概述Java概述2本章主要内容1.1 Java的诞生与发展1.2 Java的特点1.3 Java开发运行环境的安装与配置1.4 Java的工作原理与运行系统1.5 简单的Java程序Java概述31.1 Java的诞生与发展前身:OAK(James Gosling 1990)Java大事记90年,Sun公司开始Green工程93年,WWW席卷全球94年,开始定位于Internet95.1,Java命名Hotjava, 第一个支持Java的浏览器Netscape2.0Java的诞生与发展Java概述41.1 Java的诞生与发展发展:面向网络应用,类库不断丰富,性能不断提高,应用

2、领域不断拓展。 1995.5.23 Java诞生(Java1.0.2 API)1997.2.18 JDK1.1VJ+6.0、cafe、JBuilder . 支持1998.12 JDK1.2 (Java 2 SDK v1.2 Standard Edition)网址(查询新动向)Java的诞生与发展Java概述51.1 Java的诞生与发展Java版本与Java开发环境的关系Java1.2开始,JDK更名为SDKJDK1.2开发Java1.2,JDK1.3开发Java1.3,JDK1.4开发Java1.4Java1.x统称为Java 2程序JDK1.5Java的诞生与发展Java概述6Java2.

3、0开始,JDK分为三个版本J2EE(企业级版本)J2SE(标准版本)J2ME(微型版本)1.1 Java的诞生与发展J2MEJava的诞生与发展Java概述71.2 Java的特点Java= “C+” “复杂性和奇异性” + “安全性和可移植性”Java概述81.2 Java的特点1. 简单性:Java的语法规则和C/C+类似,所以熟悉C/C+的编程人员就较易掌握Java的编程技术。Java摒弃了C+中容易引发程序错误的概念,如指针、运算符重载、多重继承等。通过Java提供的丰富类库大大简化了Java程序开发。Java对环境要求非常低,它的基本解释器及类的支持只有几十KB,加上标准类库和线程的

4、支持也只有200多KB。Java概述91.2 Java的特点2. 面向对象Java是一种纯面向对象的程序设计语言。Java提供了简单的类机制和动态的构架模型。Java概述101.2 Java的特点3.垃圾自动回收机制在Java运行环境中,始终存在着一个系统级的线程,专门跟踪内存的使用情况,定期检测不再使用的内存并进行自动回收。Java的垃圾自动回收机制简化程序开发的同时,提高了程序的稳定性和可靠性。Java概述111.2 Java的特点4分布性Java实现两种层次上的分布。数据分布支持:通过Java的URL类,Java程序可以访问网络上的各类信息资源。访问方式完全类似于本地文件系统。操作分布支

5、持:Java通过嵌到WWW页面中的小应用程序(Applet)将计算从服务器分布至客户机。Applet由WWW浏览器在客户端执行,从而避免了网络拥挤,提高了系统效率。Java概述121.2 Java的特点5健壮性(鲁棒性)Java丢弃了其他语言中容易引起错误的某些数据类型,如它不支持指针,从而避免了因重写内存而造成数据破坏的可能性。Java的垃圾自动回收机制、异常处理机制和简单性等特点提高了程序的健壮性。Java概述131.2 Java的特点6安全性ava的验证技术是以公钥(public-key)加密算法为基础,而且从环境变量、类加载器、文件系统、网络资源和名字空间等方面实施安全策略。Java程

6、序本身不操纵内存,这减少了内存出错的可能性,而让操作系统管理内存,这有效地避免了恶意代码的破坏和病毒的入侵,极大地提高了在网络环境下运行应用程序的安全性,同时也大大减轻了程序员的负担。Java概述141.2 Java的特点7解释执行8体系结构中立(平台无关性)Java编译器生成了与体系结构无关即体系结构中立(architecture neutral)的字节码文件(又称类文件),可以在所有提供Java虚拟机(Java Virtual Machine:JVM)的多种不同主机、不同处理器上运行。9可移植性Java实现两种层次上的分布。数据分布支持:通过Java的URL类,Java程序可以访问网络上的

7、各类信息资源。访问方式完全类似于本地文件系统。操作分布支持:Java通过嵌到WWW页面中的小应用程序(Applet)将计算从服务器分布至客户机。Applet由WWW浏览器在客户端执行,从而避免了网络拥挤,提高了系统效率。Java概述151.2 Java的特点7解释执行8体系结构中立(平台无关性)Java编译器生成了与体系结构无关即体系结构中立(architecture neutral)的字节码文件(又称类文件),可以在所有提供Java虚拟机(Java Virtual Machine:JVM)的多种不同主机、不同处理器上运行。Java概述161.2 Java的特点9可移植性Java具有高度的可移

8、植性,实现了其他程序设计语言所不具备的“一次编写,到处运行”(write once,run everywhere)的平台无关性。10多线程利用Java语言的多线程API,开发人员可以方便地写出支持多线程的应用程序,提高程序的执行效率1.2 Java的特点11高性能Java字节码格式的设计就是针对机器码的转换,实际转换时相当简便,自动的寄存器分配与编译器对字节码的一些优化可使之生成高质量的代码。Java解释器一秒钟内可调用30万个过程,翻译目标代码的速度与C/C+的性能没什么区别Java概述17Java概述181.2 Java的特点12动态性Java在类库中可以自由地加入新的方法和实例变量而不会

9、影响用户程序的执行。Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和可扩展性。Java可以在分布环境中动态地维护程序及类库。1.3 Java开发运行环境的安装与配置为了鼓励使用Java语言开发软件,Sun Microsystems公司提供了免费的软件开发工具包(JDK),其中包括编译器、虚拟机、调试器等开发工具,称为Java开发工具包或JDK。登录到Sun公司的网站(自动跳转到/technetwork/java/index.html)免费下载Java SE Development Kit(jdk-7u11-windows-i586.exe),本书使用jdk1.7.0_11版

10、本,大家可根据自己所用机器的操作系统免费下载不同的JDK。Java概述19Java概述201.3.1 安装JDK以Windows平台的JDK安装为例,下载的安装程序是一个自解压的jdk-7u11-windows-i586.exe文件,执行该程序就可在Windows上开始安装。安装过程比较简单,当出现如图所示的对话框时,单击“更改”按钮可以更改安装目录。还可根据实际需要选择JDK的安装部件,默认情况下,向导安装所有的JDK组件Java概述21有关安装组件的说明: (1)开发工具:Java的开发工具包,用来编译、运行和打包Java程序。(2)源代码:此组件提供Java类库的源码,展示了Java的一

11、些核心技术。(3)公共JRE:公共的Java运行时环境组件,选择此组件,将在浏览器中安装最新的Java插件,使浏览器支持最新的Java类库。Java概述22安装JDK后产生如下目录结构: bin:包含编译器javac、解释器java、小应用程序浏览器appletviewer等可执行文件。db:包含开源的Apache Derby Java数据库相关文件。如果没有选择安装Java DB,则该文件夹为空。include:存放本地文件(Windows系统下是一些C语言头文件)。jre:存放Java运行时环境(JRE)相关的文件。lib:保存了Java的类库文件。Java概述231.3.2 安装JDKJ

12、DK的安装程序中并不包含帮助文档,因此也必须从网站上下载进行安装,JDK帮助文档在JDK的下载页面也有下载链接。下载帮助文档的压缩文件jdk-7u11-apidocs.zip,解压缩后通常安装在JDK所在目录的docs子目录下面。用浏览器打开docs目录下的index.html文件就可以阅读所有的帮助文档241.3.3 配置环境变量1.鼠标右键点击“我的电脑”,找到“属性”,单击进入。251.3.3 配置环境变量2. 261.3.3 配置环境变量3. 添加一项系统变量“JAVA_HOME”,值为jdk的安装路径。271.3.3 配置环境变量4.重复3中的步骤,建立系统变量CLASSPATH,变

13、量值为:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;(注意变量值里最前面的“.”和后面的“;”一定要填入)。281.3.3 配置环境变量4.选中系统变量中的Path,点击“编辑”,在出现的变量值后附加如下信息:;%JAVA_HOME%bin;291.3.3 配置环境变量5. 检验java命令301.3.3 配置环境变量6. 检验javac命令Java概述31JDK实用程序javacJava编译器,将Java源程序编译成字节码javaJava解释器,直接从类文件执行Java应用程序,即applicationappletviewer小程序浏览器,执

14、行html文件上的Java小程序,即AppletJava概述321.4.1 Java的工作原理在编写好以.java为扩展名的Java源程序文件后,通过Java编译器将源程序翻译成与平台无关的、扩展名为.class的字节码文件,然后通过Java解释器便可解释并运行字节码文件。字节码(Bytecode)是一种和具体计算机环境无关的中间代码。由于此种翻译方式既有编译又有解释,所以称作半编译、半解释方式。Java概述331.4.1 Java的工作原理Java的字节码运行在Java虚拟机上。Java虚拟机(Java Virtual Machine,JVM)是软件模拟的计算机,具有自己的堆栈、CPU等定义

15、,可以在任何处理器上(无论是在计算机上还是在其他电子设备中)安全并且兼容地执行保存在.class文件中的字节码。Java字节码最大的好处是跨平台运行,字节码没有保存特定平台的信息,而任何具有Java虚拟机的计算机或电子设备上都可以运行字节码文件,Java虚拟机中的Java解释器负责将字节码文件解释成特定的机器码运行。Java概述341.4.1 Java的工作原理Java虚拟机的建立需要针对不同的软硬件平台做专门的实现,既要考虑处理器的型号,也要考虑操作系统的种类。Java概述351.4.2 Java的运行系统对于Java中的两类程序:Java应用程序(Java Application)Java

16、小应用程序(Java Applet)存在两种不同类型的运行系统对于Java Application,运行系统是Java解释器对于Java Applet,运行系统是内嵌了Java解释器的Web浏览器,该浏览器中包含了支持Applet运行的环境Java概述361.4.2 Java的运行系统Java运行系统一般包括类装配器、字节码验证器、解释器、代码生成器和运行支持库。Java运行系统运行的是字节码,即.class文件。字节码的执行过程分为三步,如图1.12所示。Java虚拟机类装入器字节码验证器解释器字节码执行Java概述371.4.2 Java的运行系统1装入代码由类装入器装入程序运行时需要的所

17、有代码,其中包括程序代码中调用的所有类。当装入了运行程序需要的所有类后,运行系统便可以确定整个可执行程序的内存布局。Java概述381.4.2 Java的运行系统2验证代码由字节码验证器进行安全检查,以确保代码不违反Java的安全性规则,同时字节码验证器还可发现操作数栈溢出,非法数据类型转换等多种错误。Java概述391.4.2 Java的运行系统3执行代码Java字节码的执行有以下两种方式:即时编译方式:由代码生成器先将字节码编译为本机代码,然后再全速执行本机代码,这种运行方式效率高,执行速度约可提高25%。解释执行方式:解释器每次把一小段代码转换成本机代码并执行,如此往复完成Java字节码

18、的所有操作。Java概述401.5 简单的Java程序Java程序分两种: Java应用程序(Java Application) 1.普通桌面应用 2.服务器端应用 Java小程序(Java Applet)(由浏览器解释执行)Java程序Java概述411.5 简单的Java程序Java程序/ 文件名:FirstApp.java/* 程序功能:在DOS窗口显示字符串Java Programming! */public class FirstApp /* main方法输出字符串Java Programming! */public static void main(String args) Sys

19、tem.out.println(Java Programming!);例1.1:Java概述421.5 简单的Java程序Java程序用编译器javac.exe对它进行编译,如图1.13所示。若编译没有错误,将生成字节码文件FirstApp.class;若有错误,则回到编辑状态修改源文件,然后保存再重新编译。用解释器java.exe来运行该字节码文件得到如图所示的结果。Java概述43程序解析:1java注释分为以下三种:(1) 单行注释:从/开始到本行结束的内容都是注释。(2) 多行注释:在/*和*/之间的所有内容都是注释。(3) 文档注释:在注释方面java提供了一种C/C+所不具有的文档

20、注释方式。在“/*”和“*/”之间的文本,将自动包含在用javadoc命令生成的HTML格式的文档中。Java概述44程序解析:javadoc是JDK中API文档生成器。该工具解析一组Java源文件中的声明与文档注释,生成一组HTML页面描述这些源程序中定义的类、内部类、接口、构造方法、方法、属性等。JDK的API文档就是用javadoc工具生成的。在DOS提示符下输入javadoc FirstApp.java,则会生成API文档,生成过程如图所示。Java概述45程序解析:Java概述462关键字class用来声明一个类,关键字public表示它是一个公共类,一个Java源程序最多只能有一个

21、公共类。类定义体由一对括起来。3Java语言语句均以半角的分号;结尾。4类体内包含变量和函数的定义,变量称为类的“成员变量”,函数在Java语言中称为“方法”。5在该类中定义了一个main()方法,其中public表示访问权限,指明所有的类都可以使用这一方法。static指明该方法是一个类方法(又称为静态方法),它可以通过类名直接调用;void则指明main()方法不返回任何值。对于一个应用程序来说,main()方法是必需的,而且必须按照上述格式来定义。Java解释器在没有生成任何实例的情况下,以main()方法作为入口来执行程序。5 Java区分大小写。Java概述477Java程序中可以定

22、义多个类,每个类中可以定义多个方法,但是最多只能有一个公共类,main()方法也只能有一个。main()方法定义中,Stringargs是传递给main()方法的参数,参数名为args,它是String类的一个实例,参数可以为一个或多个,多个参数间用逗号分隔。8.语句System.out.println(“Welcome to Java”);的作用是调用系统类库中的System类的成员out的println()方法实现字符串的输出。与println()不同的是:print()方法在当前行输出,而println()方法在新的一行输出。Java概述489java源程序结构10源文件的命名规则:如果

23、在源程序中包含有公共类的定义,则该源文件名必须与该公共类的名字完全一致,字母的大小写都必须一样。这是java语言的一个严格的规定,如果不遵守,在编译时就会出错。因此,在一个java源程序中至多只能有一个公共类的定义。如果源程序中不包含公共类的定义,则该文件名可以任意取名。如果在一个源程序中有多个类定义和接口定义,则在编译时将为每个类生成一个.class文件。(每个接口编译后也生成.class文件)Java概述49【例1.2】 以命令行方式输入圆的半径,求圆的周长和面积public class Circle1 final static double PI = 3.1415926; / 定义常量P

24、Ipublic static void main(String args) double r, perimeter, area;r = Double.parseDouble(args0);perimeter = 2 * PI * r;area = PI * r * r;System.out.println(圆的周长为: + perimeter); / 实现字符串的输出System.out.println(圆的面积为: + area);Java概述50【例1.2】 以命令行方式输入圆的半径,求圆的周长和面积运行结果:Java概述51【例1.2】 以命令行方式输入圆的半径,求圆的周长和面积【程序解

25、析】args为字符串String类型的数组,从命令行读入的String类型的值3赋给数组元素args0,表示圆的半径,需要转换为实型double类型。Double是系统提供的一个类(在java.lang包中定义),parseDouble()是Double类的一个静态方法(有关静态方法的概念参见第3章),用于将String类型转换为double类型。语句“System.out.println(圆的周长为: + perimeter);”中的“+”运算符为连接符号,用于将字符串和double类型的值连接为一个新的字符串。Java概述52【例1.3】(自学)编写程序,要求运行程序时从控制台输入圆的半径

26、,然后输出圆的周长和面积。Java概述53【例1.4】(自学)从输入对话框中输入圆的半径,然后在消息对话框中显示圆的周长和面积。Java概述541.5.2 Java小应用程序(Applet)小应用程序(Applet)是指采用Java创建的基于HTML的程序。由于Java Applet内嵌于HTML文件,所以必须搭配浏览器来运行,因此要运行Java Applet程序必须要有Applet的字节码文件与支持Java的浏览器,此时的浏览器即扮演JVM的角色,用来解释Java的字节码文件。Java概述55【例1.5】设计一个显示“Hello World!”字符串的Java Applet程序,并用浏览器浏

27、览网页。(1)编辑如下的Java Applet源程序代码,文件名为HelloWorldApplet.javaJava概述56【例1.5】import java.awt.Graphics;import java.applet.Applet;public class HelloWorldApplet extends Applet public String s;public void init() s = new String(Hello World!);public void paint(Graphics g) super.paint(g);/ 在浏览器中坐标为(25,25)的位置显示字符串sg

28、.drawString(s, 25, 25); Java概述57【例1.5】程序解析所有的Java Applet程序都是Applet类的派生类,该派生类是Java Applet的主类,主类必须是public的。Java Applet程序中可以没有main()方法,Java Applet程序是从init方法开始执行的。Java概述58【例1.5】(2)编译Java Applet程序使用命令javac HelloWorldApplet.java编译Java Applet源程序文件,生成名为HelloWorldApplet.class的字节码文件。如果给出错误信息,则需要重复编辑和编译过程,直到程序

29、没有错误、编译成功为止。Java概述59【例1.5】(3)编辑HTML网页文件 Java Applet Example Java小应用程序 Java概述60【例1.5】把上面的代码保存为index.html文件,主文件名不受限制,合法的文件名即可。在HTML文件中嵌入Java小应用程序,使用标签,该标签包含如下几个参数:CODE = HelloWorldApplet.class:指定要嵌入的Java Applet字节码文件名,可以省略扩展名。由于Java采用半编译、半解释的方式,所以这里实际嵌入的是编译后的扩展名为.class的字节码文件。WIDTH = 300:指定Java Applet所占

30、浏览器页面的宽度,以像素为单位。HEIGHT = 300:指定Java Applet所占浏览器页面的高度,以像素为单位。Java概述61【例1.5】(4)运行网页文件有两种方式可以运行Java小应用程序: 使用小应用程序查看器Appletviewer.exe运行Applet程序在命令行下面输入appletviewer index.html,运行结果如图所示。Java概述62【例1.5】 在资源管理器中双击index.html文件,就可在浏览器中看到Applet的执行结果。使用IE浏览器显示结果如图所示632.4 Eclipse的安装和使用2.4.1 Eclipse概述2.4.2 Eciipse的安装2.4.3 Eclipse的使用642.4.1 Eclipse概述Eclipse是一个非常优秀的集成开发环境(IDE),它是IBM支持的开源项目。 Eclipse软件可以集成很多软件开发工具供应商的产品,任何开发工具厂商都可以将开发工具或插件加入到Eclipse平台. 用户可以在一个集成环境中使用不同的开发工具,从而进行良好的整合,降低开发成本。652.4.2 Eclipse安装1.下载与安装 到Eclipse官方网站下载免费的Eclipse软件压缩包。/eclipse/downloads/index.php Eclipse为绿色软件, 下载到本地硬盘后, 将Eclipse压缩

温馨提示

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

评论

0/150

提交评论