《JAVA语言与面向对象的程序设计.ppt》由会员分享,可在线阅读,更多相关《JAVA语言与面向对象的程序设计.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JAVA 程序设计程序设计1第1章 Java语言与面向对象的程序设计课程简介nSun公司这样形容自己的公司这样形容自己的Java语言:它是一种简单、面向对象、语言:它是一种简单、面向对象、分布式、解释型、稳定、安全、结构中立、易移植、高性能、多分布式、解释型、稳定、安全、结构中立、易移植、高性能、多线程的动态语言。线程的动态语言。nJava 语言是当今流行的网络编程语言,它的面向对象、跨平台、语言是当今流行的网络编程语言,它的面向对象、跨平台、分布应用等特点给编程人员带来了一种崭新的计算概念,使分布应用等特点给编程人员带来了一种崭新的计算概念,使WWW 从最初的单纯提供静态信息发展到现在的提供
2、各种各样的从最初的单纯提供静态信息发展到现在的提供各种各样的动态服务,产生了巨大的变化。动态服务,产生了巨大的变化。Java 不仅能够编写小应用程序实不仅能够编写小应用程序实现嵌入网页的声音和动画功能,而且还能够应用于独立的大中型现嵌入网页的声音和动画功能,而且还能够应用于独立的大中型应用程序,其强大的网络功能能够把整个应用程序,其强大的网络功能能够把整个Internet 作为一个统一作为一个统一的运行平台,极大地拓展了传统单机或的运行平台,极大地拓展了传统单机或Client/Server 模式应用模式应用程序的外延和内涵。程序的外延和内涵。n微软总裁微软总裁Bill Gates认为认为“Ja
3、va是长期以来最卓越的程序设计语言是长期以来最卓越的程序设计语言”。2第1章 Java语言与面向对象的程序设计PositionFeb 2012Programming LanguageRatingsFeb 20121Java17.050%2C16.523%3C#8.653%4C+7.853%5Objective-C7.062%6PHP5.641%7(Visual)Basic4.315%3第1章 Java语言与面向对象的程序设计图语言的发展使鸿沟变窄客观事物(问题域)计算机(硬件)语言的鸿沟自然语言面向对象的语言非OO的高级语言汇编语言机器语言4第1章 Java语言与面向对象的程序设计课程目标n了
4、解面向对象程序设计的思想,以及软件开了解面向对象程序设计的思想,以及软件开发流程。发流程。n学习学习Java语言的基本概念和编程方法,基本语言的基本概念和编程方法,基本掌握掌握Java类库的使用。类库的使用。n能够利用所学的方法开发简单的小型应用程能够利用所学的方法开发简单的小型应用程序。序。5第1章 Java语言与面向对象的程序设计n共共80课时课时 56+24n一周的课程设计一周的课程设计 课时安排考试n考试课考试课 5学分学分n课程成绩课程成绩=平时成绩平时成绩+期末考试成绩期末考试成绩 6第1章 Java语言与面向对象的程序设计北京大学信息技术系列教材 7第1章 Java语言与面向对象
5、的程序设计目录n第第1章章 Java语言与面向对象的程序设计语言与面向对象的程序设计n第第2章章 简单的简单的Java程序程序n第第3章章 数据运算、流控制和数组数据运算、流控制和数组n第第4章章 类、包和接口类、包和接口n第第5章章 深入理解深入理解Java语言语言n第第6章章 异常处理异常处理n第第7章章 工具类及常用算法工具类及常用算法n第第8章章 Java的多线程的多线程n第第9章章 流、文件及基于文本的应用流、文件及基于文本的应用n第第10章章 图形用户界面图形用户界面n第第11章章 网络、多媒体和数据库编程网络、多媒体和数据库编程8第1章 Java语言与面向对象的程序设计第第1章章
6、 JAVA语言与面向对象的程序设计语言与面向对象的程序设计本章主要内容nJava简介9第1章 Java语言与面向对象的程序设计1.1 JAVA语言简介语言简介Java的历史nJava语言之父-James GoslingnJAVA是SUN公司于上世纪90年代开发的。nJAVA最初为用于家用电器而开发。1991 年,SUN MicroSystem 公司的 Jame Gosling,Bill Joe 等人,为在电视机、控制烤面包箱等家用消费家用消费类电子产品类电子产品上进行交互式操作交互式操作而开发了一个名为 Oak(一种橡树的名字)的软件。代码短小、紧凑、代码短小、紧凑、与平台无关与平台无关10第
7、1章 Java语言与面向对象的程序设计Java的历史2010年年9月月 JDK7.0发布。发布。1995年年5月月23日日Java语语言言发发布布1996年年1月,月,JDK1.0诞诞生,生,4月,月,10个最主要的操作系个最主要的操作系统统供供应应商申明将在其商申明将在其产产品中嵌入品中嵌入JAVA技技术术,9月,月,约约8.3万个网万个网页应页应用了用了JAVA技技术术来制作来制作1997年年2月月18日日JDK1.1发发布布1998年年12月月4日日JDK1.2(Java2)发发布布 随后,随后,SUN公司公司发发布布Java的三个版本:的三个版本:标标准版(准版(J2SE)、企)、企业
8、业版版(J2EE)和微型版()和微型版(J2ME),),为为Java今后的方向指明了道路。今后的方向指明了道路。2000年年5月月8日日J2SE1.3发发布布2000年年5月月29日日J2SE1.4发发布布2004年年9月月30日日J2SE1.5发发布,成布,成为为Java语语言言发发展史上的又一里程碑。展史上的又一里程碑。为为了表示了表示该该版本的重要性,版本的重要性,J2SE1.5更名更名为为Java SE 5.02005年年6月月Java SE 6.0发发布。布。J2EE更名更名为为Java EE,J2SE更名更名为为Java SE,J2ME更更名名为为Java ME11第1章 Java
9、语言与面向对象的程序设计Java的版本n目前,目前,JAVA有三个版本:有三个版本:nJava Platform,Standard Edition(Java SE:Java平台标准版)平台标准版)用于工作站和小型机,也是我们用于工作站和小型机,也是我们学习学习JAVA时的编译和运行环境。时的编译和运行环境。nJava Platform,Enterprise Edition(Java EE:Java平台企业版)平台企业版),用于开发大型、计算密集型工,用于开发大型、计算密集型工程。程。nJava Platform,Micro Edition(Java ME:Java平台微型版平台微型版)用于小型
10、平台,如手机,家用电器等。用于小型平台,如手机,家用电器等。12第1章 Java语言与面向对象的程序设计1.1.2 JAVA的特点的特点nJava语言简单而高效语言简单而高效 基本基本Java系统系统(编译器和解释器编译器和解释器)所占空间不到所占空间不到250 KB。n面向对象面向对象n平台无关性平台无关性n安全稳定安全稳定 摒弃了指针数据类型;数组下标越界检查机制;自动内存管摒弃了指针数据类型;数组下标越界检查机制;自动内存管理机制。理机制。n支持多线程支持多线程n很好地支持网络编程(很好地支持网络编程(Applet)nJava 丰富的类库(各种包齐备)丰富的类库(各种包齐备)13第1章
11、Java语言与面向对象的程序设计 3可移植性可移植性(平台无关性平台无关性)程序的可移植性指的是程序不经修改而在不同硬件或软件程序的可移植性指的是程序不经修改而在不同硬件或软件平台上运行的特性。可移植性在一定程度上决定了程序的可应平台上运行的特性。可移植性在一定程度上决定了程序的可应用性。用性。可移植性分为两个层次:源代码级可移植性和二进制代码级可移植性。可移植性分为两个层次:源代码级可移植性和二进制代码级可移植性。C和和C+只具有一定程度的源代码级可移植性,其源程序要想在不同平台上只具有一定程度的源代码级可移植性,其源程序要想在不同平台上运行,必须重新编译。而运行,必须重新编译。而Java不
12、仅源代码级是可移植的,甚至源代码经过编不仅源代码级是可移植的,甚至源代码经过编译之后形成的二进制代码译之后形成的二进制代码字节码,也同样是可移植的。字节码,也同样是可移植的。14第1章 Java语言与面向对象的程序设计 Java采用了多种机制来保证可移植性,其中最主要的有两条:采用了多种机制来保证可移植性,其中最主要的有两条:第一,第一,Java既是编译型又是解释型的。既是编译型又是解释型的。Java程序的最终执行需经过两个步骤:编译和解释。程序的最终执行需经过两个步骤:编译和解释。Java将源程序编译成字将源程序编译成字节码节码二进制代码,这种字节码通过二进制代码,这种字节码通过Java解释
13、器来解释执行。任何一台机解释器来解释执行。任何一台机器,只要配备了器,只要配备了Java解释器,就可以运行解释器,就可以运行Java字节码,而不管这种字节码是字节码,而不管这种字节码是在何种平台上生成的。因此,在何种平台上生成的。因此,Java编程人员在进行软件开发时,不必考虑软编程人员在进行软件开发时,不必考虑软件的运行平台。此外,件的运行平台。此外,Java通过预先把源程序编译成字节码,避免了传统解通过预先把源程序编译成字节码,避免了传统解释型语言的执行效率低的性能瓶颈。释型语言的执行效率低的性能瓶颈。Java语言与传统语言的不同运行机制如语言与传统语言的不同运行机制如图图1.2所示。所示
14、。15第1章 Java语言与面向对象的程序设计图1.2Java语言与传统语言的不同运行机制(a)传统语言程序的运行机制;(b)Java语言程序的运行机制源代码目标码(.obj文件)可执行代码(.exe文件)操作系统源代码(.java文件)字节码(.class文件)Java解释器编译编译连接运行解释执行16第1章 Java语言与面向对象的程序设计 由由Java源程序编译生成的字节码不是直接在操作系统平台源程序编译生成的字节码不是直接在操作系统平台上运行,而是在一个称为上运行,而是在一个称为Java虚拟机虚拟机(JVM)的平台上运行。利的平台上运行。利用用JVM把把Java字节码跟具体的软硬件平台
15、分隔开,就能保证字节码跟具体的软硬件平台分隔开,就能保证在任何机器上编译的在任何机器上编译的Java字节码文件都能在该机上运行。字节码文件都能在该机上运行。nJava虚拟机(虚拟机(Java Virtual Machine,JVM),虚拟机也叫运),虚拟机也叫运行时系统。行时系统。nJava代码编译后生成的代码编译后生成的.class文件不是二进制可执行代码,而文件不是二进制可执行代码,而是字节码,它是经过高度优化的一系列指令序列。最终由是字节码,它是经过高度优化的一系列指令序列。最终由JVM解释执行。解释执行。n不同的操作系统有不同的虚拟机。它类似一个小巧而高效的不同的操作系统有不同的虚拟机
16、。它类似一个小巧而高效的CPU。运行在不同操作系统平台上,抹平了不同操作系统之间。运行在不同操作系统平台上,抹平了不同操作系统之间的差异。的差异。17第1章 Java语言与面向对象的程序设计Java的编译与执行过程一次编译,一次编译,到处运行到处运行!不同的操作系统有不同的虚拟机18第1章 Java语言与面向对象的程序设计第二,第二,Java采用的是基于国际标准采用的是基于国际标准IEEE标准的数据类型。标准的数据类型。Java的数据类型在任何机器上都是一致的,它不支持特定于具体的硬件环的数据类型在任何机器上都是一致的,它不支持特定于具体的硬件环境的数据类型,它还规定同一种数据类型在所有实现中
17、必须占据相同的空境的数据类型,它还规定同一种数据类型在所有实现中必须占据相同的空间大小间大小(C+的数据类型在不同的硬件环境或操作系统下占据的内存空间是的数据类型在不同的硬件环境或操作系统下占据的内存空间是不同的不同的)。通过在数据类型的空间大小方面采用统一标准,。通过在数据类型的空间大小方面采用统一标准,Java成功地保证成功地保证了其程序的平台独立性。了其程序的平台独立性。19第1章 Java语言与面向对象的程序设计 此外,此外,Java的可移植性还体现在的可移植性还体现在Java的运行环境上。的运行环境上。Java编译器是用编译器是用Java语言本身编写的,而其他编程语言运行的环境语言本
18、身编写的,而其他编程语言运行的环境则是用则是用ANSI C编写的,编写的,Java的整个运行环境体现了一个定义良的整个运行环境体现了一个定义良好的可移植性接口。好的可移植性接口。Java语言规范还遵循语言规范还遵循POSIX标准,这也是标准,这也是使使Java具有良好可移植性的重要原因。具有良好可移植性的重要原因。20第1章 Java语言与面向对象的程序设计 Java 语言与语言与C、C+语言的区别语言的区别 Java由由C+发展而来,保留了发展而来,保留了C+的大部分内容,句的大部分内容,句法更清晰、规模更小、更容易学。并从根本上解决了法更清晰、规模更小、更容易学。并从根本上解决了C+的固有
19、缺陷。的固有缺陷。21第1章 Java语言与面向对象的程序设计JAVA语言应用前景广泛语言应用前景广泛n所有面向对象的应用开发。所有面向对象的应用开发。n可视化、可操作化的软件开发。可视化、可操作化的软件开发。n动态画面的设计动态画面的设计n交互操作的设计交互操作的设计nInternet 的系统管理功能模块的系统管理功能模块nIntranet上的软件开发上的软件开发n数据库应用数据库应用(SQL).n其他应用类型的程序。其他应用类型的程序。22第1章 Java语言与面向对象的程序设计n目前移动开发的平台非常多,苹果的目前移动开发的平台非常多,苹果的iPhone OS、Google的的Andro
20、id、微软的、微软的Windows Phone、RIM的的BlackBerry、老牌手、老牌手机霸主诺基亚的机霸主诺基亚的Symbian以及诺基亚和英特尔合力打造的以及诺基亚和英特尔合力打造的MeeGo等等等,而移动终端设备所使用的移动程序大多只能各自的平台下运行:等,而移动终端设备所使用的移动程序大多只能各自的平台下运行:Android程序不能在程序不能在Symbian平台上运行,平台上运行,iPhone无法使用的无法使用的Windows Phone 7的程序。在混乱的移动开发平台中还没有一个的程序。在混乱的移动开发平台中还没有一个能在短时间内击垮所有的对手,但是除了封闭的能在短时间内击垮所有的对手,但是除了封闭的iPhone使用使用Objective-C编写程序,其他平台几乎都使用编写程序,其他平台几乎都使用Java。23