程序设计Java课件(第一章)_第1页
程序设计Java课件(第一章)_第2页
程序设计Java课件(第一章)_第3页
程序设计Java课件(第一章)_第4页
程序设计Java课件(第一章)_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

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

文档简介

1、Java大学实用教程课件制作者:吴剑云(耿祥义、张跃平编著)(电子工业出版社)第1章 Java语言概述Java 语言的诞生以及发展学习Java的必要性Java语言的特点Java运行平台Java程序开发JCreator的安装、配置与使用1.1 java 语 言的诞生以及发展 Larry Wall说,优秀程序员应有的三个特点:懒惰、急躁和傲慢。Java就是诞生在一群懒惰、急躁而傲慢的程序天才之中。 1990年12月,Sun的工程师Patrick Naughton被当时糟糕的Sun C+工具折磨的快疯了。他大声抱怨,并威胁要离开Sun转投另一家公司。领导层为了留住他,给他一个机会,启动了一个叫做St

2、ealth(秘密行动)的项目。 随着 James Gosling等人的加入,这个项目更名 *为Green。其目标是使用C+为嵌入式设备开发一种新的基础平台技术,使其能在消费性电子产品作业平台上执行,例如PDA、手机、资讯家电等。 经过18个月的努力,开发出第一个版本,当时的项目组负责人James 在为这种语言取名时,向窗户外望去,突然看到一棵翠绿的橡树,于是就把这种新的语言命名为Oak(橡树)语言。 Oak语言采用了许多C+语言的语法,是一种面向对象的编程语言,但其在安全性和易用性方面都要好于C+语言。 Oak语言在技术上的成功并未换取其在商业上的成功到了1992年9月,Oak语言连同Gree

3、n OS和一些应用程序一起发布在称做Start 7的小设备上,从而使之有了第一次精彩的亮相。随后,Sun开了一家名为FirstPerson的公司,整个团队被转移到这家公司里研发机顶盒,以投标时代华纳公司的一个项目。这帮天才被技术狂热所鼓舞,开发出了一个高交互性的设备,结果没想到时代华纳公司和有线电视服务商并不愿意用户拥有那么大的控制权,从而在竞标之战中败给了SGI。Sun沮丧地关闭了FirstPerson,召回了整个团队。1.1 java 语 言的诞生以及发展 但是,James Gosling对于花费了大量心血开发出来的Oak语言就此结束并不甘心。20世纪90年代初,Internet在全世界蓬

4、勃发展,受到Mosaic和Netscape浏览器取得巨大成功的启发,James Gosling等人发现,Oak语言所具有的跨平台、面向对象、安全性高等特点非常符合互联网的需要,于是开发了一个与Oak语言相配合的浏览器HotJava,其上可以显示一般浏览器在当时还做不到的动态效果。使Oak在Internet领域取得了巨大的成功。当时的Sun公司绝对没有想到,原本想用于消费电子产品开发的编程语言,却率先在网络中得到了广泛应用。 在Sun公司给Oak进行注册时,发现Oak已经是另外一种产品的注册商标了。工程师们在给Oak苦思冥想新的名字时,看到了桌子上热气腾腾的咖啡,于是将Oak更名为“Java”(

5、印度尼西亚一个盛产咖啡的岛屿),后来一杯冒着热气的咖啡的图案成了Java语言的商标。 1995年5月23日在Sun World 95大会上公开发布Java语言1.1 java 语 言的诞生以及发展 Java语言自从于1995年被正式推出之后,就以其独特的优势迅猛发展,经过短短十年多的时间,它已经成为迄今为止最为优秀的面向对象语言。Java也已从当初的一种语言而逐渐形成为一种产业,基于Java语言的应用系统越来越多。 Java语言产生之后,其主要发展历程如下:1995年,Sun公司正式发表Java与HotJava产品,在随后的几个月内,网景公司(Netscape)的Navigator浏览器和微软

6、公司(Microsoft)的IE浏览器宣布开始支持Java技术。java 语 言的发展*1996年1月23日,Java 1.0和JDK1.0版正式诞生。JDK指 Java开发工具(即Java Development Kit),它主要包括Java 程序的运行环境和开发工具。java 语 言的发展*这个版本包括了两部分:运行环境(即JRE)和开发环境(即JDK)。在运行环境中包括了核心API、集成API,用户界面API,发布技术,Java虚拟机(JVM)五个部分。而开发环境还包括了编译Java程序的编译器(即javac)。在JDK1.0时代,JDK除了AWT(一种用于开发图形用户界面的API)外,

7、其它的库并不完整。1997年2月18日,Java发表JDK1.1版。java 语 言的发展*JDK1.1相对于JDK1.0最大的改进就是为JVM增加了JIT(即时编译)编译器。JIT和传统的编译器不同,传统的编译器是编译一条,运行完后再将其扔掉,而JIT会将经常用到的指令保存在内存中,在下次调用时就不需要再编译了。这样JDK在效率上有了非常大的提升。1998年,从JDK1.1版升级为JDK1.2版。java 语 言的发展*JDK1.2对它的API分成了三大类:核心API,由Sun公司制定的基本的API,所有的Java平台都应该提供。这就是我们平常所说的Java核心类库;可选API,这是Sun为

8、JDK提供的扩充API,这些API因平台的不同而不同;特殊API ,用于满足特殊要求的API。如用于JCA和JCE的第三方加密类库。JDK1.2中的API类从原来的200个增至1600个,并引入了用纯Java编写的GUI设计工具 Swing。1999年,Sun公司将Java 2分为三个体系:J2EE、 J2SE和J2ME。Sun公司把Java划分成J2EE、J2SE、J2ME三个平台,就是针对不同的市场目标和设备进行定位的,标志着Java技术的成熟,其应用扩展到了各个领域。J2EE指Java 2 Enterprise Edition(企业版),主要目的是为企业计算提供一个应用服务器的运行和开发

9、平台。J2SE是Java 2 Standard Edition(标准版),主要目的是为台式机和工作站提供一个开发和运行平台,J2SE就是本书要讲的内容。J2ME是Java 2 Micro Edition(小型家电版),主要面向消费类电子产品,为消费电子产品提供一个Java的运行平台,使得Java程序能够在手机、机顶盒、PDA等产品上运行。java 语 言的发展*2000年5月,推出了J2SE1.2版的升级版J2SE1.3。由于计算机网络和XML(可扩展标记语言,类似于HTML)技术的快速发展,在J2SE1.3中引入了Java API for XML(JAX)。 2002年2月,从J2SE1.3

10、版升级到J2SE1.4版。2004年10月,Sun公司发布了J2SE 5.0,这次的名称没有使用J2SE1.5,Sun公司的解释是J2SE已经使用了五年,将版本号从1.5改为5.0可以更好地反映出J2SE的成熟度、稳定性、可伸缩性和安全性。java 语 言的发展*2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名以取消其中的数字“2”:J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。 2006年11月13日,SUN公司宣布Java全线采纳GNU General Public License Ve

11、rsion 2,从而公开了Java的源代码。 2011.7.29,甲骨文公司宣布推出最新 (Java SE 7),这是甲骨文公司首度推出的Java平台新版本。本次推出的Java SE 7为业界集体开发的成果,包括公开评估,每周研讨,以及甲骨文工程师通过OpenJDK社区和Java 标准制定组织 (JCP)与全球Java生态链成员间的密切合作。java 语 言的发展*Java SE 7的特点: 帮助开发者减少代码量。使语法清晰,代码更易读,从而提高开发者的工作效率并简化常见编程任务。 改进动态语言支持(包括:Ruby, JavaScript),显著提升JVM上的运行性能。 一个新的为多核环境而设

12、计的API,可支持任意数量处理器内核并行执行任务。带有文件系统的完整I / O工作界面,可以访问更广泛的文件属性阵列,在发生错误时可提供更多的信息。 全新网络与安全特性 扩大国际化支持,支持Unicode 6.0 更新大量库版本java 语 言的发展*Java SE 8的功能还包括改善JavaScript于JVM上的运作,采用新一代的JavaFX 3.0客户端程序,并支持更多的现代设备等。预计Java SE 8将在2013年8月出炉。 1.2 学习java 语 言的必要性 java是一门广泛使用的编程语言,也是一门应掌握的基础语言Java不仅可以用来开发大型的桌面应用程序,而且特别适合于Int

13、ernet的应用开发。 Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,而且很多新的技术领域都涉及到了Java语言。*1.3 java 的特点*程序设计语言分为三种:机器语言汇编语言高级语言编译器和解释器 编译器把用高级语言编写的程序(即源程序),从头到尾翻译成用二进制表示的机器代码 (即目标代码),然后由计算机执行机器代码,就可得到程序的运行结果。例如: C、C+等 解释器这种方式不产生整个目标程序,而是根据当前的机器处理器芯片,边翻译边执行,翻译一句执行一句.例如:php、Basic编译器和解释器编译器和解释器编译器和解释器Java编程语言特殊之处在程序既被编译又被解释1

14、.3 java 的特点* Java 字节编码(bytecode),它是由java编译器生成的、用于java虚拟机的机器指令,它有助于使“一次编写,处处运行”成为可能 。如下图所示:1.3 java 的特点Java语言的特点简单的、面向对象的健壮性、安全性体系结构无关性、可移植性多线程的、动态的*1.3 java 的特点java 的特点:简单的1)摒弃了C+中容易引发程序错误的一些特性,如指针、结构、枚举以及内存管理等;2)继承了C/C+语法和C+的许多面向对象概念3)提供了丰富的类库(API),可以帮助我们很方便地开发Java程序。*java 的特点:面向对象的*支持面向对象编程的封装多态继承

15、三大特性首先,Java是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠;其次,Java不支持指针,这杜绝了内存的非法访问;第三,Java的自动单元收集防止了内存丢失等动态内存分配导致的问题;第四,Java解释器运行时实施检查,可以发现数组和字符串访问的越界,最后,Java提供了异常处理机制,程序员可以把一组错误代码放在一个地方,这样可以简化错误处理任务便于恢复。 java 的特点:健壮的* java 的特点:体系结构无关的、可移植的* java 的特点:多线程的* 多线程机制使应用程序能够并行执行 ,而且同步机制保证了对共享数据 的正确操作。通过使用 多

16、线程 ,程序设计者可以分别用不同的线程完成特定 的行为 ,而不需要采用全局的事件循环机制 ,这样就很容易地实现网络上的实 时交互行为。 java 的特点:动态的Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。 因为类的装载是在运行时动态完成的,从而使java可以在分布式环境中动态地维护程序及类库。*1.4 java 运行平台 平台(platform)的概念 平台是程序在其中运行的硬件或软件环境,一般指OS和硬件的组合。流行的平台有,windows 2000、Linux、Solaris、和 MacOS 等。 Java 平台(platf

17、orm)的特点 java 平台它是一种运行在其它硬件平台上的纯软件平台。* Java应用程序编程接口(Java API) java API 是预先建立的软件包的大型集合,这些包提供了许多功能, 方便了我们编程,也提高了开发软件的速度。 Java 平台的两个组件 Java 虚拟机(jvm)1.4 java 运行平台 三种java运行 平台1999年,Sun公司将Java 2分为三个体系:J2EE、 J2SE和J2ME。J2EE指Java 2 Enterprise Edition(企业版),主要目的是为企业计算提供一个应用服务器的运行和开发平台。J2SE是Java 2 Standard Editi

18、on(标准版),主要目的是为台式机和工作站提供一个开发和运行平台,J2SE就是本书要讲的内容。J2ME是Java 2 Micro Edition(小型家电版),主要面向消费类电子产品,为消费电子产品提供一个Java的运行平台,使得Java程序能够在手机、机顶盒、PDA等产品上运行。1.4 java 运行平台2005年,Java的各种版本更名以取消其中的数字“2”:J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。 Java SE 平台的安装 下载jdk1.6 /technetwork/java/javase/downloads/index.html j

19、dk安装的目录结构 图1.1 JDK目录结构 设置path变量 设置classpath变量 仅安装JRE 1.4 java 运行平台bin:JDK中的工具程序文件夹。其主要工具软件有: javac:Java程序编译器java:Java解释器,用于执行编译后的Java应用程序。 jdb:Java调试器,用来调试Java程序。 appletviwer:用来运行和调试Java小应用程序 (Applet) jar:Java程序文件压缩工具。javadoc:Java程序帮助文档生成器,可创建 HTML格式的帮助文件。1.4 java 运行平台集成开发环境1.4 java 运行平台1. Eclipse E

20、clipse是一种可扩展的免费集成开发环境。在2001 年11月,IBM公司捐出价值4000万美元的源代码,组建了 Eclipse联盟,由该联盟负责这种工具的后续开发工作。它的源代码是开放的,任何人都可以在其网站 ()上下载Eclipse的源代码。Eclipse的主要特点是开发者可以自己编写插件(符合一定规范,具有某一功能的程序模块)或下载一些免费的插件来扩展 Eclipse的功能。目前,Eclipse已经成了Java编程人员使用最多的开发工具 任何人都能够轻易的将自己的软件做成Eclipse的插件 集成开发环境1.4 java 运行平台2. NetBeans NetBeans是Java技术的

21、发明者Sun公司推出的Java集成开发环境,它使用标准的Java图形用户界面(GUI)技术。 NetBeans与Eclipse相似,也是一个开放源代码的免费软件,但它的插件不需要另外安装。从NetBeans 5.0开始由于其功能和操作的方便性等方面都有了很大的提高,其灵活性和易用性也比较好,且支持可视化设计,因而目前使用者越来越多。集成开发环境1.4 java 运行平台3. JBuilder JBuilder功能强大,对Java技术的支持比较全面,能够满足很多方面的应用要求。JBuilder的版本更新也比较快,当前常用的版本是JBuilder 2005。为了方便用户选择使用,JBuilder有

22、三种版本:个人版、专业版和企业版。JBuilder的缺点是占用系统资源比较多,机器配置比较低时速度较慢,使用中文系统时会遇到一些问题,如光标错位等。集成开发环境1.4 java 运行平台4. Java 除了以上介绍的Java集成开发环境外,还有JDeveloper、 JEdit、JCreator、BlueJ等一些其他厂家或科研机构开发的工具软件。其中JEdit、JCreator、BlueJ等一些软件主要用在Java编程语言的学习和教学中 1.5 java 程序开发 常见的程序类型: applet和应用程序applet :是一种遵从某种约定,可在支持java的浏览器中运行的程序;应用程序:直接在

23、java平台上独立运行的程序。*创建文件名为Hello应用程序的步骤: 编写Hello.java源文件 Java应用程序的源文件是由若干个书写形式互相独立的类组成。 Hello.java 应用程序的主类 源文件命名规则良好的编程习惯 编译Hello.java源文件(javac Hello.java) 解释执行字节码文件 (java Hello) 1.5 java 程序开发创建文件名为Tom应用程序的步骤: 编写Tom源文件 Tom. java 应用程序的主类 源文件命名规则 编译Tom.java源文件(javac Tom.java) 解释执行字节码文件 (java Example) 在jcre

24、ator中只要选择此代码执行即可1.5 java 程序开发Java applet 开发 创建文件名为Boy小程序的步骤: 编写Boy.java源文件和Boy.html网页文件 小程序源文件由若干个类组成的,不需要main方法,但必须有且只有一个类扩展了Applet类。 Boy. java & Boy.html 编译Boy.java源文件(javac Boy.java) 查看网页(appletviewer Boy.html) 1.5 java 程序开发1.6 jdk1.6 编译器 JDK1.6的编译器javac.exe 不再向下兼容, 即,如果在编译源文件时没有特别约定的话,用JDK1.6的编译

25、器生成的字节码只能在安装了JDK1.6或JRE1.6的Java平台环境中运行。补充 JCreator的安装、配置与使用利用记事本和JDK开发Java程序虽然在理论上是完全可行的,但一般Java程序的开发都会借助一些工具加快开发速度Jcreator是一个小巧灵活的Java开发工具,它可将Java的程序的编写、编译、运行和调试集成进自身的环境中直接进行开发,且无需进行环境变量的设定。1、Jcreator安装(1)Jcreator的特点Jcreator是共享软件,用来开发基于Java的应用程序,安装后只有4M左右,且只需32M内存即可运行Java程序开发需要安装Java的开发工具包(JDK),但Jc

26、reator安装程序本身并不附带,所以需要先安装jdk,才能利用Jcreator进行开发。1、Jcreator安装(2)Jcreator的安装先行下载Jcreator pro 4.0。安装图示(略,安装过程中默认安装即可):2、Jcreator设置Jcreator的工程(project)和工作空间workspace Jcreator利用工程(Project)管理相应的文件,一个工程由多个Java源文件和其他一些文件组成,Jcreator中工程文件的扩展名为jcp Jcreator的工作空间(Workspace)用来管理工程,一个工作空间中可以包含多个工程,Jcreator中工作空间文件的扩展名

27、为jcw Jcreator规定,一个工程必须包含在一个工作空间中。所以,当我们创建一个工程时,Jcreator会自动给我们创建一个工作空间已包含当前工程。JCreator在同一时刻只容许打开一个工作空间Java文件、project和workspace之间的关系Java源文件class源文件其它文件工程文件(jcp)工作空间(jcw)Jcreator编辑界面的组成文件视图类视图代码视图输出视图执行按钮编译按钮(1)文件视图文件视图用来显示工程中的所有文件,并且可以显示当前的工程名称和工程所在的工作空间的名称一个工作空间中可以包含多个工程,但只能有一个活动工程。活动工程是指当前起作用的工程。双击工

28、作空间中的一个工程名字将使得该工程成为活动工程,活动工程的名字显示为黑体,而非活动工程显示为普通字体文件视图图解New按钮工作空间活动工程非活动工程视图关闭按钮(2)代码视图 代码视图用来编辑工程文件的源代码。在文件视图中双击某个文件名称,即可在代码视图中对该文件进行编辑Jcreator提供了代码帮助的功能。即如果输入相应的方法或变量,代码视图可提供该方法或变量的动态提示。如果代码提示不出现,可能的原因有两条:JDK及相关类库文件没有正确设置书写的代码有错误(3)类视图 类视图显示了当前显示在代码视图中Java源文件的类的层次和类中的方法 双击某一方法将直接在代码视图中定位到该方法的定义处(4

29、)输出视图 输出视图主要用来输出编译相关的信息。如果有错误信息出现,双击错误信息的第一行即可在源代码中定位该错误。在输出视图中定位出错程序行出错的程序行双击Out视图中出错信息首行可以在源代码中定位错误行(5)编译按钮当前文件编译按钮工程文件编译按钮编译按钮 只有将工程文件进行编译之后,才能进行运行测试等工作当前文件编译按钮此按钮负责编译当前在源码视图中打开的java源文件工程文件编译按钮此按钮负责编译工程中所有的java源文件3 、Jcreator中JDK的设定方法设置JDK所在的路径并引入所需的类库想要正常编译Java应用程序,必须首先正确设置JDK的位置在Jcreator安装时,会询问J

30、DK的安装文件夹,此时只要按它的安装提示向导,设定好JDK安装文件夹的位置即可如果在安装时没有设定JDK的位置,Jcreator也提供了手动设定JDK的方法,请参照以下步骤:设置JDK步骤一在Jcreator的主菜单中点击“Configure”菜单中的“Options”菜单在弹出的对话框中左侧的导航树中选中“jdk profiles”节点,如图所示:设置JDK步骤一 如果在右侧的jdk列表中已存在jdk且颜色不为红色,代表jdk已被正确设置。 如果jdk的名称为红色,则代表该jdk安装有问题,可按“delete”按钮将其删除后按下面的步骤重设 如果列表中没有已安装的jdk或删除了不合格的jdk

31、,请点击“new”按钮,在弹出的对话框中找到你下载的jdk所在的根目录,然后按“确认”按钮,如图所示选择jdk所在路径,然后按“确认”按钮后的图示点击确定按钮设置JDK步骤二 在设置完成基本JDK之后,如果想在Jcreator中得到有关Java的相关帮助,则必须为当前设定好的JDK加入帮助文档,该帮助文档是和相应的JDK一并提供的,可以在Java的官方网站/technetwork/java/javase/downloads/index-jsp-138363.html下载最新版本的文档JDK帮助文档的使用方法 下载后的文件需要用WinRAR或Winzip等解压软件解压缩后,才能进行使用,解压后的帮助文件位于一个名为docs的目录中,建议将此文件夹拷贝到JDK的安装目录中。 如果在JDK的安装目录下存在JDK文档的docs目录,则Jcreator在设置JDK时会自动将该目录作为当前JDK的帮助文档目录进行添加,此时点击JDK Profile对话框中的“Document”选项卡应该看到该目录 如果下载解压后jdk的帮助文档没有放在JDK的docs目录中,需要在JCreator中手动加入。在Option对话框中再次选中设定好的JDK,点击“Edit”按钮 在弹出的“JDK Profile”对话框中选中“Document”选项卡,点击“Add”按钮,在弹出

温馨提示

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

评论

0/150

提交评论