JAVA-简易教程.doc_第1页
JAVA-简易教程.doc_第2页
JAVA-简易教程.doc_第3页
JAVA-简易教程.doc_第4页
JAVA-简易教程.doc_第5页
已阅读5页,还剩209页未读 继续免费阅读

下载本文档

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

文档简介

一章 绪论【学习目标】1了解 JAVA的发展历史及其特点。2了解 JAVA语言的发展前景。3了解并掌握 JAVA语言的运行环境和配置。4了解 JAVA应用程序的基本结构,并能编写简单的 JAVA程序。1.1 Java语言概述一、Java 语言的发展名为 Green。刚开始,该项目成员准备采用 C+语言,但感觉到 C+语言太复杂,安全性也差,无法满足项目设计的需要,最后决定基于 C+开发一种新的编程语言。Gosling 临时为它起名叫 Oak 语言,但后来发现 Oak 是Java 的历史要追溯到 1991 年, 当时美国 Sun Microsystems 公司的 Patrick Naughton 及其伙伴 James Gosling 带领的工程师小组想要设计一种小型的计算机语言,主要应用对象是有线电视转换盒这类消费设备。由于这些消费设备的处理能力和内存都很有限,所以要求计算机语言必须非常小且能够生成非常紧凑的代码。另外,由于不同的设备生产商会选择不同的中央处理器(CPU) ,因此这种语言的设计关键是不能与任何特定的体系结构捆绑在一起,这个项目被命名为 Green。刚开始,该项目成员准备采用 C+语言,但感觉到 C+语言太复杂,安全性也差,无法满足项目设计的需要,最后决定基于 C+开发一种新的编程语言。Gosling 临时为它起名叫 Oak 语言,但后来发现 Oak 是一种已有计算机语言的名称,于是又将其改名为 Java,并配了一杯冒着热气的咖啡图案作为它的标志。由于要求 Java 语言非常小且能够生成紧凑的代码,还要求该语言与平台无关。这些要求促使开发团队想起了很早以前的一种模型,某些 Pascal 的实现曾经在早期的 PC 上尝试过键入提要栏内容。提要栏独立于主文档,是对主文档的补充。提要栏通常放置在页面的左侧或右侧,也可以放置在页面的顶端或底端。可使用“文本框工具”选项卡更改提要栏文本框的格式。这种模型。Pascal 的发明者 NiklausWirth 率先设计出一种为假想的机器(虚拟机)生成中间代码的可移植性语言,这种中间代码可以应用于所有已经正确安装解释器的机器。于是,Green 项目组的工程师也使用了虚拟机(Java 虚拟机) ,从而解决了课题的主要问题(平台无关性) 。1992年,Green 项目发布了它的第一个产品,称之为“*7” ,这个产品具有非常智能的远程控制。遗憾的是,Sun Microsystems 公司对生产这个产品并不感兴趣,并且 Green项目组的人员也没有找出其他的方法来将他们的技术推向市场。1994年,Green 项目组(这时换了一个新名字First Person 公司)解散了。在此期间,Internet 的万维网日益发展壮大,Web的关键是把超文本页面转换到屏幕上的浏览器,当时的浏览器主要是 Mosaic。Java 语言的开发者设计并开发了一个功能更加强大的浏览器,该浏览器最终演变为HotJava 浏览器。为了展现 Java 语言超强的能力,HotJava 浏览器采用 Java 语言编写,并且具有执行网页中内嵌代码的能力。这一“技术印证”在 1995 年的 SunWorld上进行展示,同时引发了人们延续至今的对 Java 的热爱。1996年初,Sun Microsystems 公司发布了 Java 的第一个版本 Java 1.0,但 Java 1.0不能用来进行真正的应用开发,后来的 Java 1.1 弥补了其中大部分明显的缺陷,大大改进了它的反射能力,并未 GUI 编程增加了新的事件处理模型。1998年,JavaOne 会议的头号新闻是即将发布 Java 1.2 版,这个版本取代了早期玩具式的 GUI,它的图形工具箱更加精细而且具有较强的可伸缩性,能更好地实现“一次编写,随处运行”的承诺。Sun 公司将其名称改为更加吸引人的“Java 2 标准版软件开发工具箱 1.2版” 。标准版的 1.3 和 1.4 版本对最初的 Java 2版本进行了某些修改,扩展了标准类库,提高了系统性能。5.0 版是自 1.1版以来第一个对 Java 语言做出重大改进的版本(这一版本原来被命名为 1.5 版,在 2004 年的 JavaOne 会议之后,版本数字升至 5.0) 。这个版本增加了泛型类型,其挑战性在于添加这一特性并没有对虚拟机做出任何修改。2005年 6月,JavaOne 大会召开,Sun Microsystems 公司发布 Java SE6。此时,Java 的各种版本已经更名并取消其中的数字 “2” , J2EE 更名为 Java EE, J2SE 更名为 Java SE, J2ME更名为 Java ME。二、Java 语言的影响及发展前景Java 语言是新一代面向对象的程序设计语言,特别适用于 Internet 应用程序的开发。其硬件和软件平台的无关性直接威胁到 Windows 和 Intel 的垄断地位。 用 Java 语言编程成为当今技术人员的一种时尚,并对未来软件的开发产生了重要影响。Java 语言对软件开发技术的影响可归纳为以下几个方面:(1)软件的需求分析可将用户的需求进行动态的可视化描述,更加直观地体现设计者的需求。用户的需求是各种各样的,不受地区、行业、部门、爱好的影响,这些需求都可以用 Java 语言描述清楚。(2)软件的开发方法由于 Java 语言是纯面向对象的程序设计语言,所以完全可以用面向对象的技术与方法来开发软件,这符合最新的软件开发规范要求。(3)动画效果Java语言的动画效果远比GUI技术逼真, 尤其是利用WWW提供的巨大动画资源空间,可以共享全世界的动态画面资源。(4)软件最终产品用 Java 语言开发的软件具有可视化、可听化、可操作化、交互、动画、动作等特点。Java 语言具有广泛的应用前景,大体可以从以下几个方面考虑其应用:l 所有面向对象的应用开发,包括面向对象的事件描述、处理等。l 计算过程的可视化、可操作化的软件开发。l 动态画面的设计,包括图形图像的调用。l 交互操作的设计(选择交互、定向交互、控制流程等) 。l Internet 的系统管理功能模块的设计,Web页的动态设计、管理交互操作设计等。l Internet 上的软件开发(直接面向企业内部用户的软件) 。l 其他应用类型的程序(移动计算、嵌入式 Java 技术、实时 Java 等) 。三、Java 语言的特征Java 语言具有以下九个特点:1简单性人们希望构建一个无需专业训练就可以进行编程的系统,并且要符合当今的标准惯例。因此,尽管人们发现 C+语言不太适用,但在设计 Java 的时候还是尽可能地接近 C+,以便系统更易于理解。Java 剔除了 C+中很少使用、难以理解、易混淆的特性。例如,Java中没有指针、结构和类型定义等概念,没有#include和#define等预处理器,也没有多重继承的机制。简单性的另一个含义是“小” 。Java 的目标之一是支持开发能够在小型机器上独立运行的软件。基本的解释器以及类支持大约仅为 40KB,再加上基础的标准类库和对线程的支持(基本上是一个自包含的微内核) ,大约需要增加 175KB。在当时,这是一个了不起的成就。当然,由于不断的扩展,类库已经相当庞大了。现在有一个独立的具有较小类库的 Java 微型版(Java Micro Edition)用于嵌入式设备。2面向对象性Java 是一个纯粹的面向对象的语言,强调的是面向对象的特性,对软件工程技术能够提供很强的支持。Java 语言的设计集中于对象及其接口,它提供了简单的类机制及动态的接口模型。与其他面向对象的语言一样,Java 具备继承、封装及多态性等特性,同时它还提供了一些类的原型, 程序员可以通过继承机制实现代码的复用。 另外, Java 的继承机制非常独特,在设计时丢掉了不安全的因素,因此使用 Java 可以编制出非常复杂但逻辑清晰的系统。3分布式与安全性从诞生之日起 Java 语言就与网络联系在一起,它强调网络特性,是一种分布式程序设计语言。 Java 语言包括一个支持 HTTP 和 TCP 等 TCP/IP 协议的子库, 提供一个 J 包,通过它可以完成各种层次上的网络连接。因此,用 Java 语言编写的应用程序可以凭借 URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。Java 语言另一个Socket 类提供的可靠流式网络连接,使程序设计者可以非常方便地创建分布式应用程序。Java 语言在语言定义阶段、 字节码检查阶段及程序执行阶段进行的三级代码安全检查机制,对参数类型匹配、对象访问权限、内存回收、Java 小应用程序的正确使用等都进行了严格的检查和控制,可以有效地防止非法代码的侵入,阻止对内存的越权访问,避免病毒的侵害。4与平台无关性如果基本数据类型设计依赖于具体的计算机和操作系统, 会给程序的移植带来很大的不便。Java 语言通过定义独立于软、硬件平台的基本数据类型及其相关运算,确保数据在任何硬件平台上保持一致。为了实现平台无关性,Java 语言规定了统一的基本数据类型。Java 程序编译后生成二进制代码,即字节码。字节码就是虚拟机的机器指令,与平台无关。字节码有统一的格式,不依赖于具体的硬件环境。在任意安装了 Java 运行环境的系统上,都可以执行这些代码。也就是说,只要安装了 Java 运行环境,Java 程序就能在任意的处理器上运行。这些字节码指令对应于 Java 虚拟机中的表示,Java 解释器得到字节码后,对它进行转换,使之能够在不同的平台上运行。运行环境针对不同的处理器指令系统,把字节码转换成不同的具体指令,保证程序能够“到处运行” 。5编译和解释特性Java 开发环境把 Java 源程序编译后生成一种称为字节代码的中间代码,字节代码非常类似于机器指令代码,但并不是二进制的机器指令代码,而且字节代码并不针对一种特定的机器,所以 Java 程序不需重新编译便可在众多不同的计算机上执行。只要该机器预先装有Java 语言运行系统,这就是 Java 的编译特性。Java 程序编译后产生字节代码,其运行要借助于 Java 解释器,Java 解释器直接对 Java 字节代码进行解释执行。以字节代码形式发布的Java 程序运行在 JVM 环境,JVM 将字节代码翻译成具体的 CPU 机器指令,因此,Java 解释器是与软硬件平台有关的,在不同的平台上用不同的 JVM 实现(与平台相关部分的工作由 JVM 而不是 Java 编译器来完成,因为平台的种类比起应用软件的数量要少得多) 。Java解释器使得 Java 程序在某一特定软、硬件平台环境中直接运行目标代码指令,这种连接程序所需资源通常比编译程序少,所以程序员可以将更多的时间用在创建源程序上,而不必考虑运行环境,这就是 Java 的解释特性。6多线程多线程机制使得应用程序能够并行执行,通过使用多线程,程序设计者可以用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上的实时交互行为和实时控制性能。大多数高级语言(包括 C、C+等)都不支持多线程,用这样的语言只能编写顺序执行的程序。Java 内置了语言级多线程功能,提供现成的 Thread 类,只要继承这个类就可以编写多线程的程序,使得用户程序能够并行执行。Java 提供的同步机制可以保证各线程对共享数据的正确操作,完成各自的特定任务。在硬件条件允许的情况下,这些线程可以直接分布到各个 CPU 上,充分发挥硬件性能,减少用户等待的时间。7动态执行Java 执行代码是在运行时动态载入的,这种动态特性使得它适合于一个不断发展的环境。在网络环境下,Java 语言编写的代码用于瘦客户机架构可减少维护工作。另外,类库中增加的新方法和其他实例不会影响到原有程序的执行,并且 Java 语言通过接口来支持多重继承,使其比严格的类继承具有更灵活的方式和可扩展性。8自动废区回收性在用 C 及 C+语言编写大型软件时,编程人员必须自己管理所用的内存块,这项工作非常困难且经常成为出错和内存不足的根源。在 Java 环境下编程人员不必为内存管理操心,Java 语言系统有一个叫做“无用单元收集器”的内置程序,它扫描内存,并自动释放那些不再使用的内存块。Java 语言的这种自动废区收集机制,对程序不再引用的对象自动取消其所占资源, 能够彻底避免出现存储器泄露之类的错误, 并免去了程序员管理存储器的繁琐工作。9丰富的 API 文档和类库Java 为用户提供了详尽的 API 文档说明。Java 开发工具包中的类库包罗万象、应有尽有,这使得程序员的开发工作可以在一个较高的层次上展开,这也正是 Java 广受欢迎的重要原因之一。1.2 Java工作原理一、Java 运行系统的构成1Java运行系统包括五部分:类装配器、字节码检验器、解释器、代码生成器、运行支持库,如图 1-1所示。图 1-1 Java 运行系统组成2Java运行系统对字节码的解释分为三部分:(1)装入代码Java程序的基本单位是类,类装配器是装入运行时所需的所有类,包括代码中的类所继承的类和被其所调用的类。当装入运行程序所需的所有类后,运行系统便可以确定整个可执行程序的内存布局。(2)验证代码JAVA代码通过字节码检验器对代码进行检验,防止 JAVA运行环境运行有害的类文件,并且还能发现是否有操作数栈溢出、非法数据类型转换等逻辑性错误。(3)执行代码对字节码的执行可以有以下两种方式:即时编译方式:由代码生成器将字节码全部解释成机器码,然后再执行机器码。解释执行方式:解释器每次把一小段代码解释成机器码并执行,如此反复完成 JAVA字节码的解释操作。这种方法有足够的灵活性,通常采用这种方法。二、 Java虚拟机(JVM)Java的运行之所以与平台无关,其原因是 Java虚拟机屏蔽了与具体平台相关的联系。一般高级语言的编译器编译生成的代码是为某一个特定硬件平台运行和产生的机器码,但Java语言的编译器是将代码编译成Java虚拟机的目标代码即字节码而不是针对特定平台的机器代码,所以用户只需在所使用的平台上安装 Java 虚拟机(JVM), Java虚拟机中的 Java解释器负责将字节码文件解释成为特定的机器码进行运行。JVM其实是在实际的计算机上通过软件模拟来实现的虚拟机器。 Java 虚拟机有自己想象的硬件,共包括以下 5 个抽象的逻辑组件: 指令集:用来执行基本的 CPU运算。 寄存器:用来存放地址信息,比如执行指令的地址。 栈结构:栈用来保存操作参数、返回结果和为方法传递参数。 堆:Java运行时的数据区,程序初始化时所有对象都置于堆上。 存储区:用来存放字节码的方法代码、符号表。JVM对这些组件进行了严格的规定,尤其是对字节码格式做了更加严密的规定,但它并没有对这些组件具体的实现技术加以规定,也就是它们可以用任何一种技术实现 JVM的功能,用软件或是芯片均可。但是 Java 虚拟机的功能必须是统一的,只能执行符合 JVM规范的统一的字节码。三、Java APIJava API 也是一个很大的 Java 类库集合,它为程序员提供了大量的可重用的类,如同C语言中的库函数,给编程人员提供了丰富的功能。这些类以包的形式组织,所谓包,可以理解为一个文件夹,它把类库中各种功能相近或者相关的类组织在一起,下面我们介绍最常用的 6个包。(1)java.lang: Java语言的核心类库,包含基本数据类型和出错处理方法。(2)java.io:Java语言的标准输入/输出类库,包含 Java程序与操作系统、用户界面等进行交互时使用的类。(3)java.awt:Java语言用来构建图形图像的类库。包含创建用户界面和绘制图形图像的所有类。(4)java.applet:实现运行 Internet浏览器中的 Java Applet的工具类库。包含创建 Applet 以及实现 Applet 所需的所有类。(5) java.util:Java语言的一个集合包,包含日期与时间相关的类。(6) java.sql:支持通过 JDBC对数据库进行访问操作。编写 Java程序时, 如能熟练自如地运用类库, 将在很大程度上提高编程的效率和质量。1.3 JAVA运行环境要开发 Java 程序,必须有一个开发环境,而一提到开发环境,读者可能首先想到那些大名鼎鼎的集成开发工具,如 Eclipse、Jbuilder、JCreator Pro、NetBeans、Sun Java Studio、Microsoft Visual J+等。但实际上,如此众多的开发工具中,除了 Microsoft Visual J+是使用自己的编译器外,其余的大多数是使用 Sun 公司提供的免费的 JDK 作为编译器,只不过是开发了一个集成环境套在外面,方便程序员编程而已。这些集成开发工具虽然方便了程序员开发大型软件,但是它们封装了很多有关 JDK 的基本使用方法,在某些方面又过于复杂,并不太适合初学者使用。因此,在本书中将介绍最基本的 JDK 安装和使用方法。1.3.1 JDK 的安装Java 平台由 Java 应用编程接口(API)和 Java 虚拟机(JVM)组成的,而 Java 平台的搭建可以通过安装 JDK 来实现。JDK(Java Development Kit)是 Sun 公司发布的免费的 Java开发工具,它提供了调试及运行一个 Java 程序所必需的工具和类库。在正式开发 Java 程序前,需要先安装 JDK,JDK 的最新版本可以在 Sun 公司的主页 http:/J免费下载。目前,最新版本是 2006年底发布的 JDK1.6。根据运行时所对应的操作系统,JDK 1.6可以划分为 for Windows、for Linux、for Solaris 和 for MacOS 等不同版本。l 说明:本书实例基于的 Java SE 平台是 JDK1.6 forWindows。下面就以 JDK1.6 for Windows 为例,介绍它的安装和配置。(1)到 Sun 公司网站 http:/J 下载 JDK1.6 for Windows,文件名为jdk-6u26-windows-i586,双击该文件,进入“安装向导”窗口,如图 1-2 所示。图 1-2 “安装向导”窗口(2)单击“下一步” ,进入如图 1-3 所示的“自定义安装”窗口,通过此窗口可以选择要安装的模块和路径。图 1-3 “自定义安装”窗口在图 1-3 所示的安装界面中, “开发工具”是必选的, “演示程序及样例”和“源代码”供开发者参考,如果硬盘剩余空间比较多,最好选择安装; “公共JRE”是一个独立的 Java运行环境(Java Runtime Environment,JRE) ,任何应用程序均可使用此 JRE,它会向浏览器和系统注册 Java 插件和 Java Web Start,如果不选择此项,IE 浏览器可能会无法运行 Java编写的 Applet 程序。安装路径默认安装到 C 盘,如果需要更改安装路径,可以单击“更改”按钮,输入你想要的安装路径即可。在这里我们采用默认的安装路径 C:ProgramFilesJavajdk1.6.0_26,稍后对 JDK 进行环境变量配置时将用到此路径。(3)单击“下一步” ,进入“正在安装”窗口,如图 1-4 所示。通过“正在安装”窗口可以了解 JDK 的安装进度。图 1-4 “正在安装”窗口(4)JDK 安装完毕后,进入“Java 安装”窗口,如图 1-5 所示。通过此窗口可以选择JRE 的安装路径,通常情况下,不需要用户修改这些默认选项,也可以通过单击“更改”按钮进行修改。图 1-5 “Java安装”窗口(5)单击“下一步”按钮,开始 JRE 的安装,安装结束后,自动进入“安装完成”窗口,如图 1-6 所示。图 1-6 “安装完成”窗口注意:和一般的 Windows 程序不同,JDK 安装完成后不会在“开始”菜单和桌面生成快捷方式。这是因为 bin文件夹下的可执行程序都不是图形界面的,它们必须在控制台中以命令方式运行。另外,用户还需要手工配置环境变量才能正常使用 JDK。1.3.2 系统环境变量的设置环境变量是包含关于系统及当前登录用户的环境信息的字符串, 一些程序使用此信息确定在何处放置和搜索文件。和 JDK 相关的环境变量有两个:path 和 classpath,其中 path 环境变量告诉操作系统到哪里去查找 JDK 工具;classpath 环境变量告诉 JDK 工具到哪里去查找类文件(.class 文件) 。1环境变量的配置考虑到目前用得最多的操作系统仍然是 Windows XP,就以 Windows XP 为例来介绍如何设置和Java有关的系统环境变量, 假设JDK安装路径为C:Program FilesJavajdk1.6.0_26。其设置方法为选中“我的电脑”“属性”“高级”“环境变量”选项,并选中系统变量“path” ,如图 1-7 所示。单击环境变量下方的“编辑”按钮,对环境变量 path 进行编辑,如图 1-8 所示。在 path对应的变量值中添加“C:Program FilesJavajdk1.6.0_26bin; ” ,单击“确定” ,完成对 path环境变量的设置。环境变量 classpath 的设置方法与 path 类似,如果环境变量中不存在该变量,则新建它,如果存在,则编辑它,如图 1-9 所示。在 classpath 对应的变量值中添加“C:ProgramFilesJavajdk1.6.0_26lib; ” ,然后单击“确定”按钮,完成对 classpath环境变量的配置。最后单击“确定”按钮,即可保存对两个系统变量的设置。图 1-7 “环境变量”窗口图 1-8 环境变量 path编辑窗口图 1-9 环境变量 classpath编辑窗口2环境变量的验证设置完“path”环境变量后,可以通过选择“开始”“运行”命令,输入“cmd” ,在打开的命令行中输入“javac”命令,若出现图 1-10 的运行结果,则说明环境变量配置成功。图 1-10 查看环境变量是否配置成功1.3.3 编译命令和执行命令JDK 所提供的开发工具主要有编译程序、解释执行程序、调试程序、Applet 执行程序、文档管理程序、包管理程序等,这些程序都是控制台程序,要以命令的方式执行。其中,编译程序和解释执行程序是最常用的程序,它们都在 JDK 安装目录下的 bin 文件夹中。1编译程序JDK 的编译程序是 javac.exe,该命令将 Java 源程序编译成字节码,生成与类同名但后缀名为.class 的文件。通常情况下,编译器会把.class 文件和 Java 源文件放在相同的文件夹里,除非在编译过程中使用了-d 选项。javac 的一般用法如下:javac 选项. file.java其中,常用选项如下所示:(1)-classpath,该选项用于设置路径,在该路径下 javac 寻找需被调用的类,该路径是一个用分号分开的目录列表。(2)-d directory,该选项用于指定生成的类文件存放位置。(3)-g,该选项在代码生成器中打开调试表,以后可凭借此调试产生字节代码。(4)-nowarn,该选项用于禁止编译器产生警告。(5)-verbose,该选项用于输出与编译器正在执行的操作有关的消息。(6)-sourcepath,该选项用于指定查找输入源文件的位置。(7)-version,该选项标识版本信息。虽然 javac 的选项众多,但对于初学者而言,并不需要一开始就掌握这些选项的用法,只需掌握一个最简单的用法就可以了。例如,要编译一个 HelloWorld.java 源程序文件,只需在命令行输入如下的程序即可。javac HelloWorld.java编译正常结束后,会在 HelloWorld.java 所在的目录下生成一个 HelloWorld.class 文件,编译成功后,下一步就是运行这个 class 文件。2执行程序JDK 的解释执行程序是 java.exe,该程序将编译好的 class 加载到内存,然后调用 JVM来执行它,它的一般用法如下:java 选项. file 参数其中,常用选项说明如下:(1)-classpath,用于设置路径,在该路径上寻找需被调用的类,该路径是一个用分号分开的目录列表。(2)-client,选择客户虚拟机(这是默认值) 。(3)-server,选择服务虚拟机。(4)-hotspot,与 client 相同。(5)-verify,对所有代码进行校验。(6)-noverify,不对代码进行校验。(7)-verbose,每当类被调用时,向标准输出设备输出信息。(8)-version,输出版本信息。初学者只要掌握最简单的用法就可以了,例如,要执行 HelloWorld.class 文件,只需要在命令行输入如下的程序即可。java HelloWorld注意: Java 命令是区分大小写的, 并且在执行 class 文件时, 文件的后缀.class 必须省略。JDK 中其它命令的用法,读者可以查阅 Sun 公司发布的 JDK 6.0 Documentations 中的JDK Tools and Utilities 部分。1.3.4 Java 开发工具Java 的源程序必须以纯文本文件的形式编辑和保存,而在 JDK 中并没有提供文本编辑器,用户编辑源程序时需要自行选择文本编辑器。最简单的纯文本编辑器是 Windows 自带的记事本,但是记事本不但功能太弱,而且作为 Java 的源程序编辑器,存盘时特别容易出错。所以推荐读者使用功能更为强大的集成开发环境 Eclipse 作为学习 Java 过程中的编辑工具。Eclipse 是一种可扩展的开放源代码 IDE。2001年 11月,IBM 公司捐出价值 4,000万美元的源代码组建了 Eclipse 联盟,并由该联盟负责这种工具的后续开发。1新建或编辑 Java源程序启动 Eclipse 后它会出现 Workspace的设置,如图 1-11所示,可以采用默认路径,也可以更改 Workspace的路径。设置完 Workspace 后,编写的 java 程序就会自动放在 Workspace设置的路径下。当点击“OK”后,出现 Eclipse 的界面,如图 1-12 所示。选择菜单中的“File”“new”“project” ,输入工程的名字,如图 1-13 所示,然后点击“Finish”选项,在出现的界面中右击工程名称,选择“new”“class” ,即在该工程中建立类,输入类的名称,点击“finish” ,即进入该类的编辑页面,如图 1-14 所示。图 1-11 设置 Workspace图 1-12 Eclipse运行界面图 1-13 新建工程图 1-14 类编辑页面可以看到,源程序中各种关键字、数字、字符串等都以不同的颜色显示,这就是 Eclipse语法高亮度功能。2编译和执行源程序Eclipse 把编译和运行源程序的功能集成在一起,当点击“Run”“Run as”“JavaApplication” ,即开始编译和执行源 Java 代码。如果下部分的窗口中没有任何内容,表明编译已经成功,否则需要修改源程序。除了 Eclipse,常用的开发工具还有 JCreator。 JCreator 提供了图形化的编辑环境,可以在该环境中直接编写程序, 程序编译后的错误提示或运行结果将在该环境最底下的窗口显示(如图 1-15) 。所以程序员可以在 JCreator 中直接进行调试或查看结果。图 1-15 JCreator界面1.4 Java 程序类型Java程序分为 Java应用程序( Java Application )和 Java小应用程序( Java Applet)两类。对于 Application,它是一种独立的程序,通过解释器就可以即时运行,不依赖浏览器;对于 Applet,它不是独立的程序,必须嵌入 WWW页面中,在支持 Java的 WWW 浏览器上才能执行。1.4.1 Application 程序Java Application程序由编程开始,到最后看到结果,需要经过 3个过程,即编写源代码、编译和运行。1编写源代码【例 1.1】编程输出字符串:HelloWorld!public class HelloWorld public static void main(String args)System.out.println(HelloWorld!);说明:(1)存储文件时,源文件的扩展名必须为 java,且源文件名必须与程序中声明为 publicclass 的类的名字完全一致(包括大小写要一致) 。(2)程序中 public class HelloWorld 声明要建立一个名为 HelloWorld 的类,关键字 class说明一个类声明的开始,类声明由类头和类体组成,类体部分的内容由一对大括号括起来,在类中不能嵌套声明其他类。类体内容包括属性和方法,具体内容将在后续章节介绍。(3)Java 应用程序可以由若干类组成,每个类可以定义若干个方法,但其中必须有一个类中包含一个且只能有一个 public static void main(String args),main 是所有 Java 应用程序执行的入口点,当运行 Java 应用程序时,整个程序将从 main 方法开始执行。(4)System.out 是 Java 提供的标准输出对象,println 是该对象的一个方法,用于向屏幕输出。2编译源程序编辑完毕并存盘,假设源程序保存在 F 盘的 ch01文件夹中,并且编辑器使用的是记事本,则编译需要经过以下几个步骤:l 进入到 DOS 窗口源程序所在的文件夹。l 使用编译命令编译源程序。上述步骤的执行结果如图 1-16 所示。上述步骤执行结束后,可以在 Fch01 文件夹中看到一个名为 HelloWorld.class 的字节码文件。注意:如果编译不正确,系统会给出错误信息,程序员可以根据错误提示修改源代码,直到编译正确为止。图 1-16 程序编译结果3运行编译完成后可以用 Java 解释器命令解释执行这些字节码文件,Java 解释器是 JDK 提供的 java.exe 工具,执行 HelloWorld.class的命令如下:F:ch01java HelloWorld至此,一个简单的 Java 应用程序就开发成功了。如果采用 Eclipse,则编译和运行步骤不必使用命令行方式,而且不必考虑文件名的大小写问题,这样可以大大提高编程的效率。1.4.2 Applet 程序Applet 一般称为小应用程序,Java Applet 就是用 Java 语言编写的这样的一些小应用程序。它们可以通过嵌入到 Web页面或者其他特定的容器中来运行,也可以通过 Java 开发工具的 appletviewe 来运行。Applet 必须运行于某个特定的“容器”中,这个容器可以是浏览器,也可以是通过各种插件,或者包括支持 Applet 的移动设备在内的其他各种程序来运行。与独立运行的 Java 应用程序不同,Applet 有自己的一套执行流程,而不是通过 main 方法来开始执行程序,并且在运行过程中,Applet 通常会与用户进行交互操作,显示动态的页面效果, 并且还会进行严格的安全检查, 以防止潜在的不安全因素 (如根据安全策略, 限制 Applet对客户端机器的文件系统进行访问等) 。Java Applet 可以实现图形图像绘制、字体和颜色控制、动画和音视频播放、人机交互以及网络通信等功能。此外,Java Applet 还提供了称为抽象窗口工具箱(Abstract Window Toolkit,AWT)的窗口环境开发工具。AWT 利用计算机的GUI 技术,可以帮助用户轻松地建立标准的图形用户界面,如窗口、按钮、菜单、下拉框和滚动条等。Applet 的开发可分为 3个步骤:(1)用 UltraEdit 或 Notepad等纯文本软件编辑 Java Applet 源程序。(2)利用 javac 编译器将 Applet 源程序转换为 class字节码文件。(3)编写 HTML 页面,并通过标签引用上述字节码文件。下面通过一个简单的例子来说明 Applet 程序的开发过程。1编辑 Applet 的 Java源程序在“E:study”文件夹下创建 HelloApplet.java 文件,文件的源代码如下:import java.awt.*;import java.applet.*;public class HelloApplet extends Appletpublic void paint(Graphics g)g.drawString(Hello!,10,10);g.drawString(Welcome to Applet Programming!,30,30);编写完以后保存上述程序,下面对该程序做一些简单说明。程序开头两行的 import 语句用来导入 Applet 小程序中用到的一些 Java 标准类库,类似于 C 语言中的 include 语句,多数 Applet 程序都会含有类似的代码,以使用 JDK 提供的功能。接下来在程序中定义了一个公共类 HelloApplet,它通过 extends 继承于 Applet 类,并重写父类中的 paint( )方法, 其中参数 g 为 Graphics 类的对象, 代表当前会话的上下文。 在 paint方法中,两次调用 g 的 drawString( )方法,分别在坐标(10,10)和(30,30)处输出字符串“Hello!”和“Welcome to Applet Programming!” ,其中的坐标是用像素点表示的,且以显示窗口的左上角作为坐标系的原点(0,0) 。另外,细心的读者可能早已发现,Applet 程序中没有 main( )方法,这正是 Applet 小程序与 Application 应用程序的重要区别之一。因为 Applet小程序没有 main( )方法作为执行入口,因此必须将其放至在“容器”中加以执行,常见的做法是编写 HTML 文件,将 Applet 嵌入其中,然后用支持 Java 的浏览器或 appletviewer 工具来运行。2编译 Applet 源程序用如下命令编译 HelloApplet.java 源文件。E:studyjavac HelloApplet.java与编译独立运行的 Java Application 一样,如果编写的 Java Applet 源程序不符合 Java 编程语言的语法规则,即源程序中存在语法错误的话,Java 编译器会给出相应的语法错误提示信息。成功编译 HelloApplet.java 源程序后,系统会在当前目录生成一个字节码文件,其名称为 HelloApplet.class。3编写 HTML 宿主文件在运行所编写的 Applet 程序,即 HelloApplet.class 之前,还需要建立一个 HTML 页面,该页面的文件扩展名可以为 html 或 htm,浏览器或 appletviewer 将通过该文件执行其中的Applet 字节码程序。文件名为 HelloApplet.html 的 Web页面的代码如下: Hello Applet 在上述 HTML 代码中,标签至少包括以下三个参数:l CODE:指明该 Applet 字节码文件名。l WIDTH:指定 Applet 占用整个页面的宽度,以像素点作为度量单位。l HEIGHT:指定 Applet 占用整个页面的高度,以像素点作为度量单位。通过标签对就可以将 Applet 的字节码文件嵌入其中,需要注意的是:字节码文件名要么包含具体路径,要么与 HTML 文件处于同一目录中,否则可能会出现 Applet 字节码失败的错误。这里的HTML文件使用的文件名为HelloApplet.html, 它对应于HelloApplet.java的名字,但这种对应关系不是必须的,可以用其他的任何名字命名该 HTML 文件。但是使文件名保持一种对应关系可能会给文件的管理带来一些方便。4运行 HelloApplet.html如果使用 appletviewer 来运行 HelloApplet.html,则需要输入如下命令:E:study appletviewer HelloApplet.html运行结果如图 1-17 所示。图 1-17 使用 appletviewer运行 HelloApplet.html如果用浏览器运行 HelloApplet.html,则双击该网页将自动打开,如图 1-18 所示。图 1-18 使用浏览器运行 HelloApplet.html开发运行 Applet 程序的整个过程就是这样的,包括 Java 源文件编辑、编译生成字节码class 文件、编写 html 文件以及用 appletviewer 或用浏览器运行。本章小结通过本章的学习, 读者应该了解 Java 的起源和发展历程以及 Java 语言的特点和发展前景,学会如何搭建 Java 编程的环境,即如何安装 J2SDK、J2SE 1.4.2 Documentation 和编程工具 Eclipse,还应该掌握使用 Eclipse 来编写简单的 Java 应用程序。习题1.Java 有何特点 ?2.模仿例 1.1,使用记事本编写一个 Java Application 源程序, 输出字母 “I canwrite a java application !”3上机编译编写的源程序,思考使用什么命令进行编译 ? Java 编译器产生的文件扩展名是什么 ?4上机解释编译过的程序,思考使用什么命令进行解释 ? Java 解释器解释的文件的扩展名是什么 ?5、使用浏览器浏览 j2sdk1.4.2_01demoappletsAnimator 文件夹中的example1 .html , example2 .html , example3 .html , example4 .html的 Applet小程序。第二章 Java编程基础【学习目标】1掌握 Java 程序中的注释用法。2掌握 Java 的命名规则,了解 Java 的标识符和系统保留字。3掌握 Java 的基本数据类型,了解常量、变量和 Java 扩展的数据类型。4掌握 Java 语言基本运算符的使用,掌握 Java 语言基本运算符的优先级。5掌握并运用数组。2.1 标识符和关键字在学习任何语言之前,首先都需要学习一下相关的语言基础,学习 Java 语言自然也不例外。本章将对 Java 语言的标识符和关键字、数据类型、变量和常量、运算符和表达式、数组等内容进行介绍。通过对本章内容的学习,读者可以对 Java 语言有一个最基本的了解,并能够顺利地编写一些简单的 Java 应用程序。一、标识符标识符:能被编译器识别而提供的在程序中惟一的名字。在 Java语言中用标识符对变量、类、方法等进行命名。对标识符的定义需要遵守以下的规则:标识符是由字母、“_”、“$”和数字组成。标识符以字母、“_”、“$”开头。标识符不能与关键字同名。标识符区分大小写。如:sum和 Sum是不同的标识符。例如:nes_id,$fail,_ese为合法标识符,nes-id,stud*,class为不合法标识符。二、关键字关键字:Java语言本身提供的一种特殊的标识符,又称 Java保留字。Java 语言的关键字有 40 多个,如表 2-1:表 2-1 Java 语言的关键字abstract boolean break byte case catchchar class const continue default dodouble else extens false final finallyfloat for if implements import instanceofint interface long native new packageprivate protected public return short staticsuper switch synchronized this throw throwstransient tru

温馨提示

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

评论

0/150

提交评论