1、第一章 Java语言概述,1,1.1 Java的历史,(前身)OAK(James Gosling 1990) 90年,Sun公司开始Green工程 93年,WWW席卷全球 94年,开始定位于Internet 95年,Java命名 Hotjava, 第一个支持Java的浏览器 Netscape2.0 1995.5.23 Java诞生(Java1.0.2 API) 1997.2.18 JDK1.1 (java1.1 API) VJ+6.0、cafe、JBuilder . 支持 1998.12 JDK1.2(Java 2 SDK v1.2 Standard Edition) 2009. JDK 1.
2、6 2011. JDK 1.7,2,http:/ http:/ :易学;自动内存管理;简化重载;去掉指针及C+中一些不是绝对必要的功能 object-oriented:纯面向对象语言,程序代码以类的形式组织,由类来定义对象的各种状态和行为 Distributed :丰富的网络编程功能-轻松处理TCP/IP ;通过URL访问远地资源;字节码可来自网络,1.2 Java语言特点,4,Interpreted:Java是解释型的,但Java通过预先将源代码编译为接近于机器指令的字节码,有效地克服了传统解释型语言的性能瓶颈,同时又保持了解释型语言的可移植性;Java解释器能直接在任何机器上执行Java字
3、节码 Robust:静、动态检查,排除出现错误的条件;异常处理机制,正确处理运行时的错误;取消指针,保护内存数据与程序;数据类型的匹配,数组下标越界检查;自动内存管理,碎片收集,5,Secure:用于网络/分布式运算环境,确保建立无病毒且不会被侵入的系统;内存分配及布局由Java运行系统决定;字节码加密传输,客户端校验 architecture-neutral:Java应用程序能够在网络上任何地方执行;字节代码 - 平台无关性;完全统一的语言版本 - 实现无关性;访问底层操作系统功能的扩展类库 不依赖于具体系统 Portable:源于平台无关性,且Java本身环境的可移植性,6,high-pe
4、rformance:字节码- 目标代码;JIT(Just-In-Time)即时时编译器 multi-threaded:在语言级嵌入了对并发控制的功能 - 多线程控制,大大简化了多线程应用程序的开发 Dynamic:面向对象设计的延伸。JAVA的基本组成单元是类,而Java的类又是运行时动态装载的。可以在分布环境中动态地维护应用程序和类库的一致性。更能适应时刻变化的环境。Java不会因程序库的更新,而必须重新编译程序,7,1.3 Java开发环境与工具,Java技术包括两部分: Java程序设计语言 Java平台。 Java 语言是一种广泛使用的高水平的程序设计语言,是一个有力的软件平台。这个语
5、言平台为软件开发提供了一整套必备的工具和功能实现,具体如下列的功能: 开发工具:提供编译、运行、监视、调试和应用程序文档生成等开发工具。对于初学者,主要使用的工具有:编译工具javac,运行工具java, 文档生成工具javadoc。,8,应用程序接口API:API提供Java程序设计语言的核心功能。比如队列,网络,安全,XML,数据库访问。核心API包含的内容非常大,具体可查阅SDK文档。 部署技术:JDK提供了标准机制部署你的应用程序给最终用户,例如 Java Web Start 和 Java技术。 用户界面工具箱:Swing 和 Java 2D toolkits 用于创建传统的图形用户界
6、面(GUIs)。 其他功能综合库:包含如IDL, JDBC, JNDI, RMI, RMI-IIOP 等。,9,Java程序开发和运行环境的组成:,10,Java程序设计语言是一种高级语言,它用我们熟悉的字词、句等表述需要计算机为我们做的事情。大多数程序设计语言,都要经过编译或解释以便能在计算机上运行。 在Java程序设计语言中,所有源代码写在一个扩展名是.java的纯文本文件里。这些源文件通过Java编译器(javac.exe)编译成.class文件。.class文件不包含本地处理器的代码,而包含Java虚拟机机器语言代码,它是一种在Java平台上被解释器解释的平台无关代码,称之为“字节码”
7、。,1.Java程序设计语言,11,Java执行工具(java)用来运行.class文件,它是一个解释程序,又称“Java虚拟机”,它负责解释分解并执行每个Java字节码指令。下图反映这个过程:,12,Java虚拟计算机,可以认为Java字节码像机器指令码一样。任何Java解释器,不论是开发工具的,还是运行applet的web浏览器,都可认为是运行的Java虚拟计算机。Java虚拟机在许多不同的操作系统都是有效的,所以同样的.class文件有能力运行在Windows、Solaris、 Linux、MacOS等多种操作系统下,如图:,13,2.Java平台,平台是程序运行的硬件和软件环境。我们已
8、经了解的一些流行平台像Windows、Linux、Solaris和MacOS等。多数平台被描述成操作系统与硬件的复合体。Java平台不同于其它平台,它是一个纯软件平台,在其它硬件基础平台上运行,如下图:。,14,Java平台有两个部分: Java虚拟机(Java VM) Java应用程序接口(Java API)Java虚拟机是Java平台的基础,是在各种不同的硬件基础平台上的接入口。Java字节码程序就是由它解释并执行,同时提供程序的运行环境。Java API是一个巨大的,提供许多有用功能的,软件组成的集合体。Java API被组合在库中,由相关的类和接口构成,这些库称做“包”。下图表示运行在
9、Java平台上的程序。图中显示,Java API和虚拟机把程序与硬件隔离开,Java程序通过API在VM上运行。,15,16,J2 SDK,JRE,JVM,JVM plus all APIs, compilers ,tools, and documentation (what you need in order to write java technology programs).,JVM plus basic APIs (what you need to distribute to people who will run your Java programs),17,3 Java术语,JVM
10、 java虚拟机 JVM将 java 字节码程序翻译成机器语言。然后由计算机执行。 JRE java 运行环境 JRE 是由JVM 和 java platform 核心类以及相关支撑文件组成。 API Application programming interface. API 是rules(syntax) :在java技术中如何编程。 API包括数百个类公司预先编好的代码,你可以在编程中充分利用它们的功能。,18,JDK java developers kit (java开发工具包) JDK 包含JVM和其他工具,以及所有的API和相关的文件。 JDK 是java 技术的旧名(1999年11
11、月以前采用), JDK1.1 是最后版本。 Java 2 Java 2 Platform, J2 SDK java技术的新名称。 SDK Software Development Kit,19,4.Java虚拟机,JVM提供以下定义: 指令集(Bytecodes 是JVM的机器指令)。 寄存器组 类文件格式 栈 垃圾回收“堆”(实现内存的动态分配和自动回收) 内存区域,Java程序执行时,首先虚拟机对要执行的class文件装载,然后对字节码进行验证,最后用解释器对字节码解释执行,下图是jvm的逻辑构造。,20,类装配器,字节码验证器,解释器,本地计算机系统,代码生成器 JIT code gen
12、erator,Xxx.class,21,加载代码 类装配器 加载程序运行所需要的所有的类。类装配器将本地文件系统的类的名字空间与从网络资源来的类的名字空间分开。这样就限制了特洛伊木马程序,因为本地类总是首先加载。 一旦所有的类被加载,可执行程序的内存布局就被确定了。内存地址被分配给符号引用表,查找表被建立。由于内存的布局出现在运行时刻,防止了对于代码域的未授权的访问。,22,验证代码 字节码验证器 java代码在你的机器上执行前要经过几个测试。字节码验证器测试代码段的格式,检查代码段是否有非法代码(伪造指针,对象上的非法存取,试图改变对象类型等)。 所有网络来的类文件都要经过字节码验证。 执行
13、代码 解释器,23,5.Java开发工具,Java开发工具是用于编写编写和生成Java程序。对于现有的计算机平台,必须安装Java开发工具箱,即Java Development Kit,简称“JDK”,才能够运行和开发Java程序 。JDK由Sun公司提供,其安装包可以从Sun公司的Java网站下载获得,网站地址:http:/ 。 注意,Sun公司针对不同的平台提供了各自不同的安装包,下载时根据需要选择下载。 JDK仅为程序开发者提供了一个基本的Java程序编写环境,对于那些大型的复杂的Java程序,需要一种综合集成的大型开发工具。,24,1.4 建立Java平台和开发环境,1.建立Java平
14、台,Java平台的建立只需安装JDK或JRE就可以完成。JRE是Java运行环境(Java Runtime Environment)缩写,如果仅仅用来运行Java程序,仅安装JRE就可以了。如果需要开发和运行Java程序,就必须安装JDK。第一步:下载JDK。 通常到sun的Java网站去下载JDK的安装包程序,当然也可以从别的地方获得。JDK安装程序的文件名不同的版本可能有差异,这里以JDK1.6.0_16为例,它的安装包程序文件名是 jdk-6u16-windows-i586.exe。,25,JDK安装程序,将文件下载到你的计算机某个文件夹,比如“C:temp”,见下图。,26,第二步:运
15、行JDK安装程序。 与执行其他程序一样,用鼠标双击刚才下载的JDK安装程序,开始安装JDK。在安装过程中通常不用人为干预,安装程序会自动安装,当出现提示时只要用鼠标点击“下一步”或“Next”按钮即可。当安装成功结束后,在计算机操作系统所在的磁盘上看到存放Java系统的文件夹,默认安装目录是: C:Program FilesJavajdk1.6.0_16 下图显示执行jdk-6u16-windows-i586.exe后JDK的安装目录 。,27,JDK安装目录,28,在JDK安装目录中包含有: 开发工具:(bin)指工具和实用程序,可帮助您开发、执行、调试和保存以 Java编程语言编写的程序。
16、Java用于运行Java程序,Javac用来把Java源程序(.java)编译成能由Java解释执行字节码程序(.class)。 运行时环境:(jre)由 JDK 使用的 Java Runtime Environment (JRETM) 的实现。JRE 包括 JavaTM 虚拟机 (JVMTM)、类库以及其他支持执行以 JavaTM 编程语言编写的程序的文件。 附加库:(lib开发工具所需的其他类库和支持文件。,29,演示applet和应用程序:(demo)JavaTM 平台的编程示例(带源代码)。包括使用 Swing 和其他 Java 基类以及 Java平台调试器体系结构的示例。 样例代码:
17、(sample)某些 Java API 的编程样例(带源代码)。 C头文件:(include)支持使用Java本机界面、JVMTM 工具界面以及 Java平台的其他功能进行本机代码编程的头文件。 源代码:(src.zip)组成 Java 核心 API 的所有类的 JavaTM 编程语言源文件(即,java.*、javax.* 和某些 org.* 包的源文件,但不包括 com.sun.* 包的源文件)。,30,第三步:设置JDK环境变量。 通常JDK安装完成后需要设置Java环境变量PATH和CLASSPATH。,(1).PATH变量是操作系统用于查找可执行文件的目录集,格式如下:PATH=;b
18、in JDK安装完成以后需要将开发工具的存放目录加入到PATH变量中,使得在编译或执行Java程序时操作系统能够找到编译程序javac或解释程序java。,31,(2).CLASSPATH变量是Java编译器编译用于查找相关类或接口的目录集,也是Java解释器用于查找相关类或接口的目录集,格式如下:CLASSPATH=或;. 这里由每个jar文件及存放它的目录名组成,例如D:Program FilesJavajdk1.6.0_16libdt.jar 多个路径名之间用“;”分隔。,32,在Windows系统下设置环境变量可以从控制面板的系统设置添加。这里以JDK1.6为例介绍环境变量的设置过程,
19、假设JDK安装的安装路径是 C:Program FilesJavajdk1.6.0_16,在控制面板中打开“系统”,选择“高级”标签见图.,然后“环境变量”按钮打开环境设置窗口,见图 .,33,在“系统变量”中选择“Path”,然后安下“编辑”按钮弹出“编辑系统变量”窗口。,34,在“变量值”中添加;C:Program FilesJavajdk1.6.0_16bin; 最后按下“确定”。,35,在“系统变量”中后按下“新建”按钮。 在“变量名”中输入CLASSPATH。在“变量值”中依次输入下列内容 C:Program FilesJavajdk1.6.0_16jrelibrt.jar; C:P
20、rogram FilesJavajdk1.6.0_16libdt.jar; C:Program FilesJavajdk1.6.0_16libtools.jar;(省略) 按下“确定”。,36,Java平台建立(即安装JDK)完成后就可以运行或开发Java程序了。JDK提供了基本的Java开发工具,这些工具放在JDK安装目录下的bin目录。但是,对于复杂大型的Java程序是不能满足要求,需要专门的集成开发工具。下面分别介绍JDK提供主要工具软件,并对目前常用的集成开发工具做简单介绍。,(1)JDK开发工具,JDK开发工具包括工具和实用程序,可帮助开发、执行、调试和保存以 Java 编程语言编写
21、的程序。在这些程序中主要工具程序有:编译工具Javac,解释工具Java,文档生成工具,Java平台调试工具等。,2.建立Java开发环境,37,Javac Java编译器,将Java源程序编译成字节码,生成class文件。在bin目录下,文件名称是javac.exe。命令格式:,javac 选项 源文件 类 argfiles 其中, 选 项 编译参数。 源文件 一个或多个需要编译的java源程序文件。类 一个或多类。 argfiles 参数文件。,38,使用示例:编译Java源程序HelloWorldApp.java。,39,Java Java解释器,直接从类文件执行Java应用程序,即ap
22、plication。命令格式:,java 选项 类 参数. java 选项 -jar jar文件 参数. javaw 选项 类 参数. javaw 选项 -jar jar文件 参数. ,其中, 选项 运行参数。 类 被调用的类的名称。 -jar jar文件 被调用的jar文件名称。 参数 传送给main方法的参数串。,40,使用示例:执行Java类HelloWorldApp.class。,41,(2)Java集成开发工具,集成开发环境(简称IDE及Integrated Development Environment的缩写)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图
23、形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫做集成开发环境,可以独立运行,也可以和其它程序并用。JAVA的集成开发环境很多,比如 JCreator,NeBeans,Java Studio,JBuilder,Java Workshop,JDeveloper,Visual Age for java,Eclipse等等,这里简单介绍JCreator、netbeans和eclipse。,42,JCeator分为JCeator Le和JCeator Pro两个版本,JCreat Le为免费版,而JCeator
24、 Pro要注册。JCreat Le功能不及JCeator Pro。JCreator Pro是一款适合于各个 Java 语言编程开发人员的IDE工具。它为使用者提供了大量强劲的功能,例如: 项目管理、工程模板、代码完成、调试接口、高亮语法编辑、使用向导以及完全可自定义的用户界面。缺点是只能进行简单的开发,不能进行企业J2EE开发应用。,43,NetBeans IDENetBeans是一个全功能的开放源码Java IDE,可以帮助开发人员编写、编译、调试和部署Java应用,并将版本控制和XML编辑融入其众多功能之中。NetBeans 可支持Java 2平台标准版(J2SE)应用的创建、采用JSP和
25、Servlet的2层Web应用的创建,以及用于2层Web应用的API及软件的核心组的创建。此外,NetBeans 最新牒还预装了两个Web服务器,即Tomcat和GlassFish,从而免除了繁琐的配置和安装过程。所有这些都为Java开发人员创造了一个可扩展的开放源多平台的Java IDE,以支持他们在各自所选择的环境中从事开发工作,如Solaris、Linux、Windows或Macintosh。,44,2010年6月16日,Oracle正式发布NetBeans 6.9正式版,将扩大对JavaFX 1.3和OSGi的支持。目前Netbeans的最新版本是Netbeans 6.9.1 可以从官
26、方网上下载安装文件netbeans-6.9-ml-windows.exe,下载网址: http:/netbeans.org/ 。Netbeans的安装分为两步: 安装JDK(如果已经安装了JDK可以跳过)。 安装netbeans 6.9.1。运行安装文件即可。如果没有特别的使用要求,安装过程中出现提示时直接点击【Next】或【ok】按钮,直到安装结束。,45,Eclipse,Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为C+、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,众多插件的支持使得
27、Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。 Eclipse的运行需要有Java的虚拟机存在,在编译java的时候不需要额外的编译器。自身就能对java源代码进行编译。由于Eclipse是使用java编写的,所以在跨平台上做的很好,常用的平台Eclipse都能运行。,46,Eclipse最大的特点使用插件满足使用者根据自己的需要对其进行扩展,且Eclipse源代码进行开放,使插件的数量不断增长,其中不乏一些非常优秀的插件。也使得Eclipse的功能大大增强,使用Eclipse作为基础来开发的软件也很多。,47,Eclip
28、se的安装分为两步: 安装JDK(如果已经安装了JDK可以跳过)。 到www.eclipse.org下载eclipse,可以选择: Download now: Eclipse SDK 3.2 , Windows (120 MB) 下载完成后,只需要将下载的压缩文件eclipse-SDK-3.2-in32.zip解压到指定位置,例如d:Eclipse即可完成安装. 安装完成后,eclipse文件夹中的目录结构如图:,48,启动eclipse,双击安装目录下的eclipse.exe文件,在启动画面消失后,屏幕将显示一个对话框,提示选择工作空间的目录位置,这个目录用于存放用户创建的项目文档(你自己选
29、一个地方),最后进入Eclipse的工作环境.如图:,49,1.5 Java(源)程序结构,1.Java程序的构成,Java 程序是由一个或多个编译单元构成,每个编译单元都一个以.java为扩展名的文本文件,又称Java源程序文件。在java编译单元(源程序)中包含几种不同的元素,即:,package 语句 import 语句 类(class)声明或接口(interface)声明语句,50,一个程序可包括若干个类。 各类之间存在并列、继承和包含关系。 这些类通常是在一起协同工作的。 编程只能在方法中。 类和方法中的语句包含在“”和“”之间。 每条语句以分号“;”结尾。 语句由表达式、变量、字面
30、值和关键字构成。 编译后每个类产生一个 .class 文件。,51,package 包名称; import 包名.类; class 类名1 域定义方法名1() 方法名2() ,52,Java示例程序:LotsHellosApplication . java,53,2.Java程序的几种类型,Application(Java应用程序)“Java应用程序”是可以独立运行的Java程序。由Java解释器控制执行。 Applet(Java小程序)“Java小程序”不能独立运行,而是被嵌入到Web页中。由Java兼容浏览器控制执行。,54,Serverlets Java技术对CGI 编程的解决方案。 运
31、行于Web server上的、作为来自于Web browser 或其他HTTP client端的请求 和 在 server上的数据库及其他应用程序之间的中间层程序。 Serverlets的工作是: 读入用户发来的数据。 找出隐含在HTTP请求中的其他请求信息。 产生结果。 格式化结果(网页)。 设置HTTP response参数。 将文档返回给客户端。,55,3.程序类型与用户界面,56,4. Application程序基本结构,public class HelloApplication public static void main(String args) System.out.print
32、ln(“Hello, Java world! “); ,由一个或多个“类”组成。 其中必须有一个“类”定义了main() 方法,该方法是自动执行的类方法,是Java应用运行的起始点。而这个类也就称之为“主类”。 Java程序源文件名要与主类名同名(包括大小写一个类产生一个.class文件。例如HelloApplication.java。,57,Application程序上机过程,编辑源程序Edit HelloApplication.java (dos命令)使用notepad编辑器编辑java源程序更为方便。 编译 javac javac HelloApplication.java产生Hello
33、Application.class 文件 解释执行 java java HelloApplication (隐含.class文件),58,5.applet 小程序,import java.awt.Graphics; import java.applet.Applet; class HelloApplet extends java.applet.Applet public void paint(Graphics g) g.drawString(“Hello, Java World!”, 10,20); ,源程序文件名:HelloApplet.java,59,编译java小程序javac Hell
34、oApplet.java 使用文本编辑建立test.html文件,嵌入HelloApplet.class浏览html文件 使用appletviewerappletviewer test.html 使用常规的浏览器,applet 小程序,60,Application:,D: edit HelloApplication.java D: javac HelloApplication.java D: java HelloApplication Hello, Java World!,1.6 运行你的第一个java程序,1.利用JDK实用工具编写、运行程序,1.进入到“命令提示符”。 2.按下图所示顺序操
35、作。,61,Applet:,D: edit HelloApplet.java D: javac HelloApplet.java D: edit test.html D: appletviewer test.html,62,2.利用集成环境编写、运行程序,(略),63,64,第二章、Java语言基础,基础语言 ( Java程序的构成 ),65,2.1、Java程序的构成,java 程序是由一个或多个编译单元构成,每个编译单元都一个以.java为扩展名的文本文件,又称Java源程序文件。,1.Java程序的组成,主程序(类) 源程序(类)1 源程序(类)2 源程序(类)3 源程序(类)n,Jav
36、a 程序,例如 名为CodePointIM的Java程序由三个源文件组成: CodePointIM.java CodePointInputMethod.java CodePointInputMethodDescriptor.java 因为主类的名称是CodePointIM,所以可以此名做为程序的名称。,CodePointIM,CodePointIM.java CodePointInputMethod.java CodePointInputMethodDescriptor.java,66,2.Java源程序的组成,package 包名称; import 包名称.类名称; 类或接口声明语句,在ja
37、va编译单元(源程序)中包含几种不同的元素,即:,package 语句是可选的。如果有该语句编译器在生成类 文件时会将编译生成的“.class”文件存放到由“包名称”指定的包中。每个源程序中只能有一条package语句,而且必须在第一条语句。 import 语句引入由“类名称”指定的其他类。一个源程序中可以有多条import语句。,67,一个程序可包括若干个类,但由 public 修饰的类只能有一个。 各类之间存在并列、继承和包含关系。 这些类通常是在一起协同工作的。 编程只能在方法中。 类和方法中的语句包含在“”和“”之间。 每条语句以分号“;”结尾。 语句由表达式、变量、字面值和关键字构成
38、。 编译后每个类产生一个 .class 文件。,类或接口声明语句是Java原程序的主体,编写程序的过程实际上就是声明类或接口的过程。,68,package 包名称; import 包名.类; public class 类名1类的成员变量(或域);方法名(参数) 局部变量和语句; ,下图就是Java源程序的一般形式。,69,例 程序Line.java,package chapt02.shape; import java.awt.Graphics; public class Line protected int x1,y1;protected int x2,y2;public Line(doubl
39、e x1,double y1,double x2,double y2)this.x1 = x1;this.y1 = y1;this.x2 = x2;this.y2 = y2;public void draw(Graphics g)g.drawLine(x1,y1,x2,y2); ,包名称,引入的类名称,类名称,Line方法,draw方法,方法参数,70,3.Java源程序文件的命名,按Java语言规定,源程序的文件名必须与由 public 修饰的类的类名称相同。例如下面的程序:,public class TestFx extends Applet private Fx fx;public vo
40、id init() fx = new Fx(this.getSize().height);public void paint(Graphics g) for(int x=0;xgetSize().width;x+)g.drawLine(x,(int)fx.getFx(x),x+1,(int)fx.getFx(x+1); ,源程序的文件名称是:TestFx.java。,71,4.Java应用程序(Application)的组成,Java应用程序是Java程序中的一种。这类程序具有下面的一些特征: 程序可以独立运行,直接从操作系统启动。 多数应用程序都具有图形用户界面,即GUI界面。 每个程序都具
41、有完整的功能和用途,可以独立完成具体的事务,有明确的应用领域。 程序可能很简单,也可能非常复杂和庞大。,72,由一个或多个“类”组成。 其中必须有一个“类”定义了main() 方法,该方法是自动执行的类方法,是Java应用运行的起始点。而这个类也就称之为“主类”。 Java程序源文件名要与主类名同名(包括大小写一个类产生一个.class文件。例如HelloApplication.java。,Java应用程序在程序构成上具有下列这些特征:,例如下面的程序就是一个Java应用程序。这个程序完成一个数学函数的计算。,73,例 Fx程序计算数学函数。源程序文件名:Fx.java。,public cla
42、ss Fx public int fx(int x)if(x213)return 1;else return 0; public static void main(String args) Fx y = new Fx(); System.out.println(“ f(x)=“+y.fx(267); ,74,关于main()方法,main()方法是由解释器或Java虚拟机自动执行的方法,是Java应用运行的起始点。 含有main()方法的类称之为“主类”。当有多个类在同一个源程序时main()方法应放在由public修饰的类。 main()方法的方法声明(格式)必须是:修饰符public和st
43、atic没有固定的顺序,但习惯上是 public在前static在后。 参数的类型必须是String ,参数名称可以用任何名字,但习惯上使用args或argv。,public static void main(String args),75,5.Java小程序(Applet)的组成,Java小程序是不能独立运行,是被嵌入到Web页中,由Java兼容浏览器控制执行。在程序结构上它没有像应用程序那样的main()方法,因此它的程序具有如下特征:,由一个或多个“类”组成。 由Java兼容浏览器控制执行的类必须是Applet类的子类,它是Java小程序运行的起始点,也就小程序的“主类”。Java程序源
44、文件名要与主类名同名。 在类中根据需要覆盖init()、start()、stop()、destroy()和paint()等方法。 小程序执行由html文件中的实现。,76,Applet程序的基本结构,import java.awt.*; import java.applet.*; public class 类名 extends Applet public void init() public void stop() public void start() public void destroy() public void paint(Graphics g) ,77,Applet程序的执行Htm
45、l标记,78,Applet程序示例程序,import java.awt.*; import java.applet.*; public class HelloApplet extends Applet public void paint(Graphics g) g.drawString(“JavaApplet 欢迎你!“, 50, 60 ); ,这个程序只需简单地显示一个字符串,没有复杂要求,更没有需要初始化的变量或操作,因此只覆盖了paint方法。,79,80,第二章、Java语言基础,基础语言 ( 数据类型、字面量、变量 ),81,2.2、数据类型、字面量、变量,1.数据类型,Java数据
46、类型有:原始数据类型(Primitive Data Types )引用类型(reference type ) Java原始数据类型又称基本数据类型,它说明了在程序中所能表示的基础数据的种类,通常有8种。 引用类型包括类、接口等,具体内容将在后面章节介绍。,82,boolean 布尔型,只有真(true)与假(false) byte 8位符号整数,取值范围-128+127 short 16位符号整数,取值范围-32768+32767 char 16位字符,Unicode字符集,字符码数值范围0(u0000 )65535(uffff)。 int 32位符号整数,取值范围:-2147483648+2
47、147483647 long 64位符号整数,取值范围:-9223372036854775808+9223372036854775807 float 32位单精度浮点数,使用IEEE754标准。 double 64位双精度浮点数,使用IEEE754标准。,Java原始(基本)数据类型,Java原始数据类型变量的默认值,83,Java原始数据类型占用的位数,84,85,符号是构成程序的基本单位,一个程序实际上是用特定符号描述的计算机命令集合,这些命令确定存储器分配,完成各种计算和控制。java采用Unicode字符集,使他可以更好的提供多语言支持。java符号可分为如下5种:,标识符(Ident
48、ifiers) 指构成java程序代码中变量、类、方法的名字的符号串。 关键字(Keyword) java语言使用的专用符号。 字面值(Literals) 表示一些具有固定值的常数。 运算符(Operands) 表示算术、逻辑运算的符号。 分隔符(Separator) 空格、值表符、回车换行符等。,2.Java符号,86,(1)注释 java语言可使用三种格式的注释。,/注释内容 从/到行末的内容被忽略 /*注释内容*/ 在/* 和 */之间的内容 /*注释内容*/ 同上,/*(#)Sample3_3.java 1.0 01/10/22程序计算一个梯形*/ public class Sample3_3int L1,L2; /上下底边int H; /高 ,注释,注释,87,(2)标识符 标识符构成java程序代码中变量、类、方法和接口的名字,这些名字是唯一的。java语言所有标识符是由字符组成的字符串,构造标识符遵循下面的规则:,标识符必须以字母、下画线或$符号为第一个字符。 后续字符可以是数字0-9,其他非保留字字符。 java语言中大小写是有区别的。,