,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java,程序设计基础教程,Java程序设计基础教程,第一章,Java,程序设计概述,1.1,机器语言、汇编语言和高级语言,1.2 Java,语言概述,1.3 Java,平台和主要应用方向,1.4 Java,的垃圾回收与代码安全检查机制,1.5,典型的,Java,开发环境,1.6 Java,编程示例,1.7,反编译工具的介绍,1.8 Java JDK 6,新功能介绍,第一章Java 程序设计概述1.1 机器语言、汇编语言和高,1.1,机器语言、汇编语言和高级语言,计算机程序设计语言总的可以分成,机器语言,汇编语言,高级语言,三大类。,机器语言,是计算机唯一能接受和执行的语言,与硬件紧密相连。,机器语言由二进制码组成,每个二进制码是一条指令。,一条指令通常由两个部分组成:操作码,+,操作数。,1.1机器语言、汇编语言和高级语言计算机程序设计语言总的可以,汇编语言,是面向机器的程序设计语言。,汇编语言亦称为符号语言。,用汇编语言编写汇编语言源程序,必须用汇编程序把它翻译成机器语言目标程序才可执行,汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。,汇编语言是面向机器的程序设计语言。,高级语言,编写的程序叫高级语言源程序,必须翻译成机器语言目标程序才能被计算机执行。,高级语言的翻译有两种方式:编译方式和解释方式。,高级语言编写的程序叫高级语言源程序,必须翻译成机器语言目标程,1.2 Java,概述,Java,语言的关键特点,Java,语言的产生,Java,语言的发展,Java,虚拟机及,Java,的跨平台原理,1.2 Java 概述Java语言的关键特点,Java,语言的关键特点,简单性,平台无关性,面向对象性,安全性,分布式,多线程,动态性,Java语言的关键特点简单性,Java,语言的产生,1990,年,Sun,公司成立了由,James Gosling,领导的开发小组,开始致力于开发一种可移植的、跨平台的语言,该语言能生成正确运行于各种操作系统、各种,CPU,芯片上的代码。他们的精心专研和努力促成了,Java,语言的诞生。,Java 语言的产生1990年Sun公司成立了由James,Java,语言的发展,微软公司总裁比尔,.,盖茨先生认为,“,Java,语言是长时间以来最卓越的程序设计语言”,Java,语言已经成为目前最流行的网络编程语言,目前,我国对,Java,技术人员的需求量很大,许多大学纷纷开设,Java,课程,,Java,正逐步成为世界上程序员最多的编程语言。,Java 语言的发展微软公司总裁比尔.盖茨先生认为,“Jav,Java虚拟机及Java的跨平台原理,Java,虚拟机(,Java Virtual Machine),简称,JVM,,,Java,虚拟机在计算机上通过软件模拟来实现。,Java,虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。,Java,语言的一个非常重要的特点就是与平台的无关性。而使用,Java,虚拟机是实现这一特点的关键。,Java虚拟机及Java的跨平台原理Java虚拟机(Java,1.3 Java平台和主要应用方向,Java,不仅是编程语言,还是开发平台,Java,技术给程序员提供了许多工具,编译器、解释器、文档生成器和文件打包工具等,同时,Java,还是一个程序发布平台。,两种主要的“发布环境”,Java,运行时环境,JRE,(,java runtime environment,),许多主要的浏览器都提供了,Java,解释器和运行时环境。,1.3 Java平台和主要应用方向Java不仅是编程语言,Java,技术的平台架构,J2SE,(,Java 2 Standard Edition,):标准版,主要目的是为台式机和工作站提供一个开发和运行的平台。包括标准的,Java 2 SDK,、工具、运行时环境和,API,,用,Java,程序设计语言编写、部署和运行,Applet,和应用程序,是桌面开发和低端商务应用的解决方案。,Java技术的平台架构J2SE(Java 2 Standar,J2EE,(,Java 2 Enterprise Edition,):企业版,主要目的是为企业计算提供一个应用服务器的运行和开发平台。,J2EE,是一个开放的标准,通过基于标准化模块组件和一整套的相关服务能够自动处理应用程序行为的许多细节,从而大大简化了多层企业应用程序的构造和部署。,IBM,、,Oracle,、,BEA,、,HP,等,29,家已经推出了自己的产品,其中尤以,BEA,公司的,WebLogic,产品,和,IBM,公司的,WebSphare,最为著名,J2EE(Java 2 Enterprise Edition,J2ME,(,Java 2 Micro Edition,):小型版,主要是面向消费电子产品,为消费电子产品提供一个,Java,的运行平台,使得,Java,程序能够在手机、机顶盒、,PDA,等产品上运行包含高度优化的,Java,运行时环境,致力于电子消费产品和嵌入式设备的解决方案,J2ME(Java 2 Micro Edition):小型版,1.4 垃圾回收与代码安全检查机制,在,Java,运行环境中,始终存在着一个系统级的线程,专门跟踪内存的使用情况,定期检测出不再使用的内存,并进行自动回收,避免了内存的泄露,也减轻了程序员的工作量,1.4 垃圾回收与代码安全检查机制在Java运行环境中,始终,字节码的执行需要经过三个步骤,1,)首先由类装载器(,class loader,)负责把类文件加载到,Java,虚拟机中,在此过程需要检验该类文件是否符合类文件规范;,2,)字节码校验器(,byte code verifier,)检查该类文件的代码中是否存在着某些非法操作,3,)如果字节码校验器检验通过,由,Java,解释器负责把该类文件解释成为机器码进行执行。,字节码的执行需要经过三个步骤1)首先由类装载器(class,Java,虚拟机采用的是“沙箱”运行模式,即把,Java,程序的代码和数据都限制在一定内存空间里执行,不允许程序访问该内存空间外的内存,如果是,Applet,程序,还不允许访问客户端机器的文件系统。,Java,致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误,Java虚拟机采用的是“沙箱”运行模式,即把Java程序的代,1.5 典型的Java开发环境,Oracle,公司提供,JDK,(,Java Developers Kits,。,Oracle,公司的网站:,http:/,1.5 典型的Java开发环境Oracle公司提供JDK(,下载、安装和了解,JDK,下载,安装,JDK,要下载的是,Oracle,公司的,J2SE Development Kits,安装,JDK,了解,JDK,下载、安装和了解JDK下载,默认情况下,,JDK,与公用,JRE,各安装至,C:Program FilesJavajdk1.5.0_06,及,C:Program FilesJavajre1.5.0_06,。,公用,JRE,主要是为开发好的,Java,程序提供执行的平台。其实,JDK,本身也有自己的,JRE,,这个,JRE,位于,JDK,安装目录的,jre,目录,下。,JDK,本身所附的,JRE,主要是开发,Java,程序时做测试之用。与公用,JRE,的主要差别在于,JDK,本身所附的,JRE,比公用,JRE,多了个,server,的,VM,(,Virtual Machine,)执行选项。,默认情况下,JDK与公用JRE各安装至C:Program,JDK,的安装目录:,bin,目录,:提供的是,JDK,的工具程序,包括,javac,、,java,、,javadoc,、,appletviewer,等程序。,demo,目录,:一些使用,Java,编写好的范例程序。,jre,目录,:,JDK,自己附带的,JRE,。,lib,目录,:工具程序实际上会使用的,Java,工具类(例如,,javac,工具程序实际上会去使用,tools.jar,中的,com/sun/tools/javac/Main,类)。,src.zip,:,Java,提供的,API,类的源代码压缩文件。如果需要查看,API,的某些功能是如何实现的,可以查看这个文件中的源代码内容。,JDK的安装目录:,系统环境,ClassPath,值的设置,指定,Java,应用程序运行时所需要的,Java,类库,这些类库被包含在,jrelibrt.jar,和,libtools.jar,中,系统环境ClassPath 值的设置 指定Java应,系统环境变量,Path,值的设置,SDK,平台提供的,Java,编译器(,javac.exe,)和,Java,解释器(,java.exe,)位于,Java,安装目录的,bin,文件夹中,为了能在任何目录中使用编译器和解释器,应在系统环境中设置,Path,变量为,bin,目录,系统环境变量Path 值的设置 SDK平台提供的Ja,测试环境变量,写一个简单的,Java,程序,测试一下环境设置是否正确,【例,1-1,】一个简单的,Java,程序。,public class HelloWorld,public static void main(String argv),System.out.println(,你好!我的第一个,Java,程序!,);,测试环境变量写一个简单的Java程序,测试一下环境设置是否正,Eclipse,和,MyEclipse,Eclipse,是什么?,Eclipse,是一个开放源代码的、基于,Java,的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。,Eclipse和MyEclipse Eclipse 是什么?,MyEclipse,是什么?,简单而言,,MyEclipse,是,Eclipse,的插件,也是一款功能强大的,J2EE,集成开发环境,支持代码编写、配置、测试以及除错。,MyEclipse 是什么?,1.6 Java,编程示例,Java,程序分为,Java,Application,(,Java,应用程序)和,Java,Applet,(,Java,小应用程序)两种类型。,1.6 Java编程示例Java程序分为Java Appli,1.7,反编译工具的介绍,使用,SDK,提供的反编译器,javap.exe,可以将字节码(,class,文件)反编译为源代码(,java,),,查看源码类中的成员方法名和成员变量名,,如:,javap java.awt.Button,将列出,Button,中的,public,方法和,public,成员变量,javap private java.awt.Button,将列出,Button,中的全部方法和成员变量。,查看更多的参数,执行“,javap-help”,显示,1.7反编译工具的介绍 使用SDK提供的反编译器javap.,1.9,练习思考题,1,、,Java,运行平台包括三个版本,请选择正确的三项:(),A.J2EE B.J2ME,C.J2SE D.J2E,2,、开发与运行,Java,程序需要经过的三个主要步骤为,_,、,_,和,_,。,3,、,P11,随堂练习,下课交,1.9 练习思考题 1、Java运行平台包括三个版本,请选,