第1章 Java语言快速入门
Java语言诞生于20世纪90年代初期,它的前身是SUN Microsystems公司开发的一种用于智能化家电的名为“橡树(Oak)”的语言。经过不断的完善,1995 年5 月,Java被定位于网络应用的程序设计语言正式推出。今天,Java语言已得到广大网络编程人员的普遍接受。本章主要介绍Java语言的特点、书写格式及其安装。
1.1 简单的Java程序
每一种编程语言都有自己特定的书写格式,Java语言也不例外。只有按照Java语言的书写格式编写代码,程序才能正确运行。
学习目标
通过本节的学习,掌握Java语言程序的书写格式及程序的运行方法。
案例内容
案例1 在屏幕上输出“Hello Java!”
下面是一个简单的Java程序案例。让我们启动记事本,输入如下代码:
public class HelloJava { public static void main(String args[]) { //将Hello Java!输出到屏幕上 System.out.println("Hello Java!"); } }
将此文件保存为HelloJava.Java,为方便起见,就存在E盘根目录下。
进入DOS命令,输入以下指令:
C:\e: E:\ javac HelloJava.java E:\ java HelloJava
其中,E:\javac HelloJava.java指令是将Java源文件HelloJava.java编译产生一个Java字节码文件HelloJava.class。类文件如果没有指明存放路径,则默认存放在源文件所在路径下,本例中为E盘根目录。
E:\ java HelloJava指令解释运行编译生成的类文件HelloJava.class。
将此程序编译,运行后,便可在屏幕上显示程序运行结果,如图1.1所示。
图1.1 程序HelloJava的运行结果
知识链接
Java是一种优秀的程序设计语言,它最大的优点就是与操作系统无关,即在Microsoft Windows、UNIX、Linux及MacOS等多种操作系统上,都可以使用相同的代码。“一次编写、到处运行”是Java语言的特色,也是Java语言在因特网上被广泛采用的主要原因。
如图1.2所示是Java语言的Logo,图1.3所示是Java语言的吉祥物。
图1.2 Java语言的Logo
图1.3 Java语言的吉祥物
1.Java语言的主要特点
(1)简单性。Java语言最初是为了对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。简单性主要体现在以下三个方面:① Java语言的风格类似于C++,从某种意义上讲,Java语言是C及C++语言的一个变种;② Java语言省略了C++中容易引发程序错误的地方,如头文件、指针、结构、单元、运算符重载、虚拟基础等;③ Java语言提供了丰富的类库。
(2)面向对象。面向对象是软件工程的一次革命,它大大提高了软件开发的效率和水平。Java语言充分利用了面向对象的思想,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。
(3)分布式。Java语言具有功能强大和易于使用的网络能力。Java应用程序可以像访问本地系统那样通过URL访问远程对象,非常适合于分布式系统的开发。
(4)健壮性。Java语言有非常良好的健壮性,是因为Java致力于检查程序在编译和运行时的错误。Java语言的类型检查帮助检查出许多开发早期出现的错误;Java语言自己操纵内存减少了内存出错的可能性。
(5)安全性。在当今的网络环境下,安全问题越来越成为人们关注的焦点。相对于其他编程语言,Java语言有着不可比拟的安全性,这也是Java语言备受青睐的原因之一。Java语言的编译器并不控制内存的分配,只是在程序运行时,由操作系统分配,有效避免了不友善代码的破坏或病毒程序的入侵。
(6)可移植性。Java程序可以方便地从一种操作系统中不加改动或只做很少修改后移植到另一种操作系统。Java程序的可移植性如图1.4所示。
图1.4 Java程序的可移植性
(7)解释性。Java语言的解释器(运行系统)能直接运行目标代码指令。链接程序通常比编译程序所需资源少,所以程序员可以在创建源程序上花费更多的时间。
另外,为了把Java语言和网络建设成一个整体,Java语言将它的程序编译成一种结构中立的中间文件格式,只要有Java语言运行系统的机器都能执行这种中间代码。
2.Java语言的书写格式
从案例1的程序中,可以看到Java语言有如下特点。
(1)代码第1 行和第3 行中的public、class、static、void、main、String等称为关键字。这些关键字都是由Java语言来定义的,它们具有特定的含义,不能随便引用。
(2)public表示“公有的”,和它对应的是private,即“私有的”。Java语言通过公有的和私有的来表示外界能否对某个对象或变量进行引用。
(3)class表示“类”,类是Java语言的基础。Java语言是基于对象的编程语言,对象通过类创建,因此类和对象有密切的联系。HelloJava是类名,不是关键字,可由编程人员选取,由编程人员选取的名字称为标识符。
(4)第3 行中的main称为类HelloJava的方法,包含main方法的类称为主类。现在HelloJava类中包含main方法,所以HelloJava是主类。public static void是对main方法的说明,其中static表示静态的,void表示无返回值。在Java应用程序中,都有一个main方法,也只能有一个main方法。应将main方法说明为public static void。String表示字符串,args[]表示main方法的参数,是字符串参数。关于static、void和args[]的应用,后面有详细的说明。
(5)第6行中的out是输出,print是打印,println是System.out类的一个方法,称为打印方法,打印后还要进行换行。第6 行称为输出打印的语句,输出的内容就是引号中的“Hello Java!”。
(6)Java语言是区分大小写的。如果是用UltraEdit编辑器编写,窗口中蓝色显示的是关键字,其首字母要小写;红色显示的是系统定义的类,其首字母要大写。程序中应注意区分大小写,如System不要写成system。保存文件,文件名必须为HelloJava.java(这里的H是大写)。
(7)第2行和第8行一对大括号中包含的部分称为HelloJava类体。
(8)第4行和第7行一对大括号中包含的部分称为main方法体。
(9)第5行是对程序的解释,它对程序的运行及运行结果不起作用。
3.Java语言的运行流程
用Java语言编写的程序,其运行流程如图1.5所示。
图1.5 Java程序运行流程图
上机实战
上机实践程序MyFirstJavaProgram.java,它用于在屏幕上显示文字。代码如下:
public class MyFirstJavaProgram { public static void main(String args[]) { System.out.println("这是我自己动手写的第一个Java程序!"); } }
程序运行结果如图1.6所示。
图1.6 程序MyFristJavaProgram的运行结果
案例总结
1.Java程序的运行过程
(1)可以使用任意一种文本输入工具输入代码,并保存。
(2)用JDK编译源程序。
(3)编译通过后,键入运行命令执行程序。
2.Java语言最显著的特点
简单;面向对象;分布式;健壮;结构中立;安全;可移植;解释性。
习题1.1
1.填空题
(1)public、class、static、void、main、String等称为______字。它们都是由______来定义的,它们具有特定的含义,不能______________。
(2)class表示__________,对象是通过它来创建的,因此它和对象有密切的联系。
(3)在Java应用程序中,都有一个main方法,也只能有一个main方法,我们把它称为______________。
2.操作题
请编写一个简单的Java程序,在屏幕上显示如下信息:
你好,我是一个中职生!
1.2 Java语言运行环境的安装与设置
Java语言不仅提供了一个运行环境,而且还提供了一个免费的开发工具集JSDK(Java Software Development Kit),有了这个工具集就可以在Java标准平台(J2SE)上进行程序的开发。本节主要学习如何安装JSDK、创建Java标准平台及设置Java平台建立所需的环境变量。
学习目标
通过本节的学习,掌握Java语言的安装和配置,了解常用开发工具的分类。
案例内容
知识铺垫:机器的安装要求
计算机系统至少具有以下配置才可以完成Java程序的开发。
(1)硬件要求:
CPU——奔腾166MHz或者更高。
内存——64MB或者更高。
硬盘——70MB(最大化安装),建议至少100MB。
(2)软件要求:操作系统为Windows 95/98/Me/2000/XP、Windows NT 4.0、Linux、UNIX等常用操作系统均可。
(3)下载JSDK:到Sun公司官方网站下载JSDK工具集。
案例2 安装JSDK工具集
分析:安装JSDK可以分为安装向导准备、设置安装路径、定义安装组件、定义浏览器4个安装步骤。最后,查看是否安装了JSDK工具集。
步骤:
(1)安装向导准备。双击“j2sdk-1_4_0-win.exe”文件,系统进行读包内容操作,如图1.7 所示。当读包内容操作完成之后,自动进入安装向导准备阶段,并完成安装向导的准备工作。
图1.7 读包内容操作对话框
(2)设置安装路径。当安装向导准备阶段完成之后,进入“InstallShield Wizard”(安装向导)对话框,如图1.8所示。
图1.8 安装向导对话框
① 单击按钮,弹出注册询问对话框,如图1.9所示。
图1.9 注册询问对话框
② 在确认遵守Sun公司的注册规定后,单击按钮,弹出选择安装目录对话框,如图1.10所示。
图1.10 选择安装目录对话框
③ 单击按钮使用默认的目录“C:\j2sdk1.4.1_01”来进行安装;也可以单击按钮,自己定义程序安装的目录。如果单击按钮,会弹出“Choose Folder”(选择目录)对话框,可以设置自定义安装目录,如图1.11所示。
图1.11 选择目录(自定义)对话框
④ 将原默认路径“C:\j2sdk1.4.1_01”改为“E:\JSDK14”之后单击按钮,系统又返回选择安装目录对话框,安装路径已变为修改之后的路径,这样就完成了设置安装路径的操作。
(3)定义安装组件。
① 设置完安装路径之后,单击选择安装目录对话框的按钮,进入选择安装组件对话框,如图1.12所示。
图1.12 选择安装组件对话框
② 选择所有的安装组件,其中包括安装Java运行环境、Java源程序文件等,单击按钮,完成定义安装组件的操作,进入下一步定义浏览器操作。
(4)定义浏览器。
① 在系统弹出的选择浏览器对话框中,选择Microsoft公司的IE浏览器,如图1.13所示。这样就设定好了软件要安装的目录和所需安装的组件及其捆绑的浏览器。
图1.13 选择浏览器对话框
② 单击按钮,弹出安装状况对话框,显示安装进度,如图1.14所示。
图1.14 安装状况对话框
此时若单击按钮将退出所设定的安装。安装结束后,系统会弹出安装结束信息对话框,如图1.15 所示。在安装结束信息对话框中保持默认的选项,单击按钮,完成安装。
图1.15 安装结束信息对话框
(5)查看是否安装了JSDK工具集。
打开“E:\JSDK14”目录,可以看到如图1.16所示的目录内容。
图1.16 JSDK目录下的内容
知识链接
1.Java程序开发工具的分类
Java程序开发工具大致可以分为以下几类。
(1)核心开发工具。指的是JDK(Java Development Kit),它是Java程序开发工具的精髓,其他的开发工具都是需要使用的。
(2)集成开发工具。为了方便程序的开发,许多著名公司推出了自己的集成开发工具,如Java WorkShop、Borland Jbuilder、Oracle9i JDeveloper等,这些工具提供了Java程序开发的一整套环境,集成了从编码、编译、调试到运行所需的环境,而且有着良好的可视化效果。不过,这些工具对机器的配置要求较高。
(3)其他工具。除以上介绍的开发工具外,还有一些其他的开发工具,如TextPad、KawaPro等,这些工具比较小巧,借助于JDK软件包,加上自己的编辑器,比较适合于系统配置较低的机器。
双击图1.16中的“bin”文件夹,可以发现有23个后缀名为“.exe”的实用工具。对于初学者来说,必须了解和掌握如下的7个工具。
(1)Java编译器:Javac.exe。Java编译器将以“.java”为扩展名的Java源文件编译成类文件(扩展名为“.class”)。
格式:Javac[选项]源程序文件名
如Javac HelloJava.java。
以下为Java编译器的选项及其说明:
-classpath<path> 覆盖默认的CLASSPATH环境变量并指定新的Java类搜索路径;
-d<directory> 指定存放生成类文件的目录,注意使用绝对路径;
-g使用该选项可以用类文件生成调试表,供jdb使用;
-nowarn关闭编译器的警告输出;
-o打开优化处理;
-verbose打开冗余编译;
-depend使用该选项使得编译器考虑重新编译从别的类文件中引用的类文件;
-J option该选项用于向实际运行该程序的Java解释器传递一个单独的变量。
(2)Java解释器:Java.exe。Java解释器用于执行编译过的Java应用程序。
格式:Java[选项]类名
如Java HelloJava。
以下为Java解释器的选项及其说明:
-help显示所有选项;
-version显示JDK的版本;
-v显示被加载的所有类;
-cs检查源代码是否比类文件新(未编译过),若新就编译源代码;
-debug使用远程Java文件,该文件要在后面用jdb工具调试;
-prof将配置信息输出到Java.prof文件中;
-classpath<path> Java在指定的目录中寻找类文件;
-noasyncgc关闭异步的无用单元集;
-verify验证所有被加载的类;
-verifyremote验证引入的类或继承的类;
-noverify关闭类验证;
-mx value设置最大的Java堆栈空间为value的值;
-ms value将初始的Java堆栈空间设置为value的值;
-ss val将C过程的堆栈空间设置成由val指定的值;
-oss val将Java过程的堆栈空间设置成由val指定的值。
(3)Applet浏览器:AppletViewer.exe。Applet浏览器用于运行Java Applet程序。
格式:AppletViewer[选项]URLS(或“.html”文件)
(4)Java反编译器:Javap.exe。Java反编译器用于显示编译后的字节代码。
格式:javap[选项]类名
(5)C头文件创建器:Javah.exe。它用于当需要使用C语言扩展Java代码时创建C语言头文件。
格式:Javah[选项]类名
(6)Java文档生成工具:Javadoc.exe。它用于在Java源文件中生成基于标志的HTML文件。
(7)Java调试器:Jdb.exe。它是Java环境的高级工具。
2.Java程序运行环境变量的设置
案例中对“.java”代码的Javac编译器所执行的操作是在Windows操作系统中的“命令提示符”窗口下进行的。“命令提示符”窗口下只能执行默认的DOS命令,如cd、dir、clear等,如果要执行Javac、Java、Javadoc等命令,则需要进行额外的环境变量的设置。所以,要用Java语言编写程序,除了安装工具集外,还要对Java程序运行环境变量进行设置,主要是对Path变量进行设置。
上机实战
上机实践运行环境变量的设置。
(1)设置Path环境变量。
① 用鼠标右键单击桌面上的“我的电脑”图标,在弹出的菜单中单击“属性”选项,弹出“系统特性”对话框,单击进入“高级”选项卡,如图1.17所示。
图1.17 “高级”选项卡
② 在“高级”选项卡上单击按钮,弹出“环境变量”对话框,如图1.18所示。
图1.18 “环境变量”对话框
③ 找到“系统变量”分组框的“Path”系统变量,选择此变量,单击按钮,弹出“编辑系统变量”对话框,如图1.19所示。
④ 保持“变量名”的“Path”不变,将“%PATH%;E:\JSDK14\bin”重新写到“变量值”文本框中。也可以在原来的值后面直接加上 “;E:\JSDK14\bin” 内容,单击按钮结束。
⑤ 若在“系统变量”分组框中没有找到“Path”,则单击按钮,设置“变量名”为“Path”,“变量值”为“;E:\JSDK14\bin”,再单击按钮结束。这样就可以在“命令提示符”窗口中执行Javac、Java、Javadoc等命令了。
(2)添加CLASSPATH环境变量。
只设置Path环境变量对运行所有的可执行文件还是不够的,因为在“.java”代码中,还可能引用JSDK默认的几个Java类包,否则用“Javac编译器”无法将代码成功编译而生成“.class”类文件。所以Java还要利用另一个环境变量——CLASSPATH。
Java运行环境需要从“CLASSPATH”环境变量中找到要执行的Java类,如果设置不当,则可能遇到各种因为找不到指定的类而引起的错误。
① 在“环境变量”对话框中单击“系统变量”分组框的按钮,弹出“新建系统变量”对话框,如图1.20所示。
图1.19 “编辑系统变量”对话框
图1.20 “新建系统变量”对话框
② 在“变量名”文本编辑框中填写“CLASSPATH”,在“变量值”文本编辑框中填写“.;E:\JSDK14\lib\dt.jar; E:\JSDK14\lib\tools.jar;”。这里需要注意的是变量值中最前面的两个符号:第一个是点号“.”,第二个是分号“;”,不能漏写。然后单击按钮,这样就成功添加了“CLASSPATH”环境变量。
③ 成功地设置了“Path”变量和添加了“CLASSPATH”变量之后,回到“环境变量”对话框,单击“环境变量”对话框的按钮,回到“系统特性”对话框,单击“系统特性”对话框的按钮,最终完成所有与Java编译、运行有关的环境变量的设置。
在安装完JSDK及配置和添加好Java环境变量之后,编制代码前的准备工作就全部完成。测试安装是否成功或者环境变量是否配置成功,可以用环境测试和程序测试来验证。
案例总结
本节介绍了Java语言的安装、JSDK下几个常用工具JSDK,以及运行环境变量的设置。运行环境变量的设置是否正确,关系到程序能否正确运行。
习题1.2
1.简答题
(1)简述JSDK的目录结构和主要工具的内容。
(2)简述Java程序运行环境变量的设置。
2.操作题
自己动手安装一次Java并进行环境变量的设置。