Java简明教程(第3版)第一章PPT_第1页
Java简明教程(第3版)第一章PPT_第2页
Java简明教程(第3版)第一章PPT_第3页
Java简明教程(第3版)第一章PPT_第4页
Java简明教程(第3版)第一章PPT_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、Java程序设计授课老师:梅晶2712课程简介u 教学方式:理论(51)+实验(34)u 考核方式:考试(80%)+平时成绩(20%)u 参考书籍: Java 简明教程. 皮德常. (第3版) 清华大学出版社. Java程序设计原理与范例. 胡平. 电子工业出版社课程目标u 运用Java编写程序u 会编译、运行、调试Java程序u 初步理解Java面向对象的编程思想u 具有独立分析问题和解决问题的能力,独立运用Java程序解决生活中遇到的简单问题u 利用Java语言实现封装、继承、多态273课程内容u Java语言概述u Java基础知识u Java控制语句u 类与对象u 接口、包与泛型u 字

2、符串处理u 异常处理机制u Java流技术输入输出处理u 多线程编程u GUI编程4第一章第一章 Java语言简介语言简介 授课老师:梅晶5276本章讲述的主要内容本章讲述的主要内容 计算机语言及计算机语言及Java的发展史;的发展史; Java语言的特点;语言的特点; Java语言的开发工具;语言的开发工具; Java应用程序和小程序;应用程序和小程序; Java程序的注释方法;程序的注释方法; 写写Java程序的风格规范。程序的风格规范。 计算机语言发展史l 第一代语言l 打孔机纯机器语言l 第二代语言l 汇编语言l 第三代语言l C、Pascal、Fortran面向过程l C+面向过程/

3、面向对象l Java跨平台的纯面向对象语言7278Java语言的发展语言的发展 1991年Sun 公司成立了Green项目开发小组; Oak目标:智能家电程序(C:可移植性差) 计算机网络前景广阔 1995年Sun公司对外正式发布JDK1.0; 1998年JDK1.2发布,更名为Java2 09年甲骨文收购Sun公司 (最新版本JDK 8.0) Java2平台包括:标准版(J2SE)、企业版(J2EE)、微缩版(J2ME)2791.2 Java语言的特点语言的特点 Java语言是建立在语言是建立在C+语言之上语言之上 :10 Java与与C+的比较的比较1.Java中对内存的分配是动态的中对内

4、存的分配是动态的(内存自动回收)2.Java不在所有类之外定义全局变量不在所有类之外定义全局变量,而在类中定义static静态变量来完成全局变量的功能.3.Java不支持头文件不支持头文件,面C和C+语言中都用头文件来定义类的原型,全局变量,库函数等,这种采用头文件的结构使得系统的运行维护相当繁杂.4.Java不支持宏定义不支持宏定义,而是使用关键字final来定义常量,在C+中则采用宏定义来实现常量定义.5. Java取消了指针、运算符重载、多重继承,增加泛型2711简单性简单性 Java与与C/C+保持了一定的兼容性,与保持了一定的兼容性,与C+类似,但比类似,但比C+简单简单 ; Jav

5、a取消了取消了C/C+中很少用的、难以理解中很少用的、难以理解的、容易混淆的特性的、容易混淆的特性 。 Bill Joy的观点:的观点:Java=C+- 2712面向对象面向对象 Java以类组织程序,并且硬性规定:所以类组织程序,并且硬性规定:所有类的根结点都是有类的根结点都是Object类,其余的类类,其余的类都是其子类都是其子类 ; Java采用面向对象的思想组织程序,支采用面向对象的思想组织程序,支持持OO的三个基本特性,即:封装性、多的三个基本特性,即:封装性、多态性和继承性态性和继承性 。2713分布性分布性 Java提供的接口支持提供的接口支持HTTP和和FTP等等TCP/IP协

6、议类库,协议类库,Java应用程序可以采应用程序可以采用用URL地址直接访问网络上的对象。地址直接访问网络上的对象。 2714健壮性健壮性 Java取消了指针;取消了指针; Java引入了异常(引入了异常(Exception)处理机制处理机制 。2715安全性安全性 语言结构设计严谨,对象的方法和变量语言结构设计严谨,对象的方法和变量具有具有public 、 protected 、private 和友元和友元不同的保护机制不同的保护机制 ; 字节码文件附带有一些安全检验信息字节码文件附带有一些安全检验信息 ; 浏览器在运行浏览器在运行.class文件时,也要对其进文件时,也要对其进行安全检验。

7、行安全检验。 2716结构中立结构中立 字节码的中介方式,与运行平台无关字节码的中介方式,与运行平台无关 ; 与与C+相比,相比,Java语言定义严格。语言定义严格。 例如:例如:class myclass /考虑考虑a和和b的大小和初值的大小和初值 int a ; int b=1 ; / 其它数据成员和方法略其它数据成员和方法略 2717可移植性可移植性 语言定义严格,结构中立;语言定义严格,结构中立; Java提供的类库,不论是对哪一种操作提供的类库,不论是对哪一种操作系统都一样系统都一样 ; 每种基本类型的变量所占的空间大小,每种基本类型的变量所占的空间大小,在在Java中是确定不变的中

8、是确定不变的 。2718高效高效 编译器先将程序编译为与机器指令非常编译器先将程序编译为与机器指令非常接近的字节码,从而提高了执行效率,接近的字节码,从而提高了执行效率,但是,与采用编译方式的但是,与采用编译方式的C/C+相比相比 ,还是具有一定差距。还是具有一定差距。2719多线程多线程 进程在执行中有自己独立的内存空间和进程在执行中有自己独立的内存空间和资源,各进程的内存数据和状态彼此孤资源,各进程的内存数据和状态彼此孤立,交换数据通过特定的通信机制完成立,交换数据通过特定的通信机制完成 ; 线程在执行中共享内存空间和资源,之线程在执行中共享内存空间和资源,之间可直接进行数据交换间可直接进

9、行数据交换 ; Java真正支持多线程,真正支持多线程,C/C+等语言都等语言都不真正支持多线程不真正支持多线程 。2720动态性动态性 Java程序的基本构成单元是类,程序的基本构成单元是类,Java程程序必须写在类中。并且类是在运行时序必须写在类中。并且类是在运行时动动态加载态加载的,不影响程序的运行。的,不影响程序的运行。 Java核心机制核心机制 Java虚拟机(Java Virtual Machine) Java垃圾收集机制(Garbage Collection)272122Java运行过程运行过程*.javaJava编译器*.class程序的源文件程序的源文件编译时环境编译时环境*

10、.class类装载器主机操作系统程序的程序的classclass文件文件运行时环境运行时环境*.classJava APIJava API的的classclass文件文件解释器解释执行字节码字节码本地方法调用本地方法调用通过本地或通过本地或网络传递网络传递classclass文件文件JavaJava虚拟机虚拟机Java核心机制之Java虚拟机 Java虚拟机可以理解成一个以字节码为机器指令的CPU 对于不同的运行平台,有不同的虚拟机 Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”23Java核心机制之垃圾收集机制 不再使用的内存空间应回收垃圾收集 在C/C+等语言中,

11、由程序员负责回收无用内存 Java语言消除了程序员回收无用内存空间的责任;它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储器空间 垃圾收集在Java程序运行时自动进行,程序员无法精确控制和干预24251.5 Java开发环境搭建开发环境搭建JRE:Java运行时环境JDK:Java 开发环境,包括了JRE,Java工具和Java基础的类库API。开发需要JDK运行需要JRE261.5 Java开发环境搭建开发环境搭建第一步:第一步:JDK下载、安装和配置环境下载、安装和配置环境27第二步:集成开发环境(第二步:集成开发环境(IDE)安装)安装 Ecli

12、pse/downloads/2. NetBeans /downloads/1.5 Java开发环境搭建开发环境搭建281.5 Java开发环境搭建开发环境搭建29Java程序的分类程序的分类 基于控制台的应用程序;基于控制台的应用程序; 基于浏览器运行的小程序基于浏览器运行的小程序applet。 小程序与应用程序的区别是:小程序与应用程序的区别是:小程序必须小程序必须依赖一个依赖一个HTML文件和支持文件和支持Java的网络浏的网络浏览器。览器。30应用程序举例应用程序举例 ( 程序程序1-1 ):public c

13、lass hello public static void main (String args ) System.out.println (Hello Java !); 2731Applet小程序举例小程序举例 ( 程序程序1-2 ):import java.awt.Graphics;import java.applet.Applet; public class sayhello extends Applet public void paint (Graphics g ) g.drawString (Hello Java !,35,30); 2732小程序对应的小程序对应的HTML文件文件(NetBeans和和Eclipse可以自动生成可以自动生成): 2733Java程序解释程序解释2734Java程序注释方法程序注释方法 从从C+引入的方法,即引入的方法,即 / 方式;方式; 从从C/C+中引入的老的注释方法,即中引入的老的注释方法,即/* */,该方法支持多行

温馨提示

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

评论

0/150

提交评论