《java程序设计-韩晓红》第1章-概述_第1页
《java程序设计-韩晓红》第1章-概述_第2页
《java程序设计-韩晓红》第1章-概述_第3页
《java程序设计-韩晓红》第1章-概述_第4页
《java程序设计-韩晓红》第1章-概述_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、Java程序设计主讲:韩晓红邮箱:2022/7/61ppt课件理论学时 32实验学时 810-19周(其中13,16,18,19周的星期一上实验)明向校区机房软件210,211.要求:按照教学大纲,教学计划,依据教材内容完成教学任务。按时上课,认真听讲,课后讨论。按实验任务要求完成程序设计,按时提交实验报告。课程安排及要求2ppt课件1.同学们目前都学过什么程序设计语言?2.开发过什么软件?3.这些语言有什么特点?4.计算机程序设计语言的发展过程?为什么要学习Java?3ppt课件高层评价PC Magazine评Java为1995年十大优秀科技产品 ;比尔盖茨(Bill Gates) “Jav

2、a是长时间以来最卓越的程序设计语言” ;环球信息网WWW的创始人Berners-Lee说:“计算机事业发展的下一个浪潮就是 Java,并且将很快会发生的” 。4ppt课件第1章 概述本章主要内容: Java语言的发展历程 Java语言的特点 Java平台的类型 Java的基本学习方法5ppt课件1Java语言有那些特点?2为什么说Java是结构中立的,具有跨平台特性?3简述Java的3种主要平台,这些适合开发那种应用?4什么是JDK、JRE、JVM,简述三者之间的关系。解决4个问题:6ppt课件1.1 Java语言1.1.1 Java语言发展历程简介 1991年,SUN MicroSystem

3、公司的 Jame Gosling、 Patrick Naughton,设计一种计算机语言,用于机顶盒,手机,个人数字助理等家用消费类电子产品,当时的设备要求:语言小,跨平台。必须使用JVM实现跨平台。 什么是JVM?? 用C+,但C+过于庞大,安全性问题,开发一种新的语言,吸收C/C+的优点,抛弃不足,命名为OAK,后改名为JAVA.Sun Microsystems, Inc. - Palo Alto, Silicon Valley, USA. 印度橡树OAK7ppt课件1.1 Java语言1.1.1 Java语言发展历程简介8ppt课件1.1 Java语言1.1.2 Java语言的特点1.平

4、台无关性 无论哪种编程语言编写的程序最终都需要OS和CPU来完成程序的运行,平台无关性是指软件的运行不因OS、CPU的变化导致程序无法运行或出现运行错误。9ppt课件1.1 Java语言1.1.2 Java语言的特点1.平台无关性 10ppt课件1.1.2 Java语言的特点2.面向对象 Java语言吸取了C+面向对象的概念,将数据封装于类中,是完全面向对象的。除了很少的基本数据类型,所有的数据都作为对象呈现,所有的GUI构建都是对象。与C+不同,Java语言中的所有函数都必须和对象相关(这些函数被称为类方法),即使用于启动应用程序的主函数也不再是孤立的,必须捆绑在类中。1.1 Java语言1

5、1ppt课件3.简单性 Java自身小巧玲珑,对硬件的要求很低。只需要理解一些基本的概念,就可以编写适合于不同情况的应用程序。在Java中略去了运算符重载、多重继承等概念,并实现了垃圾自动收集大大简化了程序设计者的内存管理工作。4.安全性 Java舍弃了C+的指针对存储器地址的直接操作,程序运行时,内存由OS分配,这样可以避免病毒通过指针侵入系统,也避免了指针操作中易产生的错误。Java对程序提供了安全管理器,防止程序的非法访问。1.1 Java语言12ppt课件1.1 Java语言5.分布式 Java的分布性包括操作分布和数据分布,其中操作分布是指在多个不同的主机上布置相关操作,而数据分布是

6、将数据分别存放在多个不同的主机上,这些主机是网络中的不同成员。6.健壮性Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集进行内存管理,防止了内容丢失等动态内存分配导致的问题。Java不支持指针,从而防止了对内存的非法访问。Java提供了完善的异常处理机制,程序员可以把一组可能产生运行异常的代码放在异常处理结构中,简化了异常处理过程,增加了程序的健壮性。13ppt课件7.解释型C/C+等语言都是针对CPU和OS进行编译,生成机器代码,该代码的运行就和特定CPU和OS的有关。不同于C/C+语言,Java不针对CPU和OS进行编译,而是把程序编译成很接近

7、机器码的“中间代码”(即:字节码文件),由JVM解释执行。8.多线程多线程技术允许同一个程序中有两个以上的执行线路,即同时做两件以上的事情。Java支持多线程,允许多个线程共存于同一块内存中,且共享资源。1.1 Java语言14ppt课件1.1 Java语言1.1.3 Java语言与C/C+的比较 Java语言的风格与C/C+非常类似,对于变量声明、参数传递、操作符、流程控制等语法,Java均使用了C/C+相同的传统,使得熟悉C/C+的程序员能很方便地进行Java编程。但是,由于C+兼容C语言,影响了其面向对象的彻底性。Java则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多

8、种程序设计语言进行了深入细致研究的基础上,摒弃了其他语言的不足之处,从根本上解决了C/C+的固有缺陷。 1.指针 Java语言不支持指针,且增添了自动的内存管理功能,从而有效地防止了C+语言中指针操作失误(如内存泄漏等)。但也不是说Java没有指针,虚拟机内部还是使用了指针,只是程序员不能使用而已,这样提高了Java程序的安全。2022/7/615ppt课件2.多重继承 C+支持多重继承,它允许一个类继承多个父类。多重继承的现象在现实世界中普遍存在,功能很强,但其使用复杂,而且会引起许多麻烦,编译程序也不容易实现。Java不支持多重继承,但允许一个类继承多个接口(extends + imple

9、ment),也能实现多重继承的功能,且避免了C+中的多重继承实现方式带来的诸多不便。3.数据类型及类 Java是完全面向对象的语言,所有函数和变量都必须是类的一部分。除了基本数据类型之外,其余的都作为类对象。而C+允许将函数和变量定义为全局的。此外,Java中取消了CC+中的结构和联合,消除了不必要的麻烦。16ppt课件4.自动内存管理 Java程序中所有的对象都是用new操作符建立在内存堆栈上,自动进行无用内存回收操作,不需要程序员进行删除。而C+中必须由程序员释放内存资源,增加了程序设计者的负担,且增加了程序的风险。Java中当一个对象不再被用到时,垃圾回收器将给它加上标签以示删除。5.操

10、作符重载 为了保证语言尽可能简单,Java不支持操作符重载。操作符重载被认为是C+的突出特征 。17ppt课件6.预处理功能 Java不支持预处理功能。CC+在编译过程中都有一个预编译阶段,为开发人员提供了方便,但增加了编译的复杂性。Java虚拟机没有预处理器,但它提供的引入语句(import)与C+预处理器的功能类似。 7. Java不支持全局变量和函数 作为一个比C+更纯的面向对象的语言,Java中所有的变量和函数都应包括在类中。8.字符串 Java中字符串是用类对象(String和StringBuffer)来实现的,这些类是Java语言的核心,使得Java语言的字符串处理比C+更方便。1

11、8ppt课件9.goto语句 goto语句容易引起程序结构混乱,因此结构化编程不建议采用goto语句。Java虽然指定goto作为关键字,但不支持goto语句,使程序简洁易读。l0.类型转换 在C和C+中有时出现数据类型的隐含转换,这就涉及了自动强制类型转换问题。例如,在C+中可将一浮点值赋予整型变量,并去掉其尾数。Java不支持C+中的自动强制类型转换,如果需要,必须由程序显式进行强制类型转换。19ppt课件1.1 Java语言1.1.4 Java平台 Java的开发平台(JDK)是开发人员用来构建Java应用程序的软件包,它包括:JVM、javac、JVR、Javadoc。目前,Java的

12、运行平台主要分为下列3个版本。 1.Java标准版 Java标准版即Java SE,曾被称为J2SE。Java SE提供了标准的JDK开发平台,利用该平台可以开发桌面应用程序、低端的服务器应用程序以及Java Applet程序。学习Java应当从Java SE开始,本书主要介绍Java SE。 2.Java微型版 Java微型版即Java ME,曾被称为J2ME。Java ME是一种很小的Java运行环境,用于嵌入式的消费产品中,例如手机、平板电脑和各种轻量智能设备等。 3.Java企业版 Java企业版即Java EE,曾被称为J2EE。可以构建企业级的服务应用。Java EE平台包含了Ja

13、va SE,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能。20ppt课件1.2 面向对象基本概念1.2.1 对象与类1.对象 世界是由各种各样的对象(Object)组成的,客观世界中任何一个事物均可以看成是对象。世界上既存在着许多类型相同的对象,也存在着许多类型不相同的对象。例如,一辆自行车和一辆汽车是类型不同的两个对象,而张三的自行车和李四的自行车可以看成是类型相同的两个对象。 对象是有状态(数据)和行为(功能)等内容的。例如:要说明一个学生,需要提供姓名、学号、出生日期、专业、兴趣爱好等,这些用于描述对象的数据元素称为对象属性。而学生的行为会包括注册、选课、考试等,这

14、些表示对象可能产生的操作称为对象的行为(或操作、方法)。2022/7/621ppt课件1.2 面向对象基本概念2.类 类(class)是同一类型对象的抽象,对象是类的实例化。类定义了每个属于该类的对象的数据结构(即类的属性或成员变量)以及由这些对象执行的操作或方法(即类的成员方法或操作)。例如,构建一个Person类,其包含的成员变量和成员方法可用图1-2来描述: 与现实世界类似,类中定义的成员变量和成员方法是有不同访问权限的;另一方面,类之间存在一些关系(如继承关系)。图1-2 Person类图2022/7/622ppt课件1.2 面向对象基本概念1.2.2 面向对象的三个特性1.封装 面向

15、对象编程的核心思想之一就是将数据和对数据的操作封装在一起。通过抽象,从具体的实例中抽取共同的性质形成一般的概念(即类)。2.继承 继承体现了一种先进的编程模式。子类可以继承父类的属性和功能,即继承了父类所具有的数据和数据上的操作,可以增加子类独有的数据和数据上的操作,也可以修改父类的数据和数据上的操作。3.多态 多态是面向对象编程的又一重要特征。从软件的角度看,多态是指操作名称相同,但实现的功能不同。如计算面积可以统一使用area()方法,但是根据操作接受的参数的不同,可以实现计算圆的面积、长方形的面积等等。Java中使用方法覆盖、方法重载、接口等技术实现这种多态性,具体内容详见本书5.3节。

16、2022/7/623ppt课件1.3 Java语言基本学习方法“读、写、查”是最好的程序设计的学习方法,Java也不例外。(1)读已有的java程序“读”是Java学习的第一步,通过阅读已有的Java例程,一方面可以帮助读者理解和掌握Java程序的基本结构和语法,另一方面,读者在Java程序设计过程中,经常需要参考已有例程中的部分代码来解决实际问题,这时就要求程序员有非常过硬的“读程序”的基本功。(2)多写代码最好的程序设计学习方法就是写代码,通过不断的写代码,才能真正提高解决问题的实践能力。在Java学习过程中,可以通过几种不同形式的“写”来提高Java实际编程能力。默写例程改写程序2022

17、/7/624ppt课件【例1-1】修改Hello World以最简单的Hello World 程序为例,其源代码如下:public class HelloWorld public static void main(String args) System.out.println(Hello World);为什么main方法一定要这样来定义public static void main(String args)?其中包含那些知识点呢?这时就可以利用程序改写的方法来理解这些语法现象。试着将main改个名字运行一下,看看报什么错误,然后根据出错信息进行分析;把main的public修饰符取掉,再试试看

18、,报什么错误?static去掉还能不能运行?通过把Hello World程序反复改了七八次,不断运行,分析运行结果,最后就彻底明白为什么main方法是这样定义的了。1.3 Java语言基本学习方法25ppt课件(3)主动编写程序Java提供了丰富的类库,可以通过编写一些测试小程序来帮助学习相关的类。当学习一个类以后,就可以写个简单的例子程序来运行一下,看看有什么结果,然后再多调用几个类的方法,看看运行结果,这样非常直观的把类给学会了,而且记忆非常深刻。最后,Java的基础语法要熟练掌握,实际开发中经常使用的技术要牢牢掌握。通过不断地编写Java程序,不断地解决实际问题,才能称为一名优秀的Java程序设计人员。在解决具体问题过程中,要学会利用JDK文档和丰富的Java资源来快速解决编程过程中出现的问题。1.3 Java语言基本学习方法26ppt课件本章小结 Java从推出以来,已经发展到了Java 7.0.x,并提供三种不同的开发平台(即Java EE、Java SE和Java ME),适用于不同

温馨提示

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

评论

0/150

提交评论