第 1 章 JAVA语言概述_第1页
第 1 章 JAVA语言概述_第2页
第 1 章 JAVA语言概述_第3页
第 1 章 JAVA语言概述_第4页
第 1 章 JAVA语言概述_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、第 1 章 JAVA语言概述Java面向对象程序设计面向对象程序设计1996年Java第一次发布就引起了人们的极大兴趣。 Java以其固有的可靠性与安全性不仅令Java程序员放心,也令用Java程序的用户放心。它内建了对网络编程、数据库连接、多线程等高级程序设计任务的支持。对于程序设计人员来说,使用Java无疑是一个好的选择。通过本章的学习,你将了解以下内容:nJava语言的产生nJava语言的特点nJava运行环境nJava开发环境n初步了解Java程序1.1 Java语言的产生语言的产生JAVA是由美国Sun公司1995年发布的,其前身是名叫Oak的软件,是一种面向对象的程序设计语言。因其

2、具有跨平台型、面向对象、安全性高等特点非常符合互联网的需要 ,所以一经问世就引起计算机行业的革命。业界一般认为:B语言导致了C语言的诞生,C语言演变出了C+语言,而C+语言将让位于Java语言。 1.1.1 现代编程语言:现代编程语言:C语言语言19891989年年1212月,美国国家标准化组织(月,美国国家标准化组织(ANSIANSI)制定了)制定了C C语言的标准,语言的标准,C C语言被正式标准化。许多人认为语言被正式标准化。许多人认为C C语言的产生标志着现代计算机语言的产生标志着现代计算机语言时代的开始。语言时代的开始。C C语言是功能强大、高效的结构化语言,简单易语言是功能强大、高

3、效的结构化语言,简单易学,而且还有一个更重要的特点:它是程序员自己的语言。学,而且还有一个更重要的特点:它是程序员自己的语言。 1.2 面向对象程序设计语言:面向对象程序设计语言:C+C+19791979年,当年,当Bjarne StroustrupBjarne Stroustrup在新泽西州的在新泽西州的Murray HillMurray Hill实验实验室工作时,发明了室工作时,发明了C+C+。C+C+通过增加面向对象的特性扩充了通过增加面向对象的特性扩充了C C。C+C+不仅具有不仅具有C C语言的所有优点,而且突破程序代码行的限制,语言的所有优点,而且突破程序代码行的限制

4、, 帮助程序员理解并管理更大的程序。帮助程序员理解并管理更大的程序。1.1.3 1.1.3 互联网与互联网与JavaJava在经历了以大型机为代表的集中计算模式和以在经历了以大型机为代表的集中计算模式和以PCPC机为代表机为代表的分散计算模式之后,互联网的出现使得计算模式进入了网的分散计算模式之后,互联网的出现使得计算模式进入了网络计算时代。网络计算模式的另一个特点是代码可以通过网络计算时代。网络计算模式的另一个特点是代码可以通过网络在各种计算机上进行迁移,这就迫切需要一种跨平台的编络在各种计算机上进行迁移,这就迫切需要一种跨平台的编程语言,使得用它编写的程序能够在网络中的各种计算机上程语言,

5、使得用它编写的程序能够在网络中的各种计算机上能够正常运行,能够正常运行,JavaJava就是在这种需求下应运而生的就是在这种需求下应运而生的。1.2 Java语言的特点语言的特点1.简单、面向对象和为人所熟悉简单、面向对象和为人所熟悉 Java采用的是相对简单的面向对象技术,去掉了运算符重载、多继承的复杂概念,而采用了单一继承、类型强制转换、多线程、引用(非指针)等方式。无用内存自动回收机制也使得程序员不必费心管理内存,是程序设计更加简单,同时大大减少了出错的可能。 2. 健壮并且安全健壮并且安全 作为一种强制类型语言,Java在编译和连接时都进行大量的类型检查,防止不匹配问题的发生。在Jav

6、a程序中不能采用地址计算的方法通过指针访问内存单元,大大减少了错误发生的可能性;而且Java的数组并非用指针实现,这样就可以通过检查避免数组越界的发生。无用内存自动回收机制也增加了Java的健壮性。3.3.结构中立并且可以移植结构中立并且可以移植 任何种类的计算机,只有在其处理器和操作系统上有Java运行时环境,字节码文件就可以在该计算机上运行。 Java运行时系统可以移植到不同的处理器和操作系统上。4.高性能高性能 Java字节码格式的设计就是针对机器码的转换,实际转换时相当简便,自动的寄存器分配与编译器对字节码的一些优化可使之生成高质量的代码。随着Java虚拟机的改进和即时编译(Just

7、In Time)技术的出现,使得Java的执行速度有了更大的提高。5.5.解释执行、多线程并且是动态的解释执行、多线程并且是动态的 (1) 全局变量全局变量 JavaJava程序不能定义程序的全局变量,而类中的公共、静态变量就相当程序不能定义程序的全局变量,而类中的公共、静态变量就相当于这个类的全局变量。这样就使全局变量封装在类中,保证了安全性,于这个类的全局变量。这样就使全局变量封装在类中,保证了安全性, (2) 条件转移指令条件转移指令 C/C+C/C+语言中用语言中用gotogoto语句实现无条件跳转,而语句实现无条件跳转,而JavaJava语言没有语言没有gotogoto语语言,通过异

8、常处理语句言,通过异常处理语句trytry、catchcatch、finallyfinally来取代之,提高了程序的可读来取代之,提高了程序的可读性,也增强了程序的健壮性。性,也增强了程序的健壮性。 (3)指针指针 指针是指针是C/C+C/C+语言中最灵活,但也是最容易出错的数据类型。在语言中最灵活,但也是最容易出错的数据类型。在JavaJava中,程序员不能进行任何指针操作,同时中,程序员不能进行任何指针操作,同时JavaJava中的数组是通过类来实现的中的数组是通过类来实现的.(4)内存管理内存管理在Java中,所有的数据结构都是对象,通过运算符new分配内存并得到对象的使用权。 (5)

9、数据类型的一致性数据类型的一致性 在Java中,对数据类型的位数分配总是固定的,而不管是在任何的计算机平台上。因此就保证了Java数据的平台无关性和可移植性。(6)类型转换类型转换 Java语言中系统要对对象的处理进行严格的相容性检查,防止不安全的转换。 (7) 头文件头文件 Java不支持头文件,类成员的类型和访问权限都封装在一个类中,运行时系统对访问进行控制,防止非法的访问。同时,Java中用import语句与其它类进行通信,以方便访问其它类的对象。(8)结构和联合结构和联合 JAVA通过类把数据结构及对该数据的操作都封装在类里面。(9)预处理预处理 Java不支持宏定义在多线程机制中,不

10、同的线程处理不同的任务,互不干涉,不会由于某一任务处于等待状态而影响了其它任务的执行,这样就可以容易的实现网络上的实时交互操作 .1.3 Java运行环境运行环境3.1 Java虚拟机虚拟机Java虚拟机是软件模拟的计算机,可以在任何处理器上(无论是在计算机中还是在其它电子设备中)安全并且兼容的执行保存在.class文件中的字节码。Java虚拟机的“机器码”保存在.class文件中,有时也可以称之为字节码文件。Java程序的跨平台主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成特定的机器码运行。但Java虚拟机不是

11、跨平台的。在UNIX、Linux、windows和部分实时操作系统上可以有Java虚拟机的实现。 1.3.2 无用内存自动回收机制无用内存自动回收机制在程序的执行过程中,部分内存在使用过后就处于废弃状态,如果不及时进行无用内存的回收,就会导致内存泄漏,进而导致系统崩溃。在C语言中是由程序员进行内存回收的,程序员需要在编写程序的时候把不再使用的对象内存释放掉;而在Java运行环境中,始终存在着一个系统级的线程,专门跟踪内存的使用情况,定期检测出不再使用的内存,并进行自动回收,避免了内存的泄露,也减轻了程序员的工作量。1.3.3 代码安全性检查机制代码安全性检查机制字节码的执行需要经过三个步骤,首

12、先由类装载器(class loader)负责把类文件(.class文件)加载到Java虚拟机中,在此过程中需要检验该类文件是否符合类文件规范;其次字节码校验器(bytecode verifier)检查该类文件的代码中是否存在着某些非法操作,例如applet程序中写本机文件系统的操作;如果字节码校验器检验通过,由Java解释器负责把该类文件解释成为机器码进行执行。Java虚拟机采用的是“沙箱”运行模式,即把Java程序的代码和数据都限制在一定内存空间里执行,不允许程序访问该内存空间外的内存,如果是applet程序,还不允许访问客户端机器的文件系统。1.4 Java开发环境开发环境Java不仅是编

13、程语言,还是一个开发平台, Sun公司把Java平台划分成J2EE、J2SE、J2ME三个平台,针对不同的市场目标和设备进行定位。Java技术给程序员提供了许多工具:编译器、解释器、文档生成器和文件打包工具等等。同时Java还是一个程序发布平台,有两种主要的“发布环境”,首先Java运行时环境(Java runtime environment,简称JRE)包含了完整的类文件包,其次许多主要的浏览器都提供了Java解释器和运行时环境。 J2EE是Java2 Enterprise Edition,主要目的是为企业计算提供一个应用服务器的运行和开发平台。J2SE是Java2 Standard Edi

14、tion,主要目的是为台式机和工作站提供一个开发和运行的平台。我们在学习Java的过程中,主要是采用J2SE来进行开发。J2ME是Java2 Micro Edition,主要面向消费电子产品,为消费电子产品提供一个Java的运行平台,使得Java程序能够在手机、机顶盒、PDA等产品上运行。 1.4.1 JDK的下载和安装的下载和安装1. 在浏览器中输入http:/J 在页面右边Popular Download栏中可看到最新版的SDK软件包。单击“Java SE”超链接,可看到下图所示页面。3. 单击“Download”按钮,出现下图;选中“Accept License Agrement”单选按

15、钮。JDK有两种安装方式,一种是在线安装(Windows Online Installation);另一种是离线安装(Windows Offline Installation)。这里我们选择离线安装,单击“Windows Offline Installation Multilanguage”,下载“jdk-6-windows-i586.exe”到本地磁盘保存。4. 运行下载“jdk-6-windows-i586.exe”软件包,将会出现一个“许可证协议”的界面,如下图所示,单击“接受”按钮继续,按照安装提示进行安装即可。为JDK指定安装目录,默认是“C:Program FilesJavajdk

16、1.6.0”,如果你想修改安装路径,就单击“更改”按钮。如下图所示,安装路径选择好后,按“下一步”按钮继续。同时,安装程序允许选择要安装的组件。如下图所示,在想安装的组件前面单击鼠标进行选择。可选组件包括:开发工具Java(TM)SE Development Kit6,包括专用的JRE6,必选组件。演示程序及样例包含源代码的小程序和应用程序的演示和样例,可选组件。源代码构成Java公共API的类的源代码,可选组件。公共JRE独立JRE。任何应用程序均可使用此JRE。此JRE向浏览器和系统注册Java插件和Java Web Start。可以单独将其从JDK中卸载,建议选中。选择完合适的安装组件后

17、,单击“下一步”按钮。显示如下界面:最后,单击“完成”按钮,JDK安装结束。JDK包含了编写、运行Java程序所需要的工具:Java基本组件、库、Java编译器、Java解释器、小应用程序浏览器,以及一些用于开发Java应用程序的工具。其核心Java API是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。JDK 6的目录结构如下图所示: bin子目录 开发工具,指工具和实用程序,可帮助你开发、执行、调试和保存以Java编程语言编写的程序。 jre子目录 运行时环境,包含Java虚拟机、类库以及其他文件,可支持执行以Java编程语言编写的程序。 lib子目录 附加库,开发工具需

18、要的附加类库和支持文件。 demo子目录 演示applet和应用程序,带有源代码的Java平台编程实例,包括使用Swing和其他Java基类的示例。 include子目录 C头文件,支持使用Java本机界面及Java 2平台的其他功能进行本机代码编程的头文件。 src子目录 (位于src.zip中)组成Java 2 核心API所有类的Java编程语言源代码。此源代码仅用于提供信息,以便帮助开发者学习和使用Java编程语言。1.4.2 JDK环境变量的设定环境变量的设定安装完JDK(JDK6)后,需要设置计算机系统的环境变量。本机使用的是Windows XP操作系统,设置JDK环境变量的步骤如下

19、:1. 选中“我的电脑”,右击选择“属性(R)”,如下图所示。2. 在弹出的“系统属性”对话框中选择“高级”选项卡,单击“环境变量(E)”按钮,如下图所示。3. 在“用户变量”选项区域中选择Path变量,然后单击“编辑”按钮,出现“编辑用户变量”,在“变量值”文本框中插入“C:Program FilesJavajdk1.6.0bin;”,如下图所示。4. 4. 用同样的方法设置环境变量classpath,其值为“.;C:Program FilesJavajdk1.6.0lib”(包括两项:当前目录以及JDK附加库,当前目录用分号前面的点表示,分号后是JDK附加库)。如果用户变量列表中没有cla

20、sspath,单击“新建”按钮创建新的用户变量classpath。5. 5. 设置完成后,单击“开始”-“所有程序”-“附件”-“命令提示符”打开Dos窗口,在命令提示符下输入“Java”或“Javac”回车后,如果出现其用法参数提示信息,则配置正确,如下图所示。1.4.3 Eclipse的下载、安装及汉化的下载、安装及汉化Eclipse是一个非常优秀的集成开发环境, Eclipse是一个用于构建Web和应用程序开发工具的平台,它本身并不是提供大量的最终用户功能,而是通过插件来快速开发集成功能部件。下面简单介绍Eclipse的下载及安装过程, 1.1. 下载英文版Eclipse。进入Eclip

21、se的官方网站,下载最新的Eclipse 3.x,单击“All versions”可以看到以往的所有版本。我们下载的文件是eclipse-SDK-3.2.2-win32.zip 。2. 2. 下载Eclipse多语言包。在“All versions”页面可以看到“3.2.1_Language_Packs”,单击这个链接进入下载页面,只需要把NLpack1-eclipse-SDK-3.2-win32.zip 下载下来,因为这个语言包包含了简繁中文。3. 3. 安装英文版Eclipse。Eclipse是绿色软件,不用复杂的安装过程,只需点击下载文件ecli

22、pse-SDK-3.2.2-win32.zip,解压到指定盘符下,例如“C:”,即可完成英文版Eclipse的安装。后进入Eclipse目录,双击eclipse.exe就可以使用,不过这时启动的是英文版。当然前提是已正确安装了JDK,推荐JDK5.0及其以上。Eclipse的目录结构如下图所示:4中文版的安装。中文版必须在英文版安装完成后再安装。如果使用的是Windows XP,中文版安装过程如下,在eclipse文件夹下,新建language和links文件夹,把汉化包NLpack1-eclipse-SDK-3.2-win32.zip里面eclipse文件夹中的两个文件夹featuresp和

23、plugins复制到eclipselanguage里面;在links文件夹里用记事本写path=C:eclipselanguage(这是本机的安装路径,大家写路径就根据自己放的位置改),并保存为language.link。如果使用的是Windows 2000及以上的版本,中文版安装过程就比较简单,直接把汉化包NLpack1-eclipse-SDK-3.2-win32.zip解压到eclipse文件夹中,覆盖两个同名文件夹featuresp和lugins 即可。5启动Eclipse,双击eclipse文件夹下面的eclipse.exe执行文件,即可启动Eclipse,这时会出现一个很酷的月食画面

24、,如下图所示。再设定工作目录后,Eclipse会显示它的缺省用户界面,注意这时是中文见面,如下图所示。1.5 初步了解初步了解Java程序程序Java程序分为Java application(Java 应用程序)和Java applet(Java小应用程序)两种。 5.1 第一个第一个Java ApplicationJava Application在Java中,程序都是以类的方式组织的,Java源文件都保存在以Java为后缀的.Java文件当中。经编译后生成的每个可运行的程序都是一个类文件,或者称之为字节码文件,保存在.class文件中。而作为一个Java application

25、,类中必须包含主方法,程序的执行是从main方法开始的,方法头的格式是确定不变的:public static void main(String args)其中关键字public意味着方法可以由外部世界调用。main方法的参数是一个字符串数组args,虽然在本程序中没有用到,但是必须列出来。System.out.println(“欢迎你学习Java语言!”),在屏幕上打印“欢迎你学习Java语言!”文字。下面让我们编写一个Java应用程序,它能够利用来自Java标准库的System对象的“println”方法,在屏幕上打印“欢迎你学习Java语言!”。 * (#)Hello.Java 1.00

26、07/03/05 * * Copyright (c) 青岛滨海学院 计算机科学技术系 * 山东青岛经济技术开发区 嘉陵江西路425号. * All rights reserved. * * 下面程序利用Java标准库的System对象的“println”方法, * 在屏幕上打印“欢迎你学习Java语言”。*/package Java.bh;/* *Hello.Java. * * version 1.00 15 Mar 2007 * author Liu qingwu */public class Hello /* * .缺省构造函数. */ public Hello() /* * .主方法(程

27、序执行入口). */ public static void main(String args) System.out.println(“欢迎你学习Java语言!”);/* 在屏幕上打印“欢迎你学习Java语言”.*/ 1.5.2 使用记事本和使用记事本和JDK命令行工具编写命令行工具编写Java程序程序集成开发环境对于编写简单的程序来说显得有点笨重,而且使用它们速度比较慢,需要高性能的计算机。对于初学者来说,使用简单编辑工具以及JDK自带的命令行工具进行简单程序设计培养良好的编程习惯有很大帮助。1. 1. 使用记事本编辑源程序(Hello.java)。2. 使用Java编译器(javac.exe),将Hello.java编译器成字节码文件Hello.class。3. 使用Java解释器(java.exe)解释执行Hello.class字节码文件,如下图所示。1.5.3 使用使用Eclipse中的中的JDT编写编写Java程序程序“Java开发工具”(JDT)是随Eclipse平台一起交付的全功能的Java

温馨提示

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

评论

0/150

提交评论