




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第1 1章章 JavaJava语言概述语言概述 JavaJava语言是由语言是由SunSun公司于公司于19951995年推出的一种新的年推出的一种新的编程语言,是一种跨平台、适合于分布式计算环编程语言,是一种跨平台、适合于分布式计算环境的纯面向对象语言。境的纯面向对象语言。1.1 Java1.1 Java语言简介语言简介 JavaJava的历史要追溯到的历史要追溯到19911991年,年,Sun MicroSystemSun MicroSystem公司的公司的JameJame Gosling Gosling、Bill JoeBill Joe等人,为在家用等人,为在家用消费类电子产品上进行交
2、互式操作而开发了一个消费类电子产品上进行交互式操作而开发了一个名为名为OakOak的软件,但当时并没有引起人们的关注。的软件,但当时并没有引起人们的关注。后来发现后来发现OakOak是一种已有计算机语言的名字,于是是一种已有计算机语言的名字,于是将其更名为将其更名为JavaJava。1.1.1 Java1.1.1 Java的发展及应用的发展及应用一、一、JavaJava产生及发展产生及发展 最初最初19911991年,年,SunSun一个称为一个称为GreenGreen的项目组,为开发家用的项目组,为开发家用电器的通信和控制项目,项目组基于电器的通信和控制项目,项目组基于C+C+开发了一种新的
3、语开发了一种新的语言言Oak Oak JavaJava。 19951995年春季,年春季,SunSun公司公布了完整的公司公布了完整的JavaJava技术规范。技术规范。 于于19961996年年SunSun公司发布了包括运行环境和开发工具在内的公司发布了包括运行环境和开发工具在内的JDK(JavaJDK(Java Developer Kit) 1.0 Developer Kit) 1.0,之后又陆续发布新版本,之后又陆续发布新版本JDK1.1JDK1.1、JDK1.2JDK1.2,Java2 SDK(SoftwareJava2 SDK(Software Development Kit)1.3
4、 Development Kit)1.3、Java2 SDK1.4Java2 SDK1.4、Java2 SDK5.0Java2 SDK5.0等。等。 19981998年年1212月发布了月发布了Java 2Java 2,Java 2Java 2是应用是应用JavaJava最新技术的核心最新技术的核心品牌品牌, JDK1.2, JDK1.2支持支持Java 2Java 2技术,自技术,自JDK1.2JDK1.2之后的之后的JDKJDK版本正式版本正式更名更名Java 2 SDKJava 2 SDK,由于多数程序员已经习惯了名字,由于多数程序员已经习惯了名字JDKJDK,所以,所以本书中本书中Ja
5、va 2 SDKJava 2 SDK和和JDKJDK可以相互替换。可以相互替换。1.1.2 Java1.1.2 Java的不同平台的不同平台根据不同的开发用途,将根据不同的开发用途,将JavaJava分为如下分为如下3 3个不同的平台版本。个不同的平台版本。Java SEJava SE(Java Standard EditionJava Standard Edition)JavaJava标准版标准版 JavaJava语言标准集,用于一般的编程,如桌面应用程序的开语言标准集,用于一般的编程,如桌面应用程序的开发发Java EEJava EE(Java Enterprise EditionJava
6、 Enterprise Edition)JavaJava企业版企业版 在在JSEJSE的基础上,加上多种标准,用于企业级的基础上,加上多种标准,用于企业级B/SB/S程序的开程序的开发发Java MEJava ME(Java Macro EditionJava Macro Edition)JavaJava微型版微型版 是是JSEJSE的子集,加上一些专用功能,用于手机等小电器的的子集,加上一些专用功能,用于手机等小电器的编程编程1.1.3. Java1.1.3. Java是什么是什么 一种编程语言一种编程语言JavaJava语言语言可以使用可以使用JavaJava编写各类程序,如桌面应用程序、
7、编写各类程序,如桌面应用程序、网站、手机游戏网站、手机游戏 一种开发环境一种开发环境JDKJDK提供了开发工具和提供了开发工具和APIAPI,提高开发效率,提高开发效率 一种应用环境一种应用环境JavaJava虚拟机虚拟机使用使用JavaJava编写的程序都必须在编写的程序都必须在JavaJava虚拟机中运虚拟机中运行行1.2 Java1.2 Java语言的特点语言的特点 从从JavaJava诞生以来,就以其在网络应用开发上独特诞生以来,就以其在网络应用开发上独特的魅力以及的魅力以及“一次开发,随处运行一次开发,随处运行”的可移植性的可移植性引起了人们极大的兴趣。自引起了人们极大的兴趣。自19
8、941994年以来,年以来,InternetInternet与万维网迅速发展,这大大促进了以网与万维网迅速发展,这大大促进了以网络开发见长的络开发见长的JavaJava的发展,使其逐渐成为的发展,使其逐渐成为InternetInternet上最受欢迎的编程平台。下面从几个不上最受欢迎的编程平台。下面从几个不同的方面介绍同的方面介绍JavaJava的一些特点,并且通过与的一些特点,并且通过与C+C+的对比进一步指出其在开发方面的优势。的对比进一步指出其在开发方面的优势。1.2 Java1.2 Java语言的特点语言的特点 1 1简单性简单性 与与C+C+语法相比,语法相比,JavaJava语法是
9、一个语法是一个“升华升华”版,版,其剔除了其剔除了C+C+中许多易混淆、难理解的特性,但在中许多易混淆、难理解的特性,但在设计设计JavaJava的时候还是尽可能地接近的时候还是尽可能地接近C+C+,以便系,以便系统更易于理解。在统更易于理解。在JavaJava中,略去了头文件、指针中,略去了头文件、指针运算、操作符重载、多重继承等概念,并且通过运算、操作符重载、多重继承等概念,并且通过自动垃圾收集大大简化了程序员的内存管理工作。自动垃圾收集大大简化了程序员的内存管理工作。1.2 Java1.2 Java语言的特点语言的特点 2 2面向对象面向对象 在相当长时间里,面向对象已经证明了其自身的在
10、相当长时间里,面向对象已经证明了其自身的价值,现代程序设计语言不使用面向对象技术让价值,现代程序设计语言不使用面向对象技术让人难以置信。人难以置信。JavaJava的面向对象特性与的面向对象特性与C+C+旗鼓相旗鼓相当,实现了模块化和信息隐藏,类提供了对象的当,实现了模块化和信息隐藏,类提供了对象的原型,子类通过继承机制可以使用父类所提供的原型,子类通过继承机制可以使用父类所提供的数据与方法。数据与方法。JavaJava语言的设计集中于对象及其接语言的设计集中于对象及其接口上。口上。JavaJava与与C+C+不同的是取消了多重继承,取不同的是取消了多重继承,取而代之的是接口概念,使而代之的是
11、接口概念,使JavaJava更加易用。更加易用。1.2 Java1.2 Java语言的特点语言的特点 3 3分布式分布式 JavaJava在网络方面的强大易用是其他语言无法比拟在网络方面的强大易用是其他语言无法比拟的,可以说的,可以说JavaJava是面向网络的语言。通过其提供是面向网络的语言。通过其提供的类库可以方便地处理各种网络协议,方便地进的类库可以方便地处理各种网络协议,方便地进行传统的套接字网络开发,例如行传统的套接字网络开发,例如RMIRMI、CORBACORBA、WebWeb服务等现在流行的网络开发。服务等现在流行的网络开发。1.2 Java1.2 Java语言的特点语言的特点
12、4 4健壮性健壮性 JavaJava在编译和运行时,都会对程序可能出现的问在编译和运行时,都会对程序可能出现的问题进行检查。并将出错信息报告给程序员。同时题进行检查。并将出错信息报告给程序员。同时其提供垃圾收集机制来自动管理内存,避免了程其提供垃圾收集机制来自动管理内存,避免了程序员很多无心的错误和恶意的攻击。而序员很多无心的错误和恶意的攻击。而C+C+需要程需要程序员自己编写代码管理内存,这对大多数程序员序员自己编写代码管理内存,这对大多数程序员来说并不是一项愉快的工作。对曾经花费很多时来说并不是一项愉快的工作。对曾经花费很多时间来检查悬浮指针引起内存冲突的程序员,一定间来检查悬浮指针引起内
13、存冲突的程序员,一定非常喜欢非常喜欢JavaJava的这一特性。的这一特性。1.2 Java1.2 Java语言的特点语言的特点 5 5可移植性可移植性 与与C+C+不同,不同,JavaJava规范中没有规范中没有“依赖具体实现依赖具体实现”的地方。与平台无关的特性可以方便地将的地方。与平台无关的特性可以方便地将JavaJava部部署到任何不同平台的机器上。同时署到任何不同平台的机器上。同时JavaJava的类库封的类库封装了不同平台上的实现,为其提供统一的接口,装了不同平台上的实现,为其提供统一的接口,这使得同样的类库可以在不同的平台上使用。这这使得同样的类库可以在不同的平台上使用。这也就意
14、味着用也就意味着用JavaJava开发的应用可以开发的应用可以“一次开发,一次开发,随处运行随处运行”。1.2 Java1.2 Java语言的特点语言的特点 6 6安全性安全性 在安全性方面在安全性方面JavaJava也是首屈一指的,其是目前极也是首屈一指的,其是目前极少的语言本身具有安全性的开发平台。而少的语言本身具有安全性的开发平台。而JCPJCP也大也大力支持对力支持对JavaJava安全性的研究,制定了使用规范,安全性的研究,制定了使用规范,实现了虚拟机安全机制和安全库,添加了数字签实现了虚拟机安全机制和安全库,添加了数字签名类的概念。从一开始名类的概念。从一开始JavaJava就被设
15、计为有防范各就被设计为有防范各种病毒、袭击的能力,举例如下:种病毒、袭击的能力,举例如下: (1 1)一切对内存的访问都必须通过对象的实例引)一切对内存的访问都必须通过对象的实例引用来实现;用来实现; (2 2)禁止破坏自己处理空间之外的内存;)禁止破坏自己处理空间之外的内存; (3 3)禁止运行时堆栈溢出;)禁止运行时堆栈溢出; (4 4)未经授权禁止读写文件。)未经授权禁止读写文件。1.2 1.2 认识认识JavaJava的特点的特点 JavaJava的语言规范的语言规范 包括语法、构成和预定义类的应用程序接包括语法、构成和预定义类的应用程序接口(口(Application Program
16、mer InterfaceApplication Programmer Interface,APIAPI)。)。JavaJava语言的语法和构成是相对稳定语言的语法和构成是相对稳定的,而伴随着的,而伴随着JDKJDK新版本的不断推出,新版本的不断推出,APIAPI也一直在不断扩展。在也一直在不断扩展。在JavaJava软件的软件的WebWeb站点站点(Java.SJava.S),可以查看),可以查看JavaJava的语法的语法规范、最新版本和规范、最新版本和Java APIJava API的更新。的更新。 * *JavaJava与与C+C+的比较的比较吸收了吸收了C+C+的优点的优点语法结构清
17、晰、功能强大、性能高语法结构清晰、功能强大、性能高摒弃了摒弃了C+C+的缺点的缺点指针的滥用、内存管理不严、数据类型复杂、可移植性指针的滥用、内存管理不严、数据类型复杂、可移植性差差1.3 Java1.3 Java开发工具箱开发工具箱 JDKJDK是是Java Development KitJava Development Kit的缩写,即的缩写,即JavaJava开开发工具箱,发工具箱,JavaJava开发工具包是免费下载和使用的。开发工具包是免费下载和使用的。在这一节中,将向读者介绍如何获得开发在这一节中,将向读者介绍如何获得开发JavaJava程程序所需要的环境,以及环境的安装和使用前的
18、设序所需要的环境,以及环境的安装和使用前的设置。在一切准备好之后,置。在一切准备好之后,1.51.5小节将用最简单的小节将用最简单的HelloWold.javaHelloWold.java作为第一个作为第一个JavaJava程序,向大家介程序,向大家介绍绍JavaJava程序最基本的编写、编译和运行的方式,程序最基本的编写、编译和运行的方式,使大家对使大家对JavaJava程序有一个初步的认识。程序有一个初步的认识。1.3.1 Java1.3.1 Java开发环境开发环境JavaJava运行环境(运行环境(JREJRE)采用采用JavaJava语言开发的应用软件需要语言开发的应用软件需要JVM
19、JVM的支持才能运行的支持才能运行包括包括JVMJVM以及相应的以及相应的APIAPI类库类库所有需要运行所有需要运行JavaJava应用软件的计算机,都必须安装应用软件的计算机,都必须安装JREJRE不同的操作系统有不同的不同的操作系统有不同的JREJRE版本版本JavaJava开发环境开发环境JDKJDK(JavaJava开发工具包)开发工具包) 包含包含JREJRE、JavaJava编译器、调试工具等编译器、调试工具等IDEIDE(集成开发环境、(集成开发环境、Integrated DevlopmentIntegrated Devlopment EnvironmentEnvironmen
20、t) 图形界面的,集代码编写、测试运行、发布等为一图形界面的,集代码编写、测试运行、发布等为一体。体。 常用的有:常用的有:EclipseEclipse、NetBeansNetBeans、JBuilderJBuilder、IntelliJIntelliJ IDEA IDEA1.3.2 系统要求 浏览器方面,Java支持Solaris 8(SPARC 和 x86)上的Netscape,Windows平台上的Internet Explorer。操作系统方面,Java支持Intel Architecture(32 位)的系统,可以用于Windows 95、98、NT4.0(Pack 5)、ME、20
21、00、XP、2003 Server等的操作系统,某些新操作系统可能仍然用的是Beta版本。1.3.3 1.3.3 下载下载JDKJDKJavaJava开发工具包是免费下载和使用的,需要的读者可以到相关的网站上进开发工具包是免费下载和使用的,需要的读者可以到相关的网站上进行搜索,也可以根据笔者提供的行搜索,也可以根据笔者提供的URLURL地址下载相应的地址下载相应的JDKJDK。JDKJDK当前的最新当前的最新版本为版本为jdkjdk 1.6.0_01-ea 1.6.0_01-ea,可以根据不同的操作系统平台,下载相应的,可以根据不同的操作系统平台,下载相应的JDKJDK。本书将以基于本书将以基
22、于WindowsWindows平台的平台的3232位机为例,介绍下载的具体过程,步骤如位机为例,介绍下载的具体过程,步骤如下。下。在浏览器地址栏输入在浏览器地址栏输入“http:/ 1.3.4 1.3.4 安装安装JDKJDK 下载完成之后,即可进行安装。下面介绍在下载完成之后,即可进行安装。下面介绍在WindowsWindows操作系统下安装操作系统下安装JDKJDK的方法。的方法。1.3.5 JDK1.3.5 JDK目录目录 安装完安装完JDKJDK后,在指定的安装位置将出现后,在指定的安装位置将出现“jdk1.6.0”jdk1.6.0”目录,此目录下包含了存放不同方目录,此目录下包含了存
23、放不同方面内容的各个子目录,面内容的各个子目录, JDKJDK安装成功之后,在安装成功之后,在C:JavaC:Java中应看到以下几个中应看到以下几个目录目录binbin目录:存放可执行文件;目录:存放可执行文件;liblib目录:存放目录:存放JavaJava的类库文件;的类库文件;includeinclude目录:存放用于本地方法的文件;目录:存放用于本地方法的文件; demodemo目录:存放演示程序;目录:存放演示程序;jrejre目录:存放目录:存放JavaJava运行环境文件;运行环境文件;samplsampl目录:程序程序示例。目录:程序程序示例。 1.3.6 1.3.6 设置环
24、境变量设置环境变量 下面将介绍如何在下面将介绍如何在WindowsWindows下设置下设置PATHPATH环境变量,环境变量,步骤如下。步骤如下。1.3.7 1.3.7 设置环境变量设置环境变量 JDKJDK配置(配置(Windows XP/2000Windows XP/2000环境配置)环境配置)(1 1)右键单击桌面上右键单击桌面上“我的电脑我的电脑”图标,从快捷菜单中选图标,从快捷菜单中选择择“属性属性”,打开,打开“系统属性系统属性”对话框。对话框。(2 2)在)在“高级高级”选项卡中单击选项卡中单击“环境变量环境变量”按钮,按钮, “ “环环境变量境变量”对话框。对话框。(3 3)
25、在)在“系统变量系统变量”列表框中可以创建以下三个环境变量:列表框中可以创建以下三个环境变量: Java_Home=C:javajdkJava_Home=C:javajdk ClassPath=.;%Java_Home%lib;% Java_Home ClassPath=.;%Java_Home%lib;% Java_Home %libtools.jar;%Java_Home%libdt.jar%libtools.jar;%Java_Home%libdt.jar; ; Path=;%Java_HomePath=;%Java_Home%bin%bin1.3.8 Java开发工具几种常用的几种常用
26、的JavaJava集成开发环境集成开发环境 目前比较流行的几种目前比较流行的几种Java IDEJava IDE主要有:主要有: EclipseEclipse、NetbeansNetbeans、JbuilderJbuilder和和JcreatorJcreator。1.4 1.4 一个简单的一个简单的JavaJava程序程序 安装并配置了安装并配置了JDKJDK以后,就可以开始编写和运行代以后,就可以开始编写和运行代码了。和学习其他语言一样,先来考虑一个最简码了。和学习其他语言一样,先来考虑一个最简单的应用程序:单的应用程序:HelloWorld.javaHelloWorld.java,从而对,
27、从而对JavaJava代码有一个初步的印象。代码有一个初步的印象。1.4.1 1.4.1 简单简单JavaJava程序说明程序说明如代码所下示,完成了在屏幕上输出如代码所下示,完成了在屏幕上输出“HelloWorldHelloWorld!”!”一行文本。一行文本。代码代码 HelloWordHelloWord代码。代码。public class HelloWorldpublic class HelloWorld public static void main(String argv public static void main(String argv) /) /类中主方法,程序类中主方法,程
28、序的入口点的入口点 System.out.println(Hello System.out.println(Hello World!); / World!); /在屏幕输出字符串在屏幕输出字符串“Hello World!”Hello World!” 1.4.2 1.4.2 编译和运行编译和运行JavaJava源程序源程序 程序编写完成后,需要对其进行编译和运行。程序编写完成后,需要对其进行编译和运行。1.4.3 1.4.3 程序解析程序解析程序代码中第一行程序代码中第一行“class HelloWorldclass HelloWorld”开始了类开始了类HelloWorldHelloWorld
29、的声明。由于的声明。由于JavaJava语言是纯面向对象的语言,语言是纯面向对象的语言,所以每个所以每个JavaJava程序至少包含一个类的声明。程序至少包含一个类的声明。classclass关键字引关键字引出出JavaJava的类声明,后面直接跟上类名(的类声明,后面直接跟上类名(HelloWorldHelloWorld)。)。在这里需要注意的是,根据在这里需要注意的是,根据JavaJava命名的约定,命名的约定,JavaJava所有的所有的类名都以一个大写字母开头。以类名都以一个大写字母开头。以/开头的为程序中的注开头的为程序中的注释,称之为行末注释(或者单行注释)。其中释,称之为行末注释
30、(或者单行注释)。其中public public static void main(String argvstatic void main(String argv)为主方法,也是程序的为主方法,也是程序的入口点。含有入口点。含有main()main()主方法的类为主类,而这段代码中主主方法的类为主类,而这段代码中主方法中只是调用了方法中只是调用了System.out.println(HelloSystem.out.println(Hello World!) World!)这一句,用来输出一行字符串文本信息。这一句,用来输出一行字符串文本信息。1.5 Java1.5 Java开发工具概述开发工具
31、概述 JavaJava语言的开发方式是多种多样的,既可以使用语言的开发方式是多种多样的,既可以使用纯文本的编辑器编写,同时也可以使用集成开发纯文本的编辑器编写,同时也可以使用集成开发环境。与其他的编程语言不同,环境。与其他的编程语言不同,Java JDKJava JDK中只包中只包含了各种类库,并没有提供专门的开发工具。程含了各种类库,并没有提供专门的开发工具。程序员可以使用各种文本编辑器,甚至可以使用序员可以使用各种文本编辑器,甚至可以使用WindowsWindows提供的记事本来编写代码,在编写好之提供的记事本来编写代码,在编写好之后,需要在命令行输入相应的命令,来完成程序后,需要在命令行输入相应的命令,来完成程序的编译和运行。更多的程序开发是使用集成开发的编译和运行。更多的程序开发是使用集成开发工具。集成开发工具集成了软件开发、调试、部工具。集成开发工具集成了软件开发、调试、部署、管理等工具,同时为程序员提供了友好的交署、管理等工具,同时为程序员提供了友好的交互界面,可以提高软件项目的开发速度。互
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 10 If you go to the party,you will have a great time Section B 2a-2e 教学设计 2024-2025学年人教版八年级英语上册
- 分布式光伏电站实施可行性研究与设计方案(模板范文)
- 北斗产业示范基地项目可行性研究报告
- 年产400万套车用密封件项目可行性研究报告写作模板-备案审批
- 富硒食品轻食产业园项目可行性研究报告-立项备案
- 三年级下册美术教案|沪教版
- 福建省福州市2024-2025学年高一上学期期末考试地理试卷(解析版)
- 三年级信息技术下册 浏览图片教学设计 人教版
- 云南省2025届高三下学期3月大联考数学试卷(解析版)
- 上海市宝山区2025届高考二模数学试卷(解析版)
- 工商企业管理毕业论文19904
- 2025湖北随州国资本投资运营集团限公司人员招聘27人易考易错模拟试题(共500题)试卷后附参考答案
- 2025年许昌电气职业学院单招职业技能测试题库附答案
- 废料收购合同协议模板(简版)6篇
- 患者隐私保护培训课件
- 2025年洛阳科技职业学院单招职业倾向性测试题库及答案(历年真题)
- DBJ50-T-077-2019 建筑施工现场管理标准
- 压力容器使用安全管理要求和操作规程
- 2025新人教版七下英语单词默写表
- 领导下井带班作业管理制度
- 银行调动申请书
评论
0/150
提交评论