Ø JAVA简介
Ø JAVA的发展
Ø JAVA的特点
Ø JAVA三种核心机制
Ø JAVA运行机制
Ø JAVA运行环境
Ø JAVA三大技术架构
Ø JAVA平台
Ø JAVA开发环境搭建
Ø JAVA开发的过程
Ø JAVA程序举例
Ø 作业
Java 是一种简单易用、完全面向对象、有平台无关性、安全可靠的主要面向Internet开发工具。现在Java已经成为基于Web开发的首选工具。
1991年,Sun公司建立“the Green Project”(Secretly),13个成员,目的开发消费电子类产品市场(嵌入式设备),初始选择C++语言。
1992年夏天,运行在一种全新的、对立于处理器的语言----OAK。
1993年,WWW席卷全球。
1994年,开始定位于Internet。
1995年,Sun发布JDK1.0,Java命名。
慢慢的后续出现了JDK1.3、1.4、1.5
目前JDK1.6
我们使用JDK1.5
第一个支持Java的浏览器Netscape2.0
1、简单性:
Java最初是为家用电器进行集成控制而设计的一种语言,因此它必须简单明了。其简单性主要体现在三个方面:
A.像C++。
B.摒弃了C++中容易引发程序错误的一些特性,如指针、结构、枚举等,并能进行自动内存管理。
C.提供了丰富的类库。
2、面向对象:
A.完全基于类、对象:OOA(面向对象分析),OOD(面向对象设计),OOP(面向对象)。
B.以类的形式组织代码,数据类型。
C.封装、继承、多态。
3、健壮性:
A.检查数据类型的匹配,数组下标越界。
B.不支持指针,保护内存数据、程序。
C.自动内存管理,碎片收集(垃圾回收机制)。
D.例外控制机制,正确处理运行时错误。
4、安全性:
A.删除指针和释放内存等C++功能。
B.Java的安全体系架构。
5、解释性:
解释执行。
6、平台无关性:
跨平台性,基于JAVA平台,JAVA平台的主要表现在JVM(JAVA虚拟机)。
7、多线程性:
支持多任务。
8、动态性:
可动态增加和修改类库内容。
*总结*:Java= “C++” – “复杂性和奇异性” + “安全性和可移植性”
1、Java 虚拟机(Java Virtual Machine)
A.Java处理器“芯片”,一般由软件实现。
B.在一台计算机上由软件或硬件模拟的计算机。Java虚拟机(JVM)读取并处理经编译过的平台无关的字节码class文件 。
C.Java编译器针对Java虚拟机产生.class文件,因此是独立于平台的。
D.Java解释器负责将Java虚拟机的代码在特定的平台上运行。
E.JVM是不是跨平台的?
不是,不同的平台分别设计不同的JVM。Java字节码没有保存特定平台的信息。
2、垃圾收集机制(Garbage collection)
A.不再使用的内存空间应回收----垃圾回收器(自动回收)。
B.在C/C++ 等语言中,是由程序员负责回收无用内存空间。
C.Java语言解除了程序员回收无用内存空间的责任。它提供一种系统级线程跟踪存储空间的分配情况。并在JVM的空闲时,检查并释放那些可被释放的存储器空间。
D.垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
3、代码安全性检测(Code Security)
软件测试中运用。
JAVA二种文件类型:.java和.class
对于大多数语言,要运行程序,要么编译程序要么解释程序;而Java语言的程序则既要被编译又要被解释。
(1)编译程序将Java源程序翻译为字节码(bytecode)程序;
(2)解释程序Java虚拟机分析并运行字节码程序。
一次编写,处处运行 à (Write once,run anywhere!)
是在任何平台上运行Java编写的程序都需要用到的软件。终端用户可以以软件或者插件方式得到和使用JRE。Sun公司还发布了一个JRE的更复杂的版本,叫做JDK,里面包含了Java需要的编译器、参考文档和调试器等。
Java的类库,包含了编译Java程序所需要的最核心文件。核心库文件,其中有数据结构的库,包括列表、字典和树等;
XML分析库 ;
安全方面应用库 ;
国际化和本地化应用库 ;
综合库文件,包含了程序员和其他系统通信的功能文件;
JDBC,即Java数据库联通的API ;
JNDI,即Java命名和目录接口 ;
RMI和CORBA用于重新分发软件 ;
用户界面库文件,包含: AWT,即抽象窗口开发包,提供了产生图形用户界面所需要的功能;
Swing库 ;
其他用于回访媒体文件、录音、截图的库 ;
一个用于执行软件的Java虚拟机插件,可以在浏览器里面使用JWS,可以让终端用户连接到互联网许可文件和文档 。
从JDK2开始,JAVA分成了三种:
A.J2SE(Java 2 Platform Stand Edition)
标准版,是桌面开发和低端商务应用的解决方案。又称核心Java (core java),是学习其他Java版本的基础。
B.J2EE(Java 2 Platform Enterprise Edition )
企业版,是企业为环境而开发程序的解决方案。目前已经成为开发商创建电子商务的事实标准。
C.J2ME(Java 2 Platform Micro Edition )
小型版,是致力于消费品和嵌入式设备的最佳解决方案。如手机、游戏开发都是基于J2ME。
Java的运行系统是各平台厂商对JVM的具体实现。对于Java中的两类程序:Java Application(Java应用程序)和Java Applet(Java小应用程序),存在两种不同类型的运行系统;对于Java Application,运行系统是Java解释器;而对于Java Applet,运行系统是指Java兼容的Web浏览器,该浏览器中包含了支持Applet运行的环境。
A.Java运行平台(Platform)
(1)J2SE Platform (Java 2 Standard Edition)
Java Runtime Environment (JRE) -Java虚拟机、库函数、运行Java应用程序和Applet所必须文件。
Java 2 SDK (Development Kit)-JRE的超集,包含编译器和调试器等用于程序开发的文件。
(2)Java虚拟机、Java应用编程接口和系统平台的关系。
(3)Java API和JVM将程序与硬件分离从而实现跨平台功能。
(1)下载并安装J2SE
为了鼓励使用Java语言开发软件,Sun Microsystems公司提供了免费的软件开发工具包(SDK),其中包括编译器、虚拟机、调试器等开发工具,称为Java开发工具包或JDK。
JDK (可从http://java.sun.com下载)
² jdk-1_5_0_08-windows-i586-p
² jdk-1_5_2-doc.zip
(2)查看安装目录
² \bin目录:Java开发工具,包括Java编译器、解释器等
² \demo目录:一些实例程序
² \lib目录:Java开发类库
² \jre目录:Java运行环境,包括Java虚拟机、运行类库等
(3)Windows系统配置
CLASSPATH=C:\Program Files\Java\jdk1.5.0_08
PATH=%CLASSPATH%/bin;
(4)JDK实用程序
² javac
Java编译器,将Java源程序编译成字节码
² java
Java解释器,直接从类文件执行Java应用程序,即application.
² appletviewer
小程序浏览器,执行html文件上的Java小程序,即AppletWW
A.Java程序分两种:
² Java应用程序(Java Application)
1.普通桌面应用
2.服务器端应用
² Java小程序(Java Applet)(由浏览器解释执行)
例一:
//This program prints Welcome to Java!
public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}
程序解释(例一):
1.java注释分为以下三种:
(1) 单行注释:从"//"开始到本行结束的内容都是注释。
(2) 多行注释:在"/*"和"*/"之间的所有内容都是注释。
(3) 文档注释:在注释方面java提供了一种C/C++所不具有的文档注释方式。在“/**”和“*/”之间的文本,将自动包含在用javadoc命令生成的HTML格式的文档中。javadoc是JDK中API文档生成器。该工具解析一组Java源文件中的声明与文档注释,生成一组HTML页面描述这些源程序中定义的类、内部类、接口、构造方法、方法、属性等。JDK的API文档就是用javadoc工具生成的。
2.Java语言区分大小写,包括文件名。
3.关键字class用来声明一个类,关键字public表示它是一个公共类,一个Java源程序最多只能有一个公共类。类定义体由一对{}括起来。
4.Java语言语句均以半角的分号“;”结尾。
5.类体内包含变量和函数的定义,变量称为类的“成员变量”,函数在Java语言中称为“方法”。
6.在该类中定义了一个main()方法,其中public表示访问权限,指明所有的类都可以使用这一方法。static指明该方法是一个类方法(又称为静态方法),它可以通过类名直接调用;void则指明main()方法不返回任何值。对于一个应用程序来说,main()方法是必需的,而且必须按照上述格式来定义。Java解释器在没有生成任何实例的情况下,以main()方法作为入口来执行程序。
7.Java程序中可以定义多个类,每个类中可以定义多个方法,但是最多只能有一个公共类,main()方法也只能有一个。main()方法定义中,String[]args是传递给main()方法的参数,参数名为args,它是String类的一个实例,参数可以为一个或多个,多个参数间用逗号分隔。
8.语句System.out.println(“Welcome to Java”);的作用是调用系统类库中的System类的成员out的println()方法实现字符串的输出。与println()不同的是:print()方法在当前行输出,而println()方法在新的一行输出。
9.java源程序结构
10.源文件的命名规则:如果在源程序中包含有公共类的定义,则该源文件名必须与该公共类的名字完全一致,字母的大小写都必须一样。这是java语言的一个严格的规定,如果不遵守,在编译时就会出错。因此,在一个java源程序中至多只能有一个公共类的定义。如果源程序中不包含公共类的定义,则该文件名可以任意取名。如果在一个源程序中有多个类定义和接口定义,则在编译时将为每个类生成一个.class文件。(每个接口编译后也生成.class文件)
例二:
import javax.swing.JOptionPane;
public class WelcomeInMessageDialogBox
{
public static void main(String[] args) {
// 使用对话框输出信息 JOptionPane.showMessageDialog(null, "Welcome to Java!", "Display Message", JOptionPane.INFORMATION_MESSAGE); }
}
例三:
编写HTML文件 “Test.html”,
<Html>
<Head>
<Title> A Simple Program </Title>
</Head>
<Body> Here is the output of my program:
<Applet code=”Welcome.class” WIDTH=150 HEIGHT=25>
</Applet>
</Body>
</Html>
运行方式:
(1)用浏览器打开Test.html文件
(2)appletviewer Test.html
² 熟悉JDK开发环境
² 下载课上的例子,观察结构并执行
² 编写一个Application,在屏幕上显示如下的信息:
******************
Welcome
******************
² 将上题改为对话框输出