1、第 1章 Java语言概述 本章导读 1.Java语言的诞生 2.学习Java 的必要性 3.java 的特点 4.java 与C/C+ 之关系 5.Java运行平台 6.Java程序开发 7.SDK1.6编译器的新规定1.1 Java语言的诞生Java诞生于1995年,是Sun公司组织开发的一编程语言,主要贡献者是James Gosling 。 1990年Sun公司成立了由James Gosling领导的开发小组,开始致力于开发一种可移植的、跨平台的语言,该语言能生成正确运行于各种操作系统、各种CPU芯片上的代码。他们的钻研和努力促成了Java语言的诞生。Java的发展得利于Internet
2、和Web的出现,Internet上有各种不同的计算机,它们可能使用完全不同的操作系统和CPU芯片,但仍希望运行相同的程序,Java的出现标志着真正的分布式系统的到来。返回1.2 学习Java 的必要性Java不仅可以用来开发大型的桌面应用程序,而且特别适合于Internet 的应用开发。目前,Java 语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。Java 语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,而且很多新的技术领域都涉及到了Java 语言,因此,学习和掌握Java 已成为共识,国内外许多大学已将Java 语言列入了本科教学计划,IT
3、 行业对 Java人才的需求正在不断的增长,一些软件公司对其开发人员周期地进行Java 的基础培训工作。在IT 行业发达的北美洲,有将近60%的软件开发人员在使用 Java完成他们的工作,Evans Data 公司在2002年做的一项调查中发现,在北美洲,Java 的使用率已经接近 C/C+。返回1.3 java 的特点1平台无关性Java语言和其他语言相比,最大的优势就是能够在所有的计算机上运行,这也是Java 风靡全球的主要原因。2面向对象面向对象编程是一种先进的编程思想,更加容易解决复杂的问题。3多线程Java的特点之一就是内置对多线程的支持。多线程允许同时完成多个任务。4安全5动态返回
4、1.4 java 与C/C+ 之关系如果你学习过C+ 语言,你会感觉Java 很眼熟,因为Java中许多基本语句的语法和C+ 一样,像常用的循环语句、控制语句等和C+ 几乎一样,但不要误解为Java是C+ 的增强版,Java 和 C+是两种完全不同的语言,他们各有各的优势,将会长期并存下去,Java语言和C+ 语言已成为软件开发者应当掌握的语言。返回1.5 Java运行平台1) 三种平台简介目前 Java运行平台主要分为下列 3个版本: (Java SE(曾称作 J2SE) Java标准版或 Java标准平台。 Java SE提供了标准的JDK 开发平台,利用该平台可以开发 Java桌面应用程
5、序和低端的服务器应用程序,也可以开发Java Applet 。 Java EE(曾称作J2EE ) Java企业版或Java 企业平台,可以构建企业级的服务应用。 Java EE平台包含了 Java SE平台,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能。 Java ME(曾称作J2ME )Java 微型版或Java 小型平台。 Java ME是一种很小的Java 运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑或其他无线设备等 。2) 安装 Java SE平台学习Java 必须从 Java SE开始,因此,本书基于 Java SE来学习 Java。目前 Sun公司
6、已发布了 JDK的1.6 版本。如果安装 JDK选择安装到 E:Jdk1.6 目录下,则会生成如 图 1.1的目录结构。图1.1 JDK 目录结构3)系统环境Path 值的设置JDK平台提供的Java 编译器(javac.exe )和 Java解释器(java.exe)位于 Java安装目录的bin 文件夹中,为了能在任何目录中使用编译器和解释器,应在系统特性中设置Path。对于 Windows2000、Windows2003、Windows XP,用鼠标右键点击“ 我的电脑 ”,弹出菜单,然后选择“ 属性 ”,弹出“ 系统属性 ”对话框,再单击该对话框中的“ 高级” 选项,然后点击按钮“环境
7、变量 ”,添加如下的系统环境变量(如图1.2 所示):图1.2 设置环境变量path4)系统环境ClassPath 值的设置编辑系统环境变量ClassPath 的值。对于Windows 2000、 Windows 2003、 Windows XP,用鼠标右键点击 “我的电脑 ”,弹出菜单,然后选择属性,弹出“系统特性” 对话框,再单击该对话框中的高级选项,然后点击按钮 “环境变量” ,添加如下的系统环境变量(如 图 1.3所示): 如果曾经设置过环境变量:ClassPath,可点击该变量进行编辑操作,将需要的值加入即可。对于Win9x ,用记事本编辑Autoexec.bat 文件,将如下的设置
8、语句加入即可, set classpth=E:jdk1.6jrelibrt.jar;.;也可以在命令行窗口,如MS-DOS窗口键入命令:set classpth=E:jdk1.6jrelibrt.jar;.;图 1.3 设置环境变量classpath5)仅仅安装JRE如果你只想运行别人的Java 程序可以只安装 Java运行环境JRE,JRE由Java虚拟机、 Java的核心类以及一些支持文件组成。可以登录Sun的网站免费下载 Java的 JRE。返回1.6 Java程序开发1. Java应用程序的开发开发一个Java 应用程序的步骤:编写源文件编译源文件生成字节码加载运行字节码FileNam
9、e.javaFileName.class1) 编写源文件(1) 源文件的组成使用一个文字编辑器,如Edit 或记事本,来编写源文件。不可使用Word 编辑器,因它含有不可见字符。 Java是面向对象编程,Java 应用程序的源文件是由若干个书写形式互相独立的类组成。见例子 1(2) 应用程序的主类一个 Java应用程序必须有一个类含有public static void main( String args )方法,称这个类是应用程序的主类。 args是main方法的一个参数,是一个字符串类型的数组(注意 String的第一个字母是大写的),以后会学习怎样使用这个参数。(3) 源文件的命名规则源
10、文件有几个类?源文件名 =该类类名一个两个以上有 public类?没有源文件名 =类名之一有有几个public 类?一个两个以上源文件名 =该Public 类名这是不允许的!(4) 良好的编程习惯在编写程序时,一行最好只写一条语句,类体的以方法的大括号最好也独占一行,并有明显的缩进。本书在编写代码时,尽量遵守良好的编程习惯。良好的编程习惯对一个优秀的程序员是至关重要的!2)编译 Java源程序当创建了 Hello.java这个源文件后,就要使用编译器( javac.exe)对其进行编译:需要打开 MS-DOS命令行窗口,进入 C盘,然后进入到 1000 目录中,如 图 1.4所示。3)运行 J
11、ava程序Java应用程序必须通过Java 虚拟机中的Java解释器( java.exe)来解释执行其字节码文件。 Java应用程序总是从主类的 main方法开始执行。因此,必须如下运行 Java应用程序:C:1000java Hello运行效果如 图1.5 所示。当 Java应用程序中有多个类时,java 命令执行的类名必须是主类的名字(没有扩展名)。例:( 1)编译源文件c:1000javac Tom.java如果编译成功,你的目录1000 下就会有Tom.class和 Example.class这两个字节码文件了。( 2)执行c:1000java Examplejava 命令后的名字必须
12、是主类的名字,运行效果如图 1.6。返回2. Java Applet程序的开发开发一个Java Applet 程序需经过三个步骤:编写源文件、编译源文件生成字节码、通过浏览器加载运行字节码。(1 )编写源文件一个 Java Applet源文件也是由若干个类组成的,一个Java Applet 源文件不再需要main 方法,但必须有且只有一个类扩展了 Applet类,即它是 Applet类的子类( Applet类是系统提供的类),我们把这个类称作Java Applet源文件的主类。下面的例子2 是一个简单的 JavaApplet源文件。2)编译c:1000javac Boy.java编译成功后,文
13、件夹 C:1000下会生成一个Boy.class文件。如果源文件有多个类,将生成多个 class文件,都和源文件在同一文件夹里。如果你对源文件进行了修改,那么你必须重新编译,再生成新的字节码文件。3)运行Java Applet由浏览器来运行,因此我们必须编写一个超文本文件(含有 applet标记的web 页)通知浏览器来运行这个Java Applet 。下面是一个最简单的一个html 文件,通知浏览器运行Java Applet。我们使用记事本编辑如下:现在可以使用浏览器打开文件Boy.html 运行JavaApplet,效果如图1.7 所示。返回 如果你的浏览器不能运行你的 Applet(如没有安装浏览器,或浏览器没有内嵌的java 实时运行环境等),你也可以使用J2SE提供的appletviewer(小程序查看器)来运行你的Applet: C:tempappletviewer Boy.html1.7 JDK1.6编译器的新规定和以前版本的编译器有了一个很大的不同,JDK1.6的编译器 javac.exe不再向下兼容,也就是说,如果在编译源文件时没有特别约定的话,用JDK1.6 的编译器生成的字节码只能在安装了JDK1.6 或JRE1.6的Java平台环境中运行。可用“ -source”参数约定字节码适合的 Java平台。如javac source 1.2 返回