资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
第9页 / 共28页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第1章 Java语言概述,本章的主要内容: 1.1 Java语言的发展里程 1.2 java 的特点及有关概念 1.3 Java程序开发,1.1 Java语言的发展里程,Java语言前身是Oak语言,于1991年推出,但仅限于Sun Microsystems公司内部使用。1995年Oak语言改名为“Java”,并正式向公众推出,主要贡献者是James Gosling。 1.2版本的Java是Java语言发展过程中一个关键阶段,从此,Sun公司将Java更名为Java2。经过十年的发展,Java语言已经发展到1.6版本。,1.2 java 的特点及有关概念,1.2.1 Java语言的特点 1.2.2 平台无关性 1.2.3 Java虚拟机 1.2.4 Java与C/C+关系,1.2.1 java 的特点,1语法简单 (1)Java的风格类似于C+ (2)Java摒弃了C+中容易引发程序错误的地方,如指针和内存管理; (3)Java提供了丰富的类库。 2面向对象 面向对象编程是一种先进的编程思想,更加容易解决复杂的问题。面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的,,1.2 java 的特点(2/4),3分布式 JAVA从诞生就起就与网络联系在一起,它强调网络特性,内置TCP/IP,HTTP,FTP协议类库,便于开发网上应用系统。 4安全性 (1)在Java语言里,象指针和释放内存等C+功能被删除,避免了非法内存操作。(2)当Java用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。Java语言在机器上执行前,要经过很多次的测试。其三级安全检验机制可以有效防止非法代码侵入,阻止对内存的越权访问。5,1.2 java 的特点(3/4),5健壮性 Java致力于检查程序在编译和运行时的错误。异常检查可尽早的发现可能存在的错误。类型检查帮助检查出许多开发早期出现的错误。 6解释运行,高效率 Java解释器(运行系统)能直接运行目标代码指令。Java程序经编译器编译,生成的字节码经过精心设计,并进行了优化,因此运行速度较快,客服了以往解释性语言运行效率低的缺点。,1.2 java 的特点(4/4),7与平台无关 JAVA编译器将JAVA程序编译成二进制代码,即字节码。字节码有统一的格式,不依赖于具体的硬件环境。 8多线程 Java提供的多线程功能使得在一个程序里可同时执行多个小任务。 9动态性 Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类。,1.2.2 平台无关性(1/2),平台无关类型包括源代码级和目标代码级两种类型。 C和C+属于源代码级平台无关,意味着用其写的应用程序不用修改只需重新编译就可以在不同平台上运行。 Java属于目标代码级平台无关,主要靠Java虚拟机JVM来实现。 对高级语言的翻译方式有解释和编译两种 解释方式就是一边翻译一边运行 而编译方式则是一次性翻译好,生成目标程序。,1.3 平台无关性(2/2),解决移植性的方法有以下两种方式: 方式1:到一台机器上将源程序重新编译成适合该台机器的机器代码。 方式2:将高级语言源程序编译成一种与机器无关的中间代码(如Java语言的字节码),该中间代码程序不能被操作系统直接执行,需要由解释其来解释和执行。 Java语言采用方式2,将由解释程序扩展了的指令系统的机器称为Java虚拟机,简称JVM。,1.2.3 Java虚拟机JVM,虚拟机是一种对计算机物理硬件计算环境的软件实现。虚拟机是一种抽象机器,内部包含一个解释器(Interpreter),可以将其它高级语言编译为虚拟机的解释器可以执行的代码(称这种代码为中间语言 Intermediate Language),实现高级语言程序的可移植性平台无关性 (System Independence),无论是运行在嵌入式设备还是多个处理器的服务器上,虚拟机都执行相同的指令,所使用的支持库也具有标准的API和完全相同或相似的行为。,1.4 Java虚拟机JVM,Java虚拟机(Java Virtual Machine,简称JVM)是一种抽象机器,它附着在具体操作系统上,本身具有一套虚拟机器指令,并有自己的栈,寄存器等,运行JAVA程序不可少的机制。编译后的JAVA程序指令并不直接在硬件系统CPU上执行,而是在JVM执行。在JVM上有一个Java解释器用来解释Java编译器编译后的程序。任何一台机器只要配备了解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。,图1-1 计算机硬件、操作系统、JVM与各种可执行程序之间的关系,机器代码,硬件,操作系统,JVM,本地可执行文件 (.exe,.com文件),Java字节码文件 (.class文件),1.4 Java虚拟机JVM,JVM体系结构图,Java虚拟机,操作系统,字节码 *.class 文件,图1-2 Java虚拟机体系结构示意图,1.2.4 Java 与C/C+之关系,相近之处 Java中许多基本语句的语法和C+一样,像常用的循环语句、控制语句等和C+几乎一样 Java和C+是两种完全不同的语言 不同之处(见下页),不同之处 Java去掉了C+语言的许多功能,Java中没有#include 和#define 等预处理功能,用import语来句包含其它类和包; Java中没有structure,union及typedef; Java中没有不属于类成员的函数,没有指针和多重继承,Java只支持单重继承;Java中禁用goto,但goto还是保留的关键字;Java中没有操作符重载;Java中没有全局变量,可以在类中定义公用、静态的数据成员实现相同功能。,1.3 Java运行平台,1.3.1 Java运行平台 1.3.2 Java开发过程 1.3.3 Java开发工具箱(JDK)简介,1.3.1 Java运行平台,1三种平台简介 J2SE:Java标准版或Java 标准平台。J2SE 提供了标准的SDK开发平台(以前称做JDK开发平台)。 J2EE:Java企业版或Java企业平台。 J2ME:Java微型版或Java小型平台。,1.6 Java运行平台,2环境变量 JAVA_HOME为那些需要使用Java命令和JVM的程序提供了通用的路径信息,其值应设置为JDK的安装目录的路径, JAVA_HOME= C:jdk1.5 CLASSPATH用于指明字节码文件的位置。 CLASSPATH=c:jdk1.5jrelibrt.jar;. PATH是操作系统使用的变量,用于搜索在Shell中输入的希望执行的命令。,1.6 Java运行平台,3JDK1.6版本安装 从http:/java.sun.com网站下载jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe,然后安装该程序。,Java 编译器,源文件 编辑器,字节码文件,由Web浏览器执行,文件名 .java,产生,对于Java小应用程序,对于Java应用程序,由Java解释器执行,图1-1 Java程序开发过程示意图,1.3.2 Java程序开发过程,1Java应用程序的开发 编写源文件 Editplus等文本编辑器生成Hello.java 编译源文件生成字节码 javac Hello.java 加载运行字节码 java Hello,Java源程序的命名特点: (1)区分大小写; (2)如果在源程序中包含有public类,则该源文件名必须与该public类的名字完全一致; (3)如果源程序中不包含public类,则该源文件名可以与源文件中包含的任意类的名称一致。 通常将与源文件名相同的类定义为主类,换句话说Java程序文件名必须和主类的名称一致,且扩展名是java。主类按如下确定: (1)若源文件中存在public类,则该类为主类; (2)若源文件没有public类,则可定义任何类为主类。,对Application程序而言, 必须有一个类含有public static void main(String args )方法,args是main方法的一个参数,是一个字符串类型的数组(注意String的第一个字母是大写的) 通常以包含main方法的类作主类。 也可以将其他类定义为public类,并以此作为源程序名称,当在java命令后跟随的类参数名应该为包含main方法的类名,/Hello.java public class Hello public static void main(String args ) System.out.println(“你好,很高兴学习Java“); C:javac Hello.java C:java Hello,2Java Applet程序的开发 编写源文件 Editplus等文本编辑器Boy.java 编译源文件生成字节码 javac Boy.java 通过浏览器加载运行字节码 Html文件myBoy.html 或appletviewew myboy.html,/Boy.java import java.applet.*; import java.awt.*; public class Boy extends Applet public void paint(Graphics g) g.setColor(Color.blue); g.drawString(“Java是一门很优秀的语言“,12,30); g.setColor(Color.red); g.drawString(“我一定认真学习Java“,22,56); /myBoy.html C:javac Boy.java C: appletviewew myboy.html,1.3.3 Java 开发工具箱,Java 开发工具箱(JDK- Java Development Kit)是Sun公司为用户提供的集成和执行applets和应用程序的工具 javac 编译器:可以用任何文字编辑器创建Java程序 java 翻译器;用于执行编译过的 Java应用程序。 appletviewer:可运行applets而不必运行 Web浏览器。 javap反汇编程序:从字节码文件恢复java原代码。 javadoc工具 :可以为所编写的源文件生成HTML文档,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号