Java实用教程全新计算机应用技术丛书Java实用教程薛亮编著西安电子科技大学出版社章异常、事件和多线程机制第8章输入输出技术第9章Java数据库技术第10章Java安全技术第11章Java网络技术(一)第12章Java网络技术(二)第13章Servlet技术第14章Java读写XML技术Java实用教程第1章Java环境及配置1.1Java概述1.2Java语言的特点1.3Java应用分类1.4JDK包的下载与安装1.5Java环境配置1.6例子程序习题Java实用教程1.1Java概述Java是一种编程语言,它提供了一个同时用于程序开发、应用和部署的环境。Java语言主要定位于网络编程,使得程序可以最大限度地利用网络资源。Java实用教程1.2Java语言的特点1.跨平台性所谓的跨平台性,是指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。这是软件发展的趋势和编程人员追求的目标。之所以这样说,是因为计算机硬件的种类繁多,操作系统也各不相同,不同的用户和公司有自己不同的计算机环境偏好,而软件为了能在这些不同的环境里正常运行,就需要独立于这些平台。Java实用教程而在Java语言中,Java自带的虚拟机很好地实现了跨平台性。Java源程序代码经过编译后生成二进制的字节码是与平台无关的,但是可被Java虚拟机识别的一种机器码指令。Java虚拟机提供了一个字节码到底层硬件平台及操作系统的屏障,使得Java语言具备跨平台性。Java实用教程2.面向对象面向对象是指以对象为基本粒度,其下包含属性和方法。对象的说明用属性表达,而通过使用方法来操作这个对象。面向对象技术使得应用程序的开发变得简单易用,节省代码。Java是一种面向对象的语言,也继承了面向对象的诸多好处,如代码扩展、代码复用等。Java实用教程3.安全性安全性可以分为四个层面,即语言级安全性、编译时安全性、运行时安全性、可执行代码安全性。语言级安全性指Java的数据结构是完整的对象,这些封装过的数据类型具有安全性。编译时要进行Java语言和语义的检查,保证每个变量对应一个相应的值,编译后生成Java类。运行时Java类需要类加载器载入,并经由字节码校验器校验之后才可以运行。Java类在网络上使用时,对它的权限进行了设置,保证了被访问用户的安全性。Java实用教程4.多线程多线程在操作系统中已得到了最成功的应用。多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。Java除了内置的多线程技术之外,还定义了一些类、方法等来建立和管理用户定义的多线程。Java实用教程5.简单易用Java源代码的书写不拘泥于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后将源文件进行编译,编译通过后可直接运行,通过调试则可得到想要的结果。Java实用教程1.3Java应用分类1.应用程序典型的通用程序可以在具备Java运行环境的设备中独立运行,它又分为:GUI应用程序:即图形用户界面程序,可实现丰富的输入界面和输出显示。命令行程序:无需界面,只需在命令行下运行,运行结果只在后台发生变化,可以将输出存放到文件中。嵌入式应用程序:Java语言的平台独立性决定了它可以嵌入到不同的设备中,且只需具备必要的运行环境即可。Java实用教程2.Servlets服务器端应用程序服务器端的应用程序用来收集客户端的数据输入,对数据进行处理之后,返回相应的响应给客户。它主要用来实现与客户端的交互。Java实用教程3.Applets小应用程序Applets应用于网络上,嵌入在HTML网页中,支持Java的浏览器都可以对它进行解释并运行。通常通过一个HTML标签APPLET/APPLET来识别并运行Applets。小应用程序的类在服务器端,当浏览器显示网页时,它随之下载到本地,由本地的浏览器载入运行。Java实用教程1.4JDK包的下载与安装JavaDevelopKit简称为JDK,是Sun公司免费发行的软件包,可以从Sun网站免费下载,也可以从其它国内地址下载。JDK版本从1.02开始,目前版本发展到1.4,其中高级版本对低级版本实现向下兼容。运用这个软件包,就可以对Java源程序进行编译和运行。本书中下载使用的JDK包为j2sdk-1_4_0_012-windows-i586.exe。下载后双击图标,即可进行安装,默认的安装目录为C:\j2sdk1.4.0_01。本书作者将安装目录改为D:\j2sdk1.4.0_01。Java实用教程1.5Java环境配置JDK包安装完成后,需要设置环境变量。用鼠标右键单击桌面上的图标“我的电脑”,选择“属性”项,出现标题为“系统特性”的对话框,点击“高级”标签,可以看见有一个“环境变量”按钮,如图1.1所示。Java实用教程图1.1“系统特性”对话框Java实用教程单击“环境变量”按钮,可以看见本机环境变量,如图1.2所示。上面为用户变量,下面为系统变量,随着操作系统或用户环境的不同,变量名、值有所不同。这里需要修改三个用户变量:include、lib和path,分别将JDK包安装之后的相应路径包含到这三个用户变量中。Java实用教程图1.2“环境变量”对话框Java实用教程选中include变量,单击“编辑”按钮,弹出标题为“编辑用户变量”的对话框,如图1.3所示。在变量值一栏的最后添加“;D:\j2sdk1.4.0_01\include”,“;”表示与前面的各项隔开,后面的路径是JDK包的安装路径下的include目录。图1.3为作者修改include变量的情况,注意你的安装路径可能与作者的有所不同,要以你的安装路径为基准进行修改。Java实用教程图1.3编辑include变量Java实用教程选中lib变量,单击“编辑”按钮,弹出标题为“编辑用户变量”的对话框,如图1.4所示。在变量值一栏的最后添加“;D:\j2sdk1.4.0_01\lib”,“;”表示与前面的各项隔开,后面的路径是JDK包的安装路径下的lib目录。图1.4为作者修改lib变量的情况,注意你的安装路径可能与作者的有所不同,要以你的安装路径为基准进行修改。Java实用教程图1.4编辑lib变量Java实用教程选中path变量,单击“编辑”按钮,弹出标题为“编辑用户变量”的对话框,如图1.5所示。在变量值一栏的最后添加“;D:\j2sdk1.4.0_01\bin”,“;”表示与前面的各项隔开,后面的路径是JDK包的安装路径下的bin目录。图1.5为作者修改path变量的情况,注意你的安装路径可能与作者的有所不同,同样要以你的安装路径为基准进行修改。Java实用教程图1.5编辑path变量Java实用教程1.6例子程序【例1.1】源程序名称为HelloWorld.java,命令行提示符下输出字符串“HelloWorld”。源代码如下://程序文件名称为HelloWorld.javapublicclassHelloWorld{publicstaticvoidmain(Stringargs[]){System.out.println(HelloWorld);}}Java实用教程用记事本或者专用的编辑工具如EditPlus等进行编辑,并将文件存为HelloWorld.java。建议使用像EditPlus这样的编辑软件,可使得代码更加清晰且风格良好。运行“开始”菜单→程序→附件→命令提示符,载入命令行程序,在命令行状态下,进入源程序所在的目录,图1.6所示的例子程序的目录在“E:\_Work\Java\sample”下,然后键入命令“javacHelloWorld.java”。若编译不通过,会产生错误提示。若编译通过,则没有任何提示,同时进入命令行等待状态,如图1.6所示。这时,命令行虽然没有提示,但在源程序的路径下生成一个新的文件为HelloWorld.class。这个.class文件就是编译后生成的类文件,运行此文件,需在命令行状态中键入命令“javaHelloWorld”,然后按回车键,此时程序就会运行并输出“HelloWorld”。输出完毕,立即退出程序,进入命令行等待状态,如图1.7所示。Java实用教程图1.6编译源程序HelloWorldJava实用教程图1.7运行HelloWorld应用程序Java实用教程这里用到的命令Javac和Java都是JDK软件包自带的。从JDK安装路径的bin目录下可以看到javac.exe,这是编译程序,源程序编译通过后就生成.class文件;而Java.exe就是载入类的运行程序,运行时根据源程序的指令要求产生正确的输出或结果。如果没有进行环境配置,直接编译或者运行Java源程序,系统会提示找不到这些命令,所以必须进行环境配置后再使用。Java实用教程【例1.2】小应用程序的例子。输出“HelloWorld!”,如图1.8所示。源程序代码如下://程序文件名称为HelloApplet.javaimportjava.awt.Graphics;importjava.applet.Applet;publicclassHelloAppletextendsApplet{publicvoidpaint(Graphicsg){g.drawString(HelloWorld!,50,25);}}Java实用教程小应用程序代码书写和编译完成后,无法独立运行,需要一个载体或者容器。下面的HTML网页代码就是小应用程序载入的容器。!--程序文件名称为HelloApplet.html--HTMLHEADTITLEHTMLTestPage/TITLE/HEADJava实用教程BODYHelloAppletwillappearbelowinaJavaenabledbrowser.BRAPPLETCODEBASE=.CODE=HelloApplet.classNAME=TestAppletWIDTH=400HEIGHT=300HSPACE=0VSPACE=0ALIGN=middle/APPLET/BODY/HTMLJava实用教程图1.8Applet显示“HelloWorld!”Java实用教程习题1.简述Java的特点。2.简述Java的分类情况。3.进行Java环境的安装和配置。4.编写应用程序,屏幕上输出“欢迎来到Java世界!”。5.编写Applet,输出“欢迎来到Java世界!”。Java实用教程第2章Java基本语法2.1Java程序的构成2.2数据类型、变量和常量2.3运算符和表达式2.4流程控制2.5数组的使用习题Java实用教程2.1Java程序的构成2.1.1逻辑构成Java源程序逻辑构成分为两大部分:程序头包的引用和类的定义。1.程序头包的引用主要是指引用JDK软件包自带的包,也可以是自己定义的类。引用之后程序体中就可以自由应用包中的类的方法和属性等。Java实用教程2.类的定义Java源程序中可以有多个类的定义,但必须有一个主类,这个主类是Java程序运行的入口点。在应用程序中,主类为包含main方法的类;在Applet中,主类为用户自定义的系统Applet类的扩展类。在Java源程序中,主类的名字同文件名一致。类的定义又包括类头声明和类体定义。类体中包括属性声明和方法描述。下面来看一个例子,其中斜体表示的语句行为主类类头,主类类头下面从大括号“{”开始到“}”结束的部分称为主类类体。Java实用教程【例2.1】下面是一个应用程序,也是一个Applet,既可以在命令行下运行,也可以嵌入到HTML网页中用appletviewer命令运行。运行时在界面上的第一个文本框中输入你的名字,按回车键后,在第二个文本框中会显示