Java概述及开发环境搭建_第1页
Java概述及开发环境搭建_第2页
Java概述及开发环境搭建_第3页
Java概述及开发环境搭建_第4页
Java概述及开发环境搭建_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、第1章 Java概述及开发环境搭建通过本章的学习可以达到以下目标:þ 认识Java并了解其发展历史。þ 可以安装并配置Java开发环境。þ 掌握Java中Path及classpath属性的作用。þ 可以编写并运行一个简单的Java程序。þ 可以掌握Java的开发流程。Java是一门程序设计语言,其本身的发展经过了一系列的过程。本章将首先介绍Java的发展历程,让读者对Java有一个基本的认识,了解Java的主要作用,接着详细讲解Java开发环境的搭建,包括Java开发中一些基本的注意事项。本章视频录像讲解时间为35分钟,源代码在光盘对应的章节下

2、。1.1 认识Java1.1.1 什么是JavaJava是Sun(全称为Stanford University Network,1982年成立,Sun公司的Logo如 图1-1所示)公司开发出来的一套编程语言,主设计者是James Gosling(如图1-2所示),最早来源于一个叫Green的项目,这个项目原来的目的是为家用电子消费产品开发一个分布式代码系统,这样就可以通过网络对家用电器进行控制。开始Sun的工程师们准备采用C+,但由于C+过于复杂,安全性差,最后决定基于C+开发一种新语言Oak(Java的前身,1991年出现),Oak是一种用于网络的、精巧而安全的语言,Sun公司曾以此投标过

3、一个交互式电视项目,但结果被SGI打败。于是当时的Oak几乎“无家可归”,恰巧这时Mark Ardreesen开发的Mosaic和Netscape启发了Oak项目组成员,Sun的工程师们用Java编制了HotJava浏览器,得到了Sun公司首席执行官Scott McNealy的支持,触发了Java进军Internet。  图1-1 Sun公司Logo 图1-2 James GoslingJava语言发展到今天经历了一系列的过程,Java在1995年5月23日推出了JDK 1.0版本,此版本标志着Java正式进军Internet的开始,在1998年对之前的JDK进行了升级并推出了JDK

4、 1.2的开发包,该版本加入了大量的轻量级组件包,从此之后Java被正式命名为Java 2。Java语言发展到今天经历了以下3个发展方向。î J2SE:Java 2 Platform Standard Edition。包含构成Java语言核心的类,如数据库连接、接口定义、输入/输出和网络编程。î J2ME:Java 2 Platform Micro Edition。包含J2SE中一部分类,用于消费类电子产品的软件开发,如呼机、智能卡、手机、PDA和机顶盒。î J2EE:Java 2 Platform Enterprise Edition。Enterpri

5、se Edition(企业版)包含J2SE中的所有类,并且还包含用于开发企业级应用的类,如EJB、Servlet、JSP、XML和事务控制,也是现在Java应用的主要方向。虽然Java语言的发展方向有3个,但是这3门技术中最核心的部分是J2SE,而J2ME和J2EE是在J2SE基础之上发展起来的,3种技术的关系如图1-3所示。另外要提醒读者的是,在2005年Java十周年大会之后这3门技术又重新更名:î J2SE更名为JAVA SE。î J2ME更名为JAVA ME。î J2EE更名为JAVA EE。图1-3 3种技术的关系1.1.2 Java语言的特点Java语

6、言的许多有效的特性吸引着程序员们,下面介绍最主要的几个。1简洁有效Java语言是一种相当简洁的“面向对象”程序设计语言,它省略了C+语言中所有的难以理解、容易混淆的特性,如头文件、指针、结构、单元、运算符重载和虚拟基础类等,更加严谨、简洁。2可移植性对于一个程序员而言,写出来的程序如果不需要修改就能够同时在Windows、MacOS、UNIX等平台上运行,简直就是美梦成真,而Java语言就让这个原本遥不可及的事已经越来越近了。使用Java语言编写的程序,只要做较少的修改,甚至有时根本不需修改即可在不同平台上运行。3面向对象可以这么说,“面向对象”是软件工程学的一次革命,大大提升了人类的软件开发

7、能力,是一个伟大的进步,是软件发展的一个重大的里程碑。在过去的30年间,“面向对象”有了长足的发展,充分体现了其自身的价值,到现在已经形成了一个包含“面向对象的系统分析”、“面向对象的系统设计”和“面向对象的程序设计”的完整体系。所以作为一种现代编程语言,是不能够偏离“面向对象”这一方向的,Java语言也不例外。4解释型Java语言是一种解释型语言,相对于C/C+语言来说,用Java语言写出来的程序效率低,执行速度慢。但它可以通过在不同平台上运行Java解释器,对Java代码进行解释,来实现“一次编写,到处运行”的目标。为了达到目标,牺牲效率还是值得的,而且,现在的计算机技术日新月异,运算速度

8、也越来越快,用户不会感到太慢。5适合分布式计算Java语言具有强大的、易于使用的联网能力,非常适合开发分布式计算的程序。Java应用程序可以像访问本地文件系统那样通过URL访问远程对象。使用Java语言编写Socket通信程序比使用任何其他语言都简单。而且它还十分适用于公共网关接口(CGI)脚本的开发,另外还可以使用Java小应用程序(Applet)、Java服务器页面(Java Server Page,JSP)、Servlet等手段来构建更丰富的网页。6拥有较好的性能由于Java是一种解释型语言,所以它的执行效率相对就会慢一些,但由于Java语言采用了下面两种手段,使其拥有较好的性能。

9、38; Java语言源程序编写完成后,先使用Java伪编译器进行伪编译,将其转换为中间码(也称为字节码)再解释。î 提供了一种“准实时”(Just-in-Time,JIT)编译器,当需要更快的速度时,可以使用JIT编译器将字节码转换成机器码,然后将其缓冲下来,这样速度就会更快。7健壮、防患于未然的特征Java语言在伪编译时,做了许多早期潜在问题的检查,并且在运行时又做了一些相应的检查,可以说是一种最严格的“编译器”。它的这种“防患于未然”的手段将许多程序中的错误都扼杀在“摇篮”之中,经常有许多在其他语言中必须通过运行才会暴露出来的错误,在编译阶段就被发现了。另外,在Java语言中还具

10、备了许多保证程序稳定、健壮的特性,有效地减少了错误,也使Java应用程序更加健壮。8具有多线程处理能力线程是一种轻量级进程,是现代程序设计中必不可少的一种特性。多线程处理能力使程序具有更好的交互性、实时性。Java在多线程处理方面性能超群,具有让设计者惊喜的强大功能,而且在Java语言中进行多线程处理也很简单。9具有较高的安全性Java语言在设计时在安全性方面考虑得很仔细,做了许多探究,使Java语言成为目前最安全的一种程序设计语言。尽管Sun公司曾经许诺过:“通过Java可以轻松构建出防病毒、防黑客的系统”,但就在JDK(Java Development Kit)1.0发

11、布不久后,美国Princeton(普林斯顿)大学的一组安全专家发现了Java 1.0安全特性中的第一例错误。从此,Java安全方面的问题开始被关注。不过至今所发现的安全隐患都很微不足道,而且Java开发组还宣称,他们对系统安全方面的Bugs非常重视,会对这些被发现的Bugs立即进行修复。另外,由于Sun公司开放了Java解释器的细节,所以有助于通过各界力量共同发现、防范、制止这些安全隐患。10是一种动态语言Java是一种动态的语言,这表现在以下两个方面:î 在Java语言中,可以简单、直观地查询运行时的信息。î 可以将新代码加入到一个正在运行的程序中。11是一种中性结构Ja

12、va编译器生成的是一种中性的对象文件格式,也就是说,Java编译器通过伪编译后,将生成一个与任何计算机体系统无关的“中性”的字节码。这种中性结构其实并不是Java首创的,在Java出现之前UCSD Pascal系统就已在一种商业产品中做到了这一点,另外,在UCSD Pascal之前也有这种方式的先例,如在Niklaus Wirth实现的Pascal语言中就采用了这种结构降低一些性能,以换取更好的可移植性和通用性的方法。Java的这种字节码经过了许多精心的设计,使其能够很好地兼容于当今大多数流行的计算机系统,在任何机器上都易于解释,易于动态翻译成为机器代码。1.1.3 Java程序的运

13、行机制和Java虚拟机计算机高级语言类型主要有编译型和解释型两种,Java是两种类型的集合,在Java中处理代码的过程如图1-4所示。图1-4 Java程序的运行机制从图1-4中可以看出,在Java中源文件名称的后缀为.java,之后通过编译使*.java的文件生成一个*.class文件,在计算机上执行*.class文件,但是此时执行*.class的计算机并不是一个物理上可以看到的计算机,而是Java自己设计的一个计算机JVM,Java也是通过JVM进行可移植性操作的。图1-5 JVM基本原理在Java中所有的程序都是在JVM(Java Virtual Machine)上运行的。JVM是在一台

14、计算机上由软件或硬件模拟的计算机。Java虚拟机(JVM)读取并处理经编译过的、与平台无关的字节码class文件。Java解释器负责将Java虚拟机的代码在特定的平台上运行。JVM的基本原理如图1-5所示。从图1-5中可以发现,所有的*.class文件都是在JVM上运行的,即*.class文件只需要认识JVM,由JVM再去适应各个操作系统。如果不同的操作系统安装上符合其类型的JVM,那么以后程序无论到哪个操作系统上都是可以正确执行的。U提示:关于Java可移植性的简单理解。有些读者可能很难理解以上的解释,其实这个过程就类似于下面的一种情景:现在有一个中国富商,他同时要和美国、韩国、俄罗斯、日本

15、、法国、德国等几个国家洽谈生意,可是他不懂这些国家的语言,所以他针对于每个国家请了一个翻译,他说的话就只对翻译说,不同的翻译会将他说的话翻译给不同国家的客户,这样富商只需要说一句话给翻译,那么就可以同几个国家的客户沟通了。1.2 Java开发环境搭建Java的开发环境主要使用JDK,本书中使用的JDK版本是JDK 1.6版本。读者可以直接从Sun公司的官方网站(如图1-6所示)中下载此版本,网址为。图1-6 Sun公司网站首页1.2.1 JDK的安装与配置安装JDK分为以下两个步骤:(1)首先要准备好JDK的安装文件jdk-6u11-windows-i586-p.exe。(2)配置环

16、境变量Path。在安装JDK时会让用户选择JDK和JRE的安装目录,本次安装目录使用的是默认的安装目录,如图1-7图1-10所示。JDK安装完成之后,即可看到如图1-10所示的安装文件夹,其中的bin文件夹是将来要使用的各种Java命令,但是这些命令本身并不在Windows环境之中,所以如果要想使用这些命令,则首先必须在Windows中注册此命令。    图1-7 选择JDK的安装目录         图1-8 选择JRE的安装目录     图1-9 JDK和JRE

17、安装完成   图1-10 JDK安装后目录设置Path的流程为:选择【我的电脑】【属性】命令,打开【系统属性】对话框,如图1-11所示,选择【高级】选项卡,单击【环境变量】按钮,打开【环境变量】对话框,在其中可以编辑Path信息,如图1-12所示。在编辑Path时,可以直接设置Java的安装路径。即在【环境变量】对话框中单击【系统变量】栏中的【编辑】按钮,弹出【编辑系统变量】对话框,在【变量值】文本框的最后加上路径,在加之前使用“;”将之前的路径分隔开,如加入内容“; D:Javajdk1.6.0_11bin”,如图1-13所示。设置完后单击【确定】按钮即可保存设置,然后启动cmd命

18、令行方式,输入javac,如果出现如图1-14所示的内容,则表示JDK配置成功。  图1-11 【系统属性】对话框        图1-12 【环境变量】对话框   图1-13 设置path路径     图1-14 JDK配置成功演示%注意1:Path修改之后要重新启动命令行方式。有些读者在进行环境设置时可能会出现此命令不是系统内部命令的提示,有可能造成这种问题的原因是,在配置环境属性之前命令行方式已经启动,之后再配置的Path路径,则此环境肯定是无法立即生效的,此时可以重新启动命令行方式,即可

19、把新的设置读取进来。%注意2:javac命令的作用。javac.exe是Java本身提供的编译命令,主要目的是用来将*.java文件编译成*.class文件,此命令本身不属于Windows,所以在使用时需要单独配置,此命令的具体用法将在后面介绍。1.2.2 编写第1个Java程序 Java程序分为两种类型,一种是Application程序,另外一种是Applet程序,其中有main方法的程序主要都是Application程序,本书也主要使用Application程序进行讲解,Applet程序主要应用在网页编程上,现在已经基本上不再使用,所以本书不再作任何介绍。本书还是以输出“Hello Wor

20、ld!”字符串为第1个程序,代码如下所示。范例:Hello.javapublic class Hello public static void main(String args)System.out.println("Hello World!");将上面的程序保存为Hello.java,然后按照以下步骤进行操作:图1-15 运行Hello.java程序(1)在命令行方式下,进入到程序所在的目录,执行javac Hello.java命令,对程序进行编译,编译完成之后可以发现在目录之中多了一个Hello.class的文件,此文件就是最终要使用的文件。(2)程序编译之后,输入ja

21、va Hello,执行程序,即可得到程序的输出结果。具体的操作过程可以参考图1-15完成。程序输出结果:Hello World!程序说明: 在所有的Java Application中,所有程序都是从public static void main(String args)开始运行的,刚接触的读者可能会觉得有些难记,在后面的章节中将会详细讲解main方法的各个组成部分。此时读者如果对上面的程序不明白也没有关系,只要将程序在电脑中输入,然后按照步骤编译、执行即可,在这里只是让读者对Java Application程序有一个初步印象,因为以后所有的内容讲解的都将围绕Java Application程序

22、进行。U提示:注意程序中的大小写。读者在编写以上程序时一定要注意字母的大小写问题,因为在Java中是严格区分大小写的。另外,为了方便代码的运行,建议在此处按照本书所提供的代码样式进行编写。1.2.3 classpath属性的作用在Java中可以使用set classpath命令指定Java类的执行路径。下面通过一个例子来了解classpath的作用,假设这里的Hello.class类位于f:test目录下。在D盘的命令行窗口执行下面的指令:set classpath=f:test图1-16 classpath设置然后在D盘根目录下执行java Hello命令,如图1-16所

23、示。由上面的输出结果可以发现,虽然在D盘中并没有Hello.class文件,但是也可以用java Hello执行Hello.class文件,之所以会有这种结果,就是因为在操作中使用了set classpath命令将类的查找路径指向了f:test目录,所以在运行时,会从f:test目录查找所需要的类。U提示:classpath与JVM的关系。classpath主要指的是类的运行路径,实际上在读者执行Java命令时,对于本地的操作系统来说就意味着启动了一个JVM,那么JVM在运行时需要通过classpath加载所需要的类,而默认情况下classpath是指向当前目录(当前命令行窗口所在的目录)的,所以会从此目

温馨提示

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

评论

0/150

提交评论