好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Java语言程序设计第一章.ppt

48页
  • 卖家[上传人]:壹****1
  • 文档编号:590758842
  • 上传时间:2024-09-15
  • 文档格式:PPT
  • 文档大小:220.52KB
  • / 48 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • Java Java 语言程序设计语言程序设计吴倩1 课程概要第一部分:Java 语言•第一章:Java 程序设计概述•第二章:Java语言基础知识•第三章:类与对象•第四章:类的重用•第五章:接口与多态第二部分:Java类库•第六章:异常处理•第七章:输入与输出•第八章:多线程•第九章:对象的集合2 第三部分 Java与GUI•第十章:图形用户界面•第十一章: Java applet第四部分 Java与网络•第十二章:JDBC与Java网络套接字•第十三章:Java Server Page•第十四章:Servlet3 第一章 Java 程序设计概述1、Java语言的历史、应用及发展2、Java语言的特点3、Java程序的开发环境4、Java类库5、Java程序介绍6、Java程序书写规范4 1、Java语言的历史、应用及发1.1 Java语言的历史•1991年,SUN MicroSystem公司的Jame Gosling、Bill Joy等人为智能消费类家用电器研究而开发的电子产品上一个名为Oak的软件•1993年,web开始在Internet上流行,Oak重新命名为Java,Java技术转移到Internet。

      •1995年Sun向公众正式推出Java并引起业界的轰动•1995年以来,Java逐步实现了面向网络应用,类库不断丰富,性能不断提高,应用领域不断拓展5 •Java已成为当今最流行的软件开发语言之一,Sun推出了 Java2 & J2EE使Java具有更广泛的用途,适用于各种应用开发,尤其是网络应用,网络服务,嵌入式系统等•Java与就业:2008年国内软件行业调查表明:程序员使用的开发语言比例如下:C/C++占32%, Java占37%,.Net占22%,C#占21%, Delphi占7%1.2 Java 语言的应用6 •Java语言的应用前景:–所有面向对象的应用开发–计算过程的可视化、可操作化的软件的开发–动态画面的设计,包括图形图像的调用–无线通信,嵌入式系统–英特网的系统管理功能模块的设计,包括Web页面的动态设计、管理和交互操作设计等–企业内部网上的软件开发–与各类数据库连接查询的SQL语句实现–分布式网络系统软件开发–其他应用类型的程序7 1.3 Java语言的发展•从1995年Java正式推出至今10年时间内,Java共推出了7个版本,平均每18个月发布一个新版本•每一次版本的推出都在功能上有所增强,完善,效率上有所提高,为程序员提供更多的方便,以吸引更多的程序员喜欢并使用Java。

      •其发展历程如表所示:8 Java自JDK1.0.2 到Java2 v6.0以来的演变过程版本日期主要演变内容JDK 1.0.21996年1月第一次发布第一次发布JDK1.1 1997年2月实例初始化程序,嵌套类,实例初始化程序,嵌套类,I/O I/O ReaderReader与与WriterWriter类等类等JDK 1.2(后改为Java 2)1998年12月JFCJFC与与SwingSwing,, 集合类与集合类与JDBCJDBC增强,增强,线程本地存储等线程本地存储等JDK 2 v1.3 2000年5月无重大变化,主要是改善性能和无重大变化,主要是改善性能和修补以前的缺陷修补以前的缺陷JDK2 v1.42001年12月正则表达式,新的正则表达式,新的I/OI/O包,断言语包,断言语句等句等J2SE 5.02004年6月自动加封和解封,枚举类型,可自动加封和解封,枚举类型,可变参数,访问环境变量,增强的变参数,访问环境变量,增强的for循环,静态导入等;类库变化:循环,静态导入等;类库变化:printf, java.util.scanner, java.util,concurrent, javax.xml,J2SE 6.02006年11月(1) (1) 提供了提供了java.io.Consolejava.io.Console类专类专用来访问基于字符的控制台设备用来访问基于字符的控制台设备 9 J2SE 6.02006年11月(2) (2) AWTAWT新增加了两个类新增加了两个类:Desktop:Desktop和和SystemTraySystemTray (3) Compiler API(JSR 199)(3) Compiler API(JSR 199)去动去动态编译态编译JavaJava源文件源文件(4)(4)提供了一个简单的提供了一个简单的Http Http Server API,Server API,据此可以构建自己的据此可以构建自己的嵌入式嵌入式Http Server,Http Server,它支持它支持HttpHttp和和HttpsHttps协议协议, ,提供了提供了HTTP1.1HTTP1.1的部的部分实现分实现 (5)(5)对脚本语言的支持如对脚本语言的支持如: ruby, : ruby, groovy, groovy, javascriptjavascript. (6)(6)插入式注解处理插入式注解处理API(PluggableAPI(Pluggable Annotation Annotation Processing API)Processing API),插入式注解处,插入式注解处理理API(JSR 269)API(JSR 269)提供一套标准提供一套标准APIAPI来处理来处理AnnotationsAnnotations(7)(7)提供嵌入式数据库提供嵌入式数据库 DerbyDerby 10 •1999年下半年,Sun Microsystems 重新组织Java平台的集成方法,并将Java企业级应用平台作为发展方向,因此,现在Java的大家庭中有三个主要成员:(1)J2SEJ2SE——即Java 2 (Software Development Kit) Standard Edition,是Java最通行的版本,用于工作站,PC机的Java标准平台。

      2)J2MEJ2ME——即Java2 Micro Edition, 用于嵌入式Java消费电子平台无线通讯,,PDA等小型电子装置都可以采用其作为开发工具及应用平台3)J2EEJ2EE——即Java2 Enterprise Edition (企业应用Java 2平台,它提供了企业e-Business架构及Web Service服务其深受企业用户欢迎之处在于其开放的标准和优越的跨平台能力11 2、Java 语言的特点——(1)面向对象•Java 是一种面向对象的语言和C++类似,具有面向对象的基本特征:–封装:提供了类的机制,在类中封装了数据和方法,保证数据的安全性–继承:通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用–多态:同一个消息被不同的对象接收后可以导致不同的行为12 2、Java 语言的特点——(2)易于学习•Java语言简单,它的语法和C++非常相似,但是抛弃了C++中的许多低级,容易混淆,容易出错,不经常使用的功能,如:运算符重载,指针运算,多重继承,程序的预处理,命名空间等13 2、Java 语言的特点——(3)与平台无关性•Java源程序经过编译器编译,会生成与平台无关的字节码(byte-codes)代码程序,这些字节码指令对应于Java虚拟机的表示,只要安装了Java运行系统, Java解释器得到字节码后,对它进行转换,生成的代码程序能够在同一系统或其他任何系统上运行,如:Windows, Solaris, Linux, 其他任何一种Unix操作系统,移动,嵌入式处理器,PDA等。

      •这也称为软件可移植性,也就是“编写一次,到处运行”,这也正是Java得以迅速普及的重要原因14 编写一次,到处运行15 编译型语言的工作模式16 解释型语言的工作模式•Java是一种解释型语言,其编译源程序的执行方式是先经过编译器编译,再利用解释器的方式运行的•解释器在工作方式上与编译器不同,它不对源程序进行翻译,而是直接对源程序的语句进行分析和解释,实现源程序所描述的功能•任何一种可以运行Java程序(即可以担任Java解释器)的软件都可以成为Java虚拟机JVM(Java Virtual Machine),例如浏览器与Java的一些开发工具都可以看作JVM•如下图所示:17 源程序源程序((.java文件)文件)Java编译器编译器SPARCpentiumPowerpcPowerpcpentiumSPARC二进制二进制Java解释器解释器类、类库装载字节码程序字节码程序Java Bytecode(.class文件文件)18 2、Java 语言的特点——(4)分布式•分布式主要指数据分布和操作分布,数据分布指数据可以分散在网络中不同的主机上,操作分布指一个任务分散在不同的主机上进行处理。

      Java从诞生起就和网络联系在一起,它强调网络特性,内置TCP/IP, HTTP,FTP 协议类库,便于开发网络应用系统19 2、Java 语言的特点——(4)安全性•Java不支持指针,规定对内存的访问都必须经过对象的实例变量实现,防止非法访问私有成员•Java的内部安全措施保证Java程序在Java虚拟机规则下操作,防止未授权的程序访问专有信息资源20 2、Java 语言的特点——(5)多线程单线程程序一个时刻只能做一件事情,多线程程序允许在同一时刻同时做多件事情Java是第一个在语言级提供内置多线程支持的高级语言Java提供现成的类Thread,只要继承这个类就可以编写多线程的程序多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为21 2、Java 语言的特点——(6)与C++比较–不再有全局变量,可以在类中定义公有、静态的数据成员实现相同功能;–不再有#include#include 和#define#define 等预处理功能,用import语来句包含其它类和包;–不再有structurestructure、unionunion及typedeftypedef等–Java中没有不属于类成员的函数,没有指针、不再有多重继承,只支持单重继承;–不再有gotogoto语句–不再有运算符重载(Operatior Overloading)–取消自动类型转换,要求强制转换–自动进行内存管理(详细比较可参考:thinking in Java 附录B Java和C++比较)22 3、 Java程序的开发环境•Java APIs (应用程序接口) –经过编译的,可在程序中使用的Java代码标准库。

      •Java VM(虚拟机)–Java 程序由Java虚拟机程序执行(或解释执行)Java 程序Java APIsJava 虚拟机计算机系统Java 平台23 J2SE——J2SDK的核心部分•开发工具–编译器–调试器 –文档制作工具•运行环境 –Java 虚拟机–组成Java 2 平台API的类–帮助文档•附加库 •Java程序(Applets 和 Applications) 的演示 ……24 3.1 Java 开发工具Java 2 标准版软件开发工具包J2SDK, 包括开发工具,运行环境,附加库,Applets和Applications的演示等内容J2SDK常用工具包括•JavacJavac:–Java编译器,用来将java程序编译成 Bytecode• JavaJava:–Java解释器,执行已经转换成Bytecode的java应用程序• JdbJdb:–Java调试器, 用来调试java程序• JavapJavap:–反编译,将类文件还原回方法和变量• JavadocJavadoc:–文档生成器,创建HTML文件• AppletviwerAppletviwer:–Applet解释器, 用来解释已经转换成Bytecode的java小应用程序。

      25 3.2 开发工具安装环境安装——以jdk 6为例•下载地址下载地址–http://•下载文件下载文件–下载 jdk-6u5-windows-i586-p.exe•安装–直接运行 jdk-6u5-windows-i586-p.exe” 26 安装JDK后产生如下目录:•\bin目录:Java开发工具,包括Java编译器、解释器等• \demo目录:一些实例程序• \lib目录:Java开发类库• \jre目录: Java运行环境,包括Java虚拟机、运行类库等• …27 •设置环境变量:设置环境变量:( (现已不再使用)现已不再使用)– PATH = \bin;设置Java的Path,目的是让Java程序设计者在任何环境都可以运行SDK \bin目录下的工具文件,如:javac, java, javadoc等– CLASSPATH = . ; < >;设置classpath的目的是让Java虚拟机找到所需要的类库•Windows NT/2000/XP:控制面板系统高级环境变量28 3.3 Java集成开发环境几种集成开发环境•netBeans•Jcreator LE•Borland JBuilder•Microsoft Visual J++•IBM : Visual Age for Java•Sun ONE Studio•BEA’s Workshop Studio•Eclipse 29 •我们使用Eclipse3.4作为开发平台。

      •Eclipse 是一个开源,基于Java的开发环境(Integrated Development Environment) IDE, 是一个功能完整并成熟的软件,由IBM与2001年首次推出可以从官方网站:http://www.eclipse.org免费下载•Eclipse 是一个框架和一组被称为平台核心的服务程序,用于通过插件组建构建开发环境•使用Eclipse来开发Java程序,必须安装SDK作为它的插件才能使它正常运作•Myeclipse是eclipse的开发插件,它将很多Java应用服务器,J2EE组件和Web应用开发向导工具集成到Eclipse中,可以帮助Java开发者在Eclipse环境内建立,测试和部署J2EE应用•课后请自己查找Eclipse相关资料学习Eclipse 简介30 4、Java 类库•组成Java程序的最小单位是类,类封装了数据与处理数据的方法•对于大多数常用的功能,有大量已经编译好、经过测试的类,这些类的集合就是Java类库•Java类库主要是随编译器一起提供,也有些类库是由独立软件开发商提供的;当然也有你自己开发的31 •类库被组织成许多包,每个包又包含一些子包和多个类。

      形成树型结构的类层次,其中包括核心包java, 扩展包,和org等•Java的应用程序接口(API)是一个巨大的类库的集合,从 Java Packages (1)nLanguagejava.lang构成Java语言核心的类nObject, Math, String, Number, Exception, System, Runtime ……nUtilitiesjava.util提供实用的数据结构 nVector, Stack, Hashtable …… / Colloection, List, Set, Map ……nI/Ojava.io提供多种类型的输出/输出nInputStream, OutputStream, Reader, Writer, RandomAccessFile, File……nTextjava.text文本/日期/数字/消息的本地化支持nNumberFormat, DateFormat, and Collator……nMathjava.math提供任意精度的整数和浮点数运算nAWT java.awt用户接口设计和事件处理nSwingjavax.swing提供全Java的,在任何平台上表现都相同的轻量级构件33 Java Packages (2)nJavaxjavax 对Java语言的扩展nAppletjava.applet 用于创建Applet的类nBeansjava.beans 用于开发JavaBeans的类nReflectionjava.lang.reflect 用于动态获取类信息的类nSQLjava.sql 提供对数据库中数据的访问和处理nConnection, ResultSet, Statement……nRMIjava.rmi 支持分布式编程nN 支持开发网络应用的类nSocket, URL, URLConnection……nSecurityjava.security支持访问控制和信息安全的类n用于访问控制,防止非信任代码执行关键操作n认证相关的类,实现了消息摘要和数字签名与数字认证等34 5、Java程序介绍•Java程序主要有以下几种:–Application (应用程序)–Java Applet–Servlet–Jsp35 5.1Java ApplicationApplication–运行在客户端Java虚拟机上的Java程序–可在客户端机器中读写–可使用自己的主窗口、标题栏和菜单–程序可大可小–能够以命令行方式运行–主类必须有一个主方法main(),作为程序运行的入口。

      36 import java.util.*;;public class HelloDate{    public static void main(String args[])    {                System.out.println(“Hello, it’s: ”);    System.out.println(new Date());    }}•编辑存盘:文件名和公共类名(用public声明)要一致 HelloDate.java•编译程序:javac HelloDate.java•运行程序:java HelloDate•使用Eclipse, 创建一个Java的project,编译和运行一步到位第一个Java应用程序37 •jajava.langva.lang是默认导入到每个java文件的,无需用import 导入它的类都可以直接使用SystemSystem属于java.lang•java.lang里没有Date类,所以必须导入util才能使用Date类•声明一个类:public class HelloDate{},类名第一个字母大写类名第一个字母大写•一个类中可有很多方法(在Java里,函数称为方法method), main方法是运行程序的第一个方法,方法名的第一个字母小写方法名的第一个字母小写。

      •System.out.println向屏幕输出,并自动结束,无需加“\n”,相当于C中的printf(),C++中的cout在这里,传递的参数是一个Date对象,将被自动转换为String类型这条语句结束后,Date对象会被垃圾回收器在任意时候回收,我们不用销毁它38 •packagepackage语句:零个或多个,必须放在文件开始•importimport语句:零个或多个,必须放在所有类定义之前•可以定义零个或一个public class •可以定义一个或多个class•可以定义一个或多个interface•类个数:至少一个类,最多只能有一个最多只能有一个public classpublic class•源文件命名:若有public类,源文件必须按该类命名•标识符:区分大小写Java程序结构39 •使用类库以便引用其他类•类定义:定义程序所需的类及接口,包括其内部的变量、方法等•main方法:应用程序的入口,与标准C中main()函数的地位是一样的一个应用程序有且只有一个main(),main()必须包含在一个类中•程序注释:与C++类似,/*…* //…40 第二个Java应用程序(命令行参数)public class CommArg{     public static void main(String args[])     {           // Display command arguments           int i;           if( args.length > 0 )  //have some command arguments           {                 for( i=0; i

      • 字符串的拼接: "arg[" + i + "] = " + args[i]• 运行程序(命令行参数获取):• java CommArg first second third• 运行结果: arg[0] = first arg[1] = second arg[2] = third•使用eclipse存盘后就自动编译其他例子:myclass.java42 5.2 Java applet•Applet——小应用程序–运行于支持Java的Web浏览器中–浏览器的解释器把字节码转换成和机器匹配的指令,在网页中执行小程序–Applet和Application的差别:运行环境的不同,小应用程序总是放在Web浏览器的图形用户界面中43 •Applet的优点–Web 浏览器软件包括很多小应用程序运行所需的功能•Applet的局限性–在客户端主机的文件系统中读/写受限–不能运行客户端主机的任何程序–仅能在服务器和客户端之间建立联系44 5.3 Servlet•Servlet运行在服务器端,响应客户端请求,扩展了服务器的功能•运行Servlet需要服务器的支持,需要在服务器中进行部署•Servlet用到的包在J2EE的API中能找到•所有的servlet都必须实现Servlet接口45 5.4 JSP(Java Server Page)•JSP就是嵌入了Java代码的HTML •JSP和servlet同是服务器端的技术。

      实际上,JSP文档在后台被自动转换成servlet •使用JSP便于实现网页的动静分离•相对于Servlet,JSP在服务器的部署简单46 6. Java程序书写规范•包、类、变量、方法等命名:要体现各自的含义• 包名全部小写,io,awt• 类名第一个字母要大写,HelloWorldApp• 变量名第一个字母要小写,userName• 方法名第一个字母要小写,setName• 程序书写格式:保证良好的可读性,使程序一目了然• 大括号{}的使用与对齐,语句段的对齐• 在语句段之间适当空行• 程序注释:帮助了解程序的功能类注释 变量注释方法注释 语句注释语句段注释•建议:一个类一个建议:一个类一个.java.java文件文件47 轻松一刻•Shawn Fanning在其大学时代开发了一种windows软件,称为Napster, 可以用于向中心数据库提供个人PC机上拥有的任何音乐曲目名称在其顶峰时期,Napster拥有7000万用户由于涉及到知识产权问题,也由于唱片公司的打压,Napster最终推出了市场,如今大量的开源代码和分布式的对等层音乐共享数据库已经代替了Napster的集中式软件模型。

      •Bearshare, Gnutella和LimeWire是当前internet上最流行的共享应用文件,任何人都可以使用它与其他人共享自己的任何文件而LimeWire是用Java编写的,可以在windows, unix和其他计算机平台上运行可以从网站上下载•LimeWire是开源代码,可以下载源代码,看看专家是怎样编写java GUI的。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.