JAVA讲义1

来源:互联网 发布:单片机工资怎么样 编辑:程序博客网 时间:2024/06/10 15:09

1Java语言概述

通过本章的学习了解Java语言的发展、特点以及JavaC++的不同之处,掌握Java应用程序的一般结构以及Applet小程序如何生成的方法。通过技能训练,掌握Java运行环境的基本使用方法。

 

 

 


1.1 Java语言简介

1.1.1 Java语言的发展

Java语言的前身被称为是Oak语言,它是由美国Sun Microsystem公司于1991年开发的一个称为“Green”的软件项目,该项目的本意是开发一个用于消费类电子产品的与平台无关的软件技术。从那以后,Oak语言一直被认为是用来开发消费类电子产品和交互式电视控制器的工具。1994年,Sun公司的两个开发人员在Oak的基础上创建了HotJava的第一个版本,当时称为Webrunner,即在Web上使用的图形浏览器,经过一段时间后才称为Java19955月,Sun公司对外正式发布了Java语言,随后立即得到了各WWW厂商大力支持,纷纷在浏览器上加入Applet小程序(用Java语言编写的小应用程序),并通过Internet在世界各地进行传播。

Java语言发展到目前为止,有4个主要的版本:Java 1.0(1995)Java 1.11997年),带有SDK1.2Java 21998年)和带有SDK1.3Java 22000年)。

实际上,Java语言是和Internet同步发展起来的一种新型网络语言,是近20年来计算机软件环境中的最有意义的进步之一。Java语言在网络中的地位同超文本链接标注语言HTMLHypertext Markup Language)一样重要。Java语言是一种强有力的网络编程语言,它最大限度地利用了网络资源,Applet小程序可以跨平台、跨操作系统,跨网络地运行,由于Applet代码小,易于在网络上快速地下载和发送,且具有不需要修改应用程序就可以增加Web页的新功能。Java还为编程技术人员提供了许多公用的系统接口。随着Internet在全世界范围内的广泛流行,以及在各个领域的渗透,Java语言已被各行各业的人士所接受。

1.1.2 Java语言的特点

       Java语言之所以被人们广泛认可,是因为它具有许多先进的技术特点:

1.移植性好

我们知道,Internet网上运行着数以万计的各种各样的计算机系统,这些系统上的计算机软、硬件千差万别。要让应用软件在网络上任何一种计算机系统中都能正常地运行,就必须保证使应用软件的移植性要好。也就是说,应用软件本身不受计算机硬件和操作系统的限制(即与平台无关),软件代码可以在不同的计算机环境中正常地运行。Java语言就是一种与平台无关、移植性好的编程语言,在源程序级就保证了其基本数据类型与平台无关。Java源程序经编译后产生的二进制代码是一种与具体指令无关的指令集合,通过Java虚拟机(Java Virtual MachineJVM),可以在不同的平台上运行。

2.纯面向对象技术

Java是一种完全面向对象的程序设计语言(Oriented Obiect ProgrammingOOP)Java语言代码以类的形式组成。Java删除了C++中非面向对象的特性,使得应用程序的开发变得十分容易。Java面向对象技术的特征主要有封装性、继承性和多态性,本书在以后的内容将详细介绍。

3.分布式

Java语言中提供了一个支持HTTPFTP等基于TCP/IP协议的类库,通过这些类库,Java应用程序可以通过URL打开并访问网络上的对象。因此,用Java语言可以很方便地编写适合Internet和分布式环境下的应用程序。

4.安全性

分布式计算环境要求软件具有高度的稳定性和安全性。Java语言具有强大的安全结构和安全策略。Java之所以具有高质量的安全性,是因为采取了以下一些措施:

(1)取消了指针操作,不允许直接对内存进行操作。

(2)实现内存管理自动化,内存布局由JVM决定。

3 提供了字节码检验器,以保证程序代码在编译和运行过程中接受一层层的安全检查,这样可以防止非法程序或病毒的入侵。

4)提供了文件访问控制机制,严格控制程序代码的访问权限。

5)提供了多种网络软件协议的用户接口,用户可以在网络传输中使用多种加密技术来保证网络传输的安全性和完整性。

5.编译和解释的结合性

Java是一种编译和解释相结合的语言。一个Java语言源程序要运行,必须先由Java编译器编译成字节码(ByteCode),即文件扩展名为.class。这个字节码文件不是最终的执行程序,不能在具体平台上运行,而必须再由运行系统上的字节解释器将其翻译成机器语言,达到边翻译边执行程序的目的。由于这个解释过程是在编译后的字节码上进行的,所以运行速度仍然相当快。

1.1.3 JavaC++的比较

       C++语言适应了软件工程界的面向对象的新潮流,但是C++并不能真正满足面向对象的程序,它保留了许多非面向对象的特点。而Java语言实现了纯面向对象的特点,使得它较C++语言更为简单,更为人们所接受。

       Java语言的起源与发展来看,一方面,它由C++发展而来,其语言风格与C++十分相似;另一方面,Java又比C++简单,它删除了C++中难理解、易引起安全隐患的内容。JavaC++的区别主要表现在以下几个方面:

1.指针

指针和内存地址是C++中最有效也是最有害的特性。不正确的指针操作会引起许多错误。在Java中不允许直接使用指针。

2.内存分配

C++中的内存分配与指针操作有同样的危险,其内存分配是通过malloc()free()库方法以及newdelete两个运算符来实现,程序员需要自己释放空间。Java语言中没有mallocfree函数。由于每个复杂的数据结构都是对象,它们通过new运算符在内存上分配空间,一旦不再访问对象,占据的内存空间就会自动被收回,根本不需要人为干预。

3.全局变量

C++全局变量作为程序的状态信号没有很好地进行封装。Java语言只有类是全局的,不可能创建一个不属于任何类的全局变量。

4.数据类型

不同的C++编译器根据不同机器的实际配置分配给数据类型以不同的字长。Java语言所给定的基本数据类型确定了一个合理的字长并保持不变,Java语言解释器的这种严格与硬件无关的数据类型很难对代码进行优化和实现,Java语言的数据类型是很脆弱的,但这是唯一能够保证跨平台实现的途径。

5Goto

C++引入异常处理之前,goto经常被用来在异常处理中跳出循环。Java语言没有goto语句,它严格定义的异常处理机制使goto没有再存在的必要,取消这种随意跳转的语句有利于优化代码以及保持系统的稳定性和安全性。

6.头文件

C++有由include引用的头文件,Java语言没有头文件,但Java语言有由import引入的程序包。

7.多重继承

C++具有多重继承的特性,Java语言不直接支持多重继承。

1.1.4 面向对象编程的几个基本概念

       面向对象编程技术是当今软件开发中常用的技术之一。Java语言是一种新型的纯面向对象的程序设计语言,它使用一种被称为“类(class)”的软件对象,其代码可重用和可扩展,可以将这些由变量和方法组成的类作为一个模板,在这些模板上增加其他功能又可以创建用户自己需要的新类,无须重写许多代码,因此,应用程序的开发变得容易。面向对象编程常常涉及的几个主要概念如下:

1.对象

对象(object)可以是现实生活中的任何物体,例如,一本书、人或动植物、计算机等都是现实生活中的对象,一些看不见的事务、规则也是客观存在的对象。任何一个物体都包括两个基本方面,一个是物体的内部构成(例如,组成飞机的各个部件),另一个是物体的行为,即对该物体内部构成成分的操作或与外界信息的交换(例如,飞机的发动、起飞等)。与物体的两个基本面相对应,OOP中的对象也有两个基本的成分:数据和方法。数据表示对象的构成,方法表示对象的行为。

2.

(class)是一组具有相同基本成分的对象集合。例如,大学由许多具体的学校组成,大学就是一个类,而具体的北京大学就是大学类的对象。

类是一种最基本、最重要的数据类型。作为一种数据类型,在程序中必须定义相应类型的数据,类所定义的数据被称为这个类的实例(instance)或对象。类有两种基本成分:数据和方法,它们被封装在类的体内,与外界分隔开。数据是类的成员,它可以是基本类型的数据(例如,intchar等),也可以是一个类的实例。方法也是类的成员,它用于处理该类的数据,类的方法与其他语言中的函数很相似,具有方法的名称、参数、方法体和返回值等。

3.封装

封装(encapsulation)是把类(或对象)的基本成分(数据和方法)封装在类体(或对象体)内,使之与外界分隔开来。

一般地,类中具有隐藏复杂性的机制。类中的每个方法或变量都可以被定义为公有或私有。类的公有部分可以让外界的用户知道或必须知道,公有的实例变量和方法是一个类与外部的接口,应用程序通过这个接口使用类的功能;而定义私有的方法和实例数据则不能被类外部的其他代码所访问。

在进行OOP编程时,首先需要定义类,并指出类的名称、数据成员和方法,确定类成员被访问的权限等;其次,利用类创建相应的实例(或对象);最后,在程序运行时,由系统根据需要与对象交换信息。

4.继承

继承(inherit)指在已有类的基础上建立一个新类。新类自动拥有父类的所有方法和实例变量,然后再根据需要,添加新任务所需的方法或实例变量。

一个不由其他类派生来的类称为基类;一个派生类的最近父亲(其最近的上层类)叫做该类的父类;从某一类派生出来的类叫做该类的子类。在Java语言中,一个父类可以有多个子类,但一个子类只能从一个父类继承而来,即指一个子类不能有一个以上的父类,这就是说Java语言不支持多重继承。为了解决多重继承的问题,Java语言中引入了接口的概念,并克服了多重继承的复杂性。

合理使用继承可以减少很多的重复劳动。如果在一个类中实现了一个特别的功能,那么在它的派生类中就可以重复使用这些功能,而不需要重新编程来实现。可以用Java语言的内置类创建派生类,也可以对用户自己创建的类建立派生类。

继承和封装具有很好的合作性。如果一个给定的类封装了某些属性,那么任何子类将继承这些属性。

5.多态性

多态性(polymophism)是指在一个类中可以有多个名字相同,但参数的类型和数量不同的实现方法。调用这些方法时,其方法的参数类型和数量决定了是调用哪一个方法,这样不仅简化了方法的实现和调用,也便于记忆。

方法的覆盖(或重写)是指在继承的过程中,子类可以重新定义父类的某些方法,实现自己需要的功能。

Java语言中,通过方法重载(overloading)和覆盖(overriding)实现多态性。方法重载是指多个方法具有相同的名称,但各个方法的参数不同。调用方法时,系统根据实际参数自动选择相应的方法。

1.1.5 Java语言的用途

Java语言由于具有与平台无关的特点及完备的面向对象特性,因此越来越受到开发人员的喜爱和认可,也决定了Java语言的特殊用途。Java语言应用的领域包括很多,但它的侧重面与其他语言不同,希望读者通过本书的学习后,掌握与下面主要应用有关的知识。

1Java语言可以方便地增加Internet/Intranet网页的功能

Java语言编制的Applet小程序执行结果的表现形式是基于Web页面的网页,它可以很方便地嵌入到HTML代码中,并且很容易被调用并实现其功能。目前,人们对网页十分熟悉,可以利用一些流行工具来制作网页,如果利用Java Applet小程序可以扩充网页的功能,丰富网页内容。

2Java语言可以方便地实现多种任务的并行工作

许多语言都具备实现多任务并行工作的功能,但Java语言以其网络应用的优势,再加上Java语言提供的多线程编程技术,使得利用Java语言编制基于网络环境的多任务程序十分容易。比如,完成在网页中同时对多个任务进行监视等操作任务。

3Java语言可以方便地访问网络资源

利用Java语言将很容易地编制出访问网络资源的程序。比如,要访问某网页的信息,包括域名、IP地址、信息终止日期、信息修改日期、信息的长度等内容;要获取某网络服务器上某个文件的内容;要设计网络客户端与服务器端的应用程序(如:邮信服务、对话服务等)等等,Java语言呈现出是很好的网络语言。

4Java语言可以方便地实现基于Web的数据库访问

Java语言提供了方便访问数据库的技术。利用Java语言中的JDBC技术,用户能很方便地开发出基于Web网页的数据库访问程序,从而扩充网络应用的功能。

5Java语言可以方便地实现分布式应用

Java语言提供了许多技术以方便实现分布式应用。利用Java语言中的JSPRMICORBAEJB等技术,用户可以方便地实现分布式应用。

1.2 Java程序简介

Java源程序是由类定义组成的,因此在源程序中只能以类定义的形式来进行编程。一个Java源程序中可以包含一个类定义,也可以包含多个类定义。Java源程序是以.java为后缀名保存的。当Java源代码被编译后,每个类分别保存在以.class为后缀名的输出文件中。在开始学习Java语言编程之前,应该了解一下java源程序的基本构成,以及如何书写、编译和运行Java程序,以便建立一个总体的印象。

一般地,Java程序分为Java应用程序和基于JavaApplet小程序两种。

1.2.1 一个简单的Java应用程序

Java语言编写应用程序,再到最后得到结果,需要经过3个过程,即编写源程序、编译和运行。

1.编写源程序

       一个简单的Java应用程序如例1.1所示。

【例1.1   】一个简单的Java应用程序。

// 文件名:HelloChina.java

public class HelloChina

{

              public static void main(String[] args)

              {

                     // 输出一字符串

                     System.out.println("您好,中国!");

              }

}

通过这个程序,我们可以看到Java应用程序还是比较简单的,结构并不复杂。之所以称其为应用程序,其标志就是含有main方法,也只有含有main方法的Java程序才能用java命令来运行。编写Java程序时必须遵循Java语言的编程原则。一个简单的Java应用程序的基本格式有以下几点规定:

       1Java程序是无格式的纯文本文件,可以用任何文本编辑器(例如,Word、写字板)来编写Java程序。

2)文件名必须与类名取成一致,且两者的大小写要一致。例如,类名为HelloChina,那么存盘时的文件名就应该为HelloChina.java

       3)首先要使用关键字class来定义一个新类,类名紧跟其后。这里public表明是一个公共类,可以省略,HelloChina是本例所定义的类名。

4)一个Java程序可以有多个类,每个类可以有多个方法,但是最多只有一个公共类。

       5)对于一个应用程序来讲,还必须有一个main()方法,且只能有一个main()方法。该方法标志着执行应用程序时的起始点。其中,关键字public表明所有的类都可以调用该方法,关键字static表明该方法是一个静态方法,关键字void表示main()方法无返回值。

       6)任何方法中可以有多条语句。本例的main()方法中,只有一条语句为:

             System.out.println("您好,中国!");

       该语句用来在屏幕上输出一个“您好,中国!”字符串,System.out.println()的功能与C语言中的printf()函数相同。

7Java程序中的每条语句都要以分号“;”结束(包括以后程序中出现的类型说明等)

8)为了增加程序的可读性,程序中可以加入一些注释行,例如,用“//”开头的行。

关于Java语言的注释定义符说明详见第2章。

       本例仅仅是一个最简单的Java程序,只包含了一个类,类中只包含了一个方法,并没有包含数据,如果类中要包含数据的话,结构中还需要有类型说明等语句。

2.编译

Java 程序编写完成后,必须经过Java编译器把.java源程序翻译成以.class为后缀的与处理器无关的二进制字节码文件。在Java语言环境中,执行下面的命令编译HelloChina.java程序,编译后将自动得到HelloChina.class字节码文件。

javac  HelloChina.java

3.运行

.class为后缀的字节码文件,并不是一个可执行的程序,它必须通过字节码检验器和Java解释器翻译后才能运行,通过特殊的运行环境,可形成.exe的可执行文件。在Java语言环境中,执行下面的命令运行HelloChina.class程序:

java  HelloChina

如果一切正常,运行结果将如图1.1所示。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.1  HelloChina程序运行结果

1.2.2 将应用程序编写为Applet小程序   

       基于Java语言的Applet小程序是可以嵌入到HTML语言中,并由带有Java解释器的WWW浏览器(如,Internet ExplorerNetscape Communicator等)来解释执行的程序,它不可以用Java解释器直接执行。将Applet称为小程序的原因就是因为其代码较小,易于通过Internet/Intranet下载。

一般地,用Applet小程序实现一个功能,得到最后的结果,需要经过编写Applet小程序、编译小程序、编写HTML文件、执行HTML代码程序。执行HTML程序有两种方式,一种是通过运行浏览器执行HTML程序;另一种是通过Java软件包提供的appletviewer命令执行HTML程序。

1.编写Applet小程序

【例1.2 Applet小程序示例

// 文件名:HelloWorld.java

import java.applet.Applet;

import java.awt.Graphics;

public class helloWorld extends Applet

{

              public void init()

              {

                     resize(400,300);

       }

              public void paint(Graphics g)

              {

                     g.drawString("您好,世界!",60,40);

              }

}

从例1.2中,我们看到基于JavaApplet小程序其基本结构与Java应用程序相似,不同地方说明如下:

1)小程序开始处,必须引入两个系统类:java.applet.Appletjava.awt.Grapgics,程序中需要使用这两个类中的方法。引入系统提供的类时,应该用关键词import,它与C语言中的#include功能一样。

       2)关键词extends表示HelloWorld类是由Applet类继承而来。

       3init()方法和paint(Graphics g)方法分别是Applet类和Graphics类中定义的公有方法,分别用于小程序的初始化和显示输出。

       4)所有定义的Applet小程序都必须是从Applet类中派生而来,且不能有main()方法。

       关于Applet小程序详细介绍请看第5章的内容。

2.编译Applet小程序

Applet小程序HelloWorld.java编写完成后,需对其进行编译,自动产生字节码文件HelloWorld.class,其编译方法与Java应用程序相同。

3.编写HTML代码

对于Applet小程序的字节码程序HelloWorld.class必须嵌入到HTML代码中,才可以完成小程序的功能。所以,还必须为HelloWorld.class编写一个HTML的代码文件,将字节码程序引入其中。下面是一个HTML代码文件,文件名为HelloWorld.html。关于HTML语言,不是本书的主要内容,有兴趣的读者请参阅相关书籍。

【例1.3 】嵌入HelloWorld.class代码的HTML程序示例,文件名为HelloWorld.html

<HTML>

<TITLE> HelloWorld</TITLE>

<BODY>该程序输出结果为:</P>

<APPLET code="HelloWorld.class" width=200 height=80>

</APPLET>

</BODY>

</HTML>

HelloWorld.html的代码中,引入<APPLET code=HelloWorld.class width=200 height=80 </APPLET>的作用,就是当浏览器执行HelloWorld.html程序时,要调用小程序HelloWorld.class并执行之。

4.执行HTML代码程序

1)在浏览器中执行HTML程序

完成HelloWorld.html的编写后,可以使用Internet Explorer浏览器(简称IE)解释执行它。运行结果如图1.2所示。


 


1.2   在浏览器中执行HelloWorld.html的结果

 

2)使用appletviewer运行HTML程序

HTML的设计和使用是在Java语言出现之前,Sun Microsystems公司为了使AppletWeb页运行得更好,扩展了HTML,在这种背景下,开发了appletviewer工具。appletviewer是一种为方便读者学习Java语言,并具有浏览器大部分功能的简单的纯Java 浏览器,主要为学习和调试程序而用。

在命令行上使用appletviewer运行HelloWorld.html的命令为:

appletviewer  HelloWorld.html

运行结果如图1.3所示。

注意:由于使用IE执行带有Applet小程序的HTML程序时,运行速度较慢,因此,这种运行环境不适合调试程序。通常,编程人员使用appletviewer工具来达到调试程序的目的,但是appletviewer工具对于HTML语言的某些标志并不识别,所以,有时利用appletviewer工具执行HTML程序时一些显示结果会不可见。请留意图1.2和图1.3的区别。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.3   使用appletviewer执行HelloWorld.html的结果

1.3 Java程序的运行环境

       目前,比较流行的Java程序运行环境有基于集成环境的JBuilder和基于DOS平台的Java 2 SDK 1.3.1两种,相比之下,前者由于基于Windows 平台,所以更受用户青睐,但操作比较复杂;后者的操作相对容易。

1.3.1 Java 2 SDK 1.3.1介绍

1Java SDK软件包

Java标准开发工具包(Standard Development KitSDK)是一种用于构建在Java平台上发布的应用程序、Applet小程序和组件的开发环境。

Java 2 SDK 1.3.1软件包可以从http://java.sun.com免费下载,由于Java软件包受不同操作系统的支持,所以下载得到的文件各不相同。对于运行在Microsoft Windows平台上的软件包,下载得到的文件为j2sdk-1_3_1_01-win.exe,安装时直接运行该文件即可。对于运行在Solaris SPARC/Intel平台上的软件包,下载得到的文件为j2sdk-1_3_1_01-solx86.sh。对于运行在Linux平台上的软件包,下载得到的文件为j2sdk-1_3_1_01-linux-i386.binj2sdk-1_3_1_01-linux-i386-rpm.bin。基于Windows Java软件包是本节要介绍的主要内容。

安装JSDK软件包时,必须有100M可用磁盘空间,如果还要单独安装文档目录,则还需要85M可用磁盘空间。

JSDK软件中包含了一些工具,可用于开发和测试Java语言编写的程序,这些工具以命令行的方式使用。除appletviewerpolicytool外,这些工具都不提供图形用户界面。

2.环境设置

1bin目录的路径设置

为了在使用javac编译Java源程序以及使用javaappletviewer运行Java程序时无须指定其路径,需要编辑AUTOEXEC.BAT文件,在PATH环境变量中增加bin目录的路径

,例如:

PATH="%PATH%";d:/jsdk1.3/bin;

2)设置与清除CLASSPATH

为了在工作目录下使用其他目录中的类,可以在AUTOEXEC.BAT文件中设置CLASSPATH环境变量。设置方法为:

set CLASSPATH=path1;path2…

如果CLASSPATH环境变量被设置成不正确的值,或启动文件或脚本程序设置了不正确的路径,则可以通过使用下列命令清除CLASSPATH

set CLASSPATH=

3javac的使用

Java源程序文件的扩展名为.java,它是标准的ASCII文本文件,利用javac工具,可以将其编译为可执行的Java字节码文件,即扩展名为.class的文件。Javac编译器会为每一个类生成一个对应的.class文件,无论这些类是否在同一个文件中。

1javac命令语法

javac命令行格式为:

javac [options] [sourcefiels] [@files]

命令中参数说明如下:

参数可按任意次序排列

options指命令行选项,参见后面的内容。

sourcefiles指一个或多个要编译的源文件。若一次要对多个文件进行编译,文件名之间用空格分隔。

例如:javac  hellochina.java  helloworld.java

@files指一个或多个列表文件。列表文件中包含了要编译的一个或多个源程序文件。若一次要对多个列表文件进行编译,列表文件名之间用空格分隔。

例如:javac  @f1  @f2

2javac命令选项

javac编译器有一些标准选项,目前的开发环境支持这些标准选项,将来的版本也将支持它。还有一批附加的非标准选项是目前的虚拟机实现所特有的,将来可能要有变化。非标准选项以-X打头。下面简单介绍常用的一些选项:

-classpath <path>

­设置用户类路径,它将覆盖CLASSPATH环境变量中的用户类路径,路径项用分号(;)分隔。若既未指定CLASSPATH又未指定-classpath,则用户类路径是当前目录。若未指定-sourcepath选项,则将在用户类路径中查找类文件和源文件。

-d <directory>

设置类文件的目标目录。如果某个类是一个包的组成部分,则javac将把该类文件放入反映包名的子目录中,必要时创建目录。若未指定-d选项,则javac将把类文件放到与源文件相同的目录中。

-deprecation

显示不能使用API接口的源程序的位置信息。

-encoding <encoding>

设置源文件使用的编码名称。若未指定-encoding选项,则使用平台默认的转换器。

-g

生成所有的调试信息,包括局部变量。默认情况下,只生成行号和源文件的调试信息。

-g:none

不生成任何调试信息。

-g:{line,var,source}

只生成行号、变量、源程序的调试信息。

-nowarn

禁止产生警告信息。

-O

优化代码以缩短执行时间。但使用-O选项可能使编译速度下降,在生成更大的类文件时,使程序难以调试。

-sourcepath <path>

设置查找源程序代码的路径,路径项用分号(;)分隔。

-verbose

显示编译器正在进行的操作提示信息。

-bootclasspath <path>

根据指定的自举类路径集进行联合编译,路径项用分号(;)分隔。

-extdirs <dirs>

根据指定的扩展目录进行联合编译。目录项用分号(;)分隔。

-target <release>

生成指定版本的虚拟机上运行的类文件。

4java的使用

1java命令语法

java工具用于运行Java应用程序。它通过启动Java运行环境,装载指定的类并调用该类的main方法,从而实现Java应用程序的功能。java命令行格式有两种:

java [option] class [argument…] 该命令功能是执行一个Java类程序。

java [option] –jar file.jar [argument…]该命令功能是执行一个封装在Jar归档文件中的程序。

命令中参数说明如下:

option指命令行选项,参见后面的内容。

class指出要调用的类名。

例如:java HelloChine.class

file.jar指出要调用的jar文件名。只与-jar一起使用。

例如:java –jar HelloWorld.jar

argument指出要传递给main方法中的实际参数。如果应用程序的main方法中有使用外部参数的语句时,那么,执行java命令时必须给定相应个数、类型的实际参数。

2java命令选项

java运行器有一组标准选项,当前运行环境支持这些选项并且将来的版本也将支持它们。还有一些附加的非标准选项是目前的虚拟机实现所特有的,将来可能要有变化。非标准选项以-X打头。下面简单介绍常用的一些选项:

-cp  -classpath <path>

指定一个用于查找类文件的搜索路径。类路径项用分号(;)分隔。指定-classpath –cp选项,将覆盖CLASSPATH环境变量的所有设置。

-D <属性名>=<>

设置系统属性的值。

-verbose :class

输出每个类所加载的类信息。

-verbose:gc

输出每个垃圾收集事件

-verbose:jni

输出有关本地方法的使用和其他Java平台相关代码接口活动的信息。

-version

输出版本信息后退出。

-showversion

输出版本信息后继续。

-X

输出非标准选项的有关信息并退出。

-? –help

输出帮助信息。

5Java Applet浏览器(appletviewer)的使用

appletviewer命令可在脱离Web浏览器环境的情况下运行Applet小程序,极大地方便了程序调试。该命令行格式为:

appletviewer [option] urls

appletviewer命令连接到指定的URLhtml文件)所指向的文档或资源上,并在其自身的窗口中显示文档引用的每个Applet小程序的执行结果。

例如:appletviewer HelloWorld.html

命令行中的选项有如下一些:

-debug

Java调试器中启动appletviewer,可以调试文档中的Applet小程序。

-encoding <encoding>

指定由HTML文件使用的字符编码名称。

-J <runtime flag>

将指定的字符串作为单个参数传递给Java解释器,参数不能含有空格。由多重参数组成的字符串,其中的每个参数都必须以前缀-J开头。这在调整编译器的执行环境或内存使用时将很有用。

       Java 2 SDK 1.3.1的环境下操作十分简单,很容易掌握。本书的程序大都是基于此平台运行通过的。

 

1.3.2 JBuilder介绍

JBuilder是美国Borland公司最新推出的可视化Java开发工具,是目前计算机开发者首选的Java开发环境。它支持最新的J2EE标准,它的可视化工具和开发向导使Java应用开发变得非常方便快捷。

利用JBuilder可以开发各种Java应用程序和系统,包括Java Applet、数据库应用程序和分布式多层结构的应用。JBuilder提供了百分之百的纯Java开发环境。所有用Java语言编写的程序都能在JBuilder中运行和调试。与其他Java开发环境相比,JBuilder更好地发挥了Java语言的编程能力。

支持J2EE标准的JBuilder已经从JBuilder 4JBuilder 5发展到最新的JBuilder 6版本。不管用户使用了什么版本,其基本操作大同小异。本节以JBuilder 5 for Windows为背景简单介绍JBuilder的使用方法。

1.启动JBuilder

JBuilder成功安装后,通过选择Windows桌面的“开始”→“程序” →“JBuilder 5 →“JBuilder 5 Enterprise”就可以启动JBuilder。启动时将出现输入序列号和密钥的画面,如果序列号和密钥正确,才能进入JBuilder的集成开发环境如图1.4所示。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.4  JBuilder 5集成开发环境

2JBuilder集成开发环境

1)主界面介绍

1.4展示了JBuilder的集成开发环境。在这个窗口中,用户可以创建、编辑、管理文件与工程,并进行可视化设计、编译、调试与运行应用程序。从图1.4中可以看出,该集成开发环境包括了一些主界面。

这里主界面的描述遵循图1.4中从上至下、从左至右的原则。

       ·主菜单栏:提供菜单访问方式,如文件菜单(File)、编辑菜单(Edit)、视图菜单(View)、工程菜单(Project)、运行菜单(Run)、向导菜单(Wizard)和工具菜单(Tools)等。

       ·主工具栏:按功能划分成若干小工具栏,上面的按钮对应着菜单命令项的快捷访问。

·工程工具栏:包括了一个当前所打开工程的列表及一些按钮,这些按钮用来增加、删除文件,关闭及更新工程面板中的工程文件。

·工程窗口:显示所选工程的内容。用于浏览与操作工程树。

·结构窗口:显示内容窗口中当前文件的结构。对一个Java文件而言,该窗口以树的形式显示了所有方法、属性与事件。结构窗口具有向下展开的功能,双击一个类或者界面就可以查看到它的祖先类。

·内容窗口:在内容窗口中可以查看到所打开的文件。每一个打开的文件都有一个显示其文件名的标签以及位于底部的各种视图标签。这些视图标签包括SourceDesignBeanDocHistory

·消息窗口:它是一个多标签页显示区域。它显示来自子系统的消息,如设计器、搜索结果、编译器、调试器以及运行的进程。

·状态栏:可获得有关进程及其结果的最新信息。

2)编辑器的使用

在集成环境中可以选择内容窗口的Source标签页访问编辑器,然后在编辑器中编写Java应用程序。JBuilder编辑器支持文本搜索、语法高亮显示、代码模板、代码预示。图1.4中的内容窗口正好示出了当前打开文件的一个编辑器。

3)使用JBuilder 5向导

JBuilder 5提供了许多向导,可以极大地节省应用程序开发的时间。JBuilder 5包括了3种类型的向导:用于创建新文件的向导、用于创建应用组件的向导以及通用辅助工具向导。

选择“File”菜单下的“New”命令项后,出现如图1.5所示的画面。其中包括了6个页面:NewTeamWebXMLCORBAEnterpriseNew页面包含使用Java 2标准版技术的向导,包括创建工程、应用程序、类、接口等向导。Web页面包含了基于Web运行的技术向导,包括创建Applet小程序等向导。NewWeb页面是用户常用的向导。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.5 JBuilder 5向导

3.使用JBuilder工程

1)工程的概念

JBuilder环境中,开发应用程序的第1步是创建一个工程。JBuilder用工程组织和维护应用程序。

工程文件保存了与工程有关的信息。其中包含工程所使用的文件与包,以及工程属性。在装载、建立和分发工程时,JBuilder要用到这些信息。图1.4的工程窗口中显示了一个工程的结构。

每个工程都保存在自己的目录中。每个工程目录包括一个工程文件(.jpr.jpx)、一个保存工程记录的可选文件(.html)、一个保存类文件的classes目录,一个保存源文件的src目录以及一个保存备份的bak目录。

JBuilder的工程向导简化了工程的创建。当使用工程向导创建新工程时,向导会自动设置工程的目录框架,创建并保存工程属性。还可以为工程创建一个工程记录文件,该文件的信息会出现在工程源文件的注释中,并会出现在由JavaDoc生成的文档中。

2)创建工程步骤

首先,通过选择“File”菜单的“New project”命令项打开工程向导。出现如图1.6所示的画面。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.6 工程向导(1

在工程向导的第1个画面中,需要输入工程名,选择一个工程文件的类型(jprjpx)。挑选一个工程模板。还需要设置根路径和工程目录的名称。

单击“Next”按钮进入工程向导的第2个画面如图1.7所示。

 

 

 

 

 

 

 

 

 

 

 

 

1.7 工程向导(2

接着,在图1.7中,可以设置工程的路径、编译所使用的JDK版本以及工程所需要的库。设置完成后,单击“Next”按钮,进入设置工程标题、作者与公司名称的画面。

值得说明的是,如果在图1.6和图1.7中选择了“Finish”按钮,那么系统选择却省设置,并表明新工程创建完成。

3)工程的管理

工程的管理包括如下内容:

·打开文件:通过选择“File”菜单的“Open Project”命令项完成。

·添加与删除文件:右击工程窗口中的一个文件,然后从弹出菜单中选择“Add Files/Packages”或“Remove From Project”命令项完成。

·保存以及关闭工程:通过选择“File”菜单的“Save…”命令项完成。

·更改工程名:通过选择“Project”菜单的“Rename”命令项完成。

4.建立用户界面

使用JBuilder的可视化设计工具可以快速创建Java应用程序的用户界面。在构建用户界面时,需要用到一个包含多种组件的面板,该面板上包含如按钮、文本框、列表、对话框以及菜单等组件。

在内容窗口中单击底部的“Design”标签页,可以看到各种组件。为了设置组件的属性和响应用户界面事件,还需要为组件的事件编写相应的事件处理程序。

添加与操作组件的方法是,选择组件面板的一个组件,点击设计器或在内容窗口中点击此组件的父组件,就把选中的组件放置在设计器中,同时在结构窗口的组件树的分支中会出现一个新的组件节点。在JBuilder中建立用户界面的内容,可以在学完第8章后再了解。

5.编译和运行

JBuilder中运行Java程序的步骤是:首先保存所要运行的应用程序或文件;然后从工程窗口中选择要运行的应用程序或文件;如果要运行的是一个Java应用程序,那么先编译它(用“Project”菜单下的“Make Project”命令项),再选择“Run”菜单下的“Run Project”命令项。如果应用程序已经编译过,可以直接运行它。如果是一个Applet小程序,那么只需用同样方法编译它即可。

本节只介绍了JBuilder中最基本的内容,有兴趣进一步研究JBuilder的读者,可参阅相关书籍。

   

        1.1Java语言有哪些特点?

1.2Java语言与C++语言有何不同?

1.3.简述面向对象编程中对象、类、封装、继承、多态性的含义。

1.4.什么是Applet小程序?实现Applet小程序,需要经过几个过程?请简述其过程。

1.5Java应用程序和Applet小程序的结构有何不同?

1.6.找出下面程序中的错误:

     GoodbyeWorld

     {

            public static void main(String[] arg)

            {

                   System.out.println("Goodbye , World! ")

     }

 

   

       技能训练目的要求:

       1.熟悉Java应用环境。即熟练掌握Java 2 SDK的基本使用方法。

       2.熟悉JBuilder集成环境。

       3.熟练掌握Java应用程序的编辑、编译和运行过程。

       4.熟练掌握Applet小程序的编辑、编译和运行过程。

       技能训练内容:

1Java应用程序实训

1)利用任一文本编辑器,将例1.1的程序输入到计算机中,产生HelloChina.javaJava文件;

2)用javac命令编译此程序,生成HelloChina.class文件;

3)保证程序正确无误后,用java命令运行程序,观察结果;

4)查看所在目录中的文件。

       2Applet小程序的实训

1)利用任一文本编辑器,将例1.2的程序输入到计算机中,产生HelloWorld.javaJava文件;;

2)用javac命令编译此程序,生成HelloWorld.class文件;

3)利用word文字处理器,将例1.3的程序输入到计算机中,产生HelloWorld.html文件;

4)用appletviewer命令执行HelloWorld.html代码,并观看结果;

5)用IE浏览器命令执行HelloWorld.html代码,并观看结果;

6)查看所在目录中的文件结构。

3.如果有条件,熟悉JBuilder环境

    将上述12实训任务在JBuilder环境下实现,体会JBuilder集成开发环境的应用。

原创粉丝点击