第1章Java语言概述,java怎么读

java 4
第1章Java语言概述 Java语言是目前使用最为广泛的编程语言之
一,是一种简单、面向对象、分布式、解释、健壮、安全、与平台无关的并且性能优异的多线程动态语言。
本章的学习目标:●了解Java语言的发展历程●理解Java语言的特点●理解Java虚拟机(JVM)●掌握Java运行平台的安装与使用●掌握Java程序开发的过程●学会调试简单的Java程序 1.1Java语言的特点及相关概念 1.1.1Java语言的发展历程 Java语言的前身是Oak语言。
1991年4月,Sun公司(已被Oracle公司收购)以JamesGosling为首的绿色计划项目组(GreenProject)计划发展一种分布式系统结构,使其能够在各种消费性电子产品上运行。
项目组成员在使用C++编译器时发现了C++的很多不足之处,于是研发出Oak语言来替代它,但仅限于Sun公司内部使用。
1994年下半年,由于的迅速发展和Web的广泛应用,工业界迫切需要一种能够在异构网络环境下使用的语言,JamesGosling项目组在对Oak语言进行小规模改造的基础上于1995年3月推出了Java语言,并于1996年1月发布了包含开发支持库的JDK1.0版本。
该版本包括Java运行环境(JRE)和Java开发工具箱(JavaDevelopmentKit,JDK),其中JRE包括核心API、集成API、用户界面API、发布技术及JVM(Java虚拟机)5个部分,而JDK包括编译Java程序的编译器(javac)。
在JDK1.0版本中,除了AWT外,其他的库并不完整。
1997年2月,Sun公司发布了JDK1.1版本,为JVM增加了即时编译器(JIT)。
与传统的编译器编译一条指令待其运行完后再将其释放掉不同的是,JIT将常用的指令保存在内存中,这样在下次调用时就没有必要再编译。
继JDK1.1版本后,Sun公司又推出了数个JDK1.x版本。
•2• Java基础教程(第3版) 虽然在1998年之前,Java被众多的软件企业所采用,但由于当时硬件环境和JVM的技术尚不成熟,它的应用很有限。
那时Java主要应用在前端的Applet以及一些移动设备中。
然而这并不等于Java的应用只限于这些领域。
1998年是Java迅猛发展的一年,在1998年Sun发布了JSP/Servlet、EJB规范以及将Java分成了J2EE、J2SE和J2ME,标志着Java已经吹响了向企业、桌面和移动3个领域进军的号角。
1998年12月,Sun公司发布了JDK1.2版本。
Java1.2版本是Java语言发展过程中的一个关键阶段,从此Sun公司将Java更名为Java2。
JDK1.2版本可分J2EE、J2SE和J2ME三大应用平台。
JDK1.2版本的API分成了核心API、可选API和特殊API三大类,其中核心API是由Sun公司制定的基本的API,所有的Java平台都应该提供,可选API是Sun为JDK提供的扩充API,特殊API是用于满足特殊要求的API。
同时,Java2增加了Swing图形库,包含各式各样的组件。
从JDK1.2版本开始,Sun以平均两年一个版本的速度推出新的JDK。
2000年5月,Sun公司发布了JDK1.3版本;2002年2月,Sun公司发布了JDK1.4版本;2004年10月,Sun公司发布了JDK1.5版本,同时,Sun公司将JDK1.5改名为JDK5.0。
2006年4月,发布了JDK6.0测试版本,并于2007年初发布了JKD6.0正式版本,2011年7月发布了JDK7.0版本,2014年3月发布了JDK8.0版本。
在Java发展的十几年的时间里,经历了无数的风风雨雨,现在Java已经成为一种相当成熟的语言。
在近20年的发展中,Java平台吸引了数百万的开发者,在网络计算遍及全球的今天,Java已广泛应用于移动电话、桌面计算机、蓝光光碟播放器、机顶盒甚至车载,更是有30多亿台设备使用了Java技术。
1.1.2Java语言的特点 作为一种面向对象且与平台无关的多线程动态语言,Java具有以下特点。

1.语法简单 Java语言的简单性主要体现在以下三个方面。
●Java的风格类似于C++,C++程序员可以很快掌握Java编程技术。
●Java摒弃了C++中容易引发程序错误的地方,如指针和内存管理。
●Java提供了丰富的类库。

2.面向对象 面向对象编程是一种先进的编程思想,更加容易解决复杂的问题。
面向对象可以说是Java最重要的特性。
Java语言的设计完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。
Java支持静态和动态风格的代码继承及重用。
单从面向对象的特性来看,Java类似于SmallTalk,但其他特性,尤其是适用于分布式计算环境的特性远远超越了SmallTalk。
第1章Java语言概述 •3•
3.分布式 Java从诞生起就与网络联系在一起,它强调网络特性,内置TCP/IP、HTTP和FTP协议类库,便于开发网上应用系统。
因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统完全相同。

4.安全性 Java的安全性可从两个方面得到保证。
一方面,在Java语言里,像指针和释放内存等C++中的功能被删除,避免了非法内存操作。
另一方面,当Java用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。
Java语言在机器上执行前,要经过很多次的测试。
其三级安全检验机制可以有效防止非法代码入侵,阻止对内存的越权访问。

5.健壮性 Java致力于检查程序在编译和运行时的错误。
除了运行时异常检查外,Java提供了广泛的编译时异常检查,以便尽早发现可能存在的错误。
类型检查帮助用户检查出许多早期开发中出现的错误。
Java自己操纵内存减少了内存出错的可能性。
Java还实现了真数组,避免了覆盖数据的可能,这项功能大大缩短了开发Java应用程序的周期。
Java提供Null指针检测数组边界及检测异常出口字节代码校验。
同时,在Java中对象的创建机制(只能用new操作符)和自动垃圾收集机制大大减少了因内存管理不当引发的错误。

6.解释运行效率高 Java解释器(运行系统)能直接运行目标代码指令。
Java程序经编译器编译,生成的字节码经过精心设计,并进行了优化,因此运行速度较快,克服了以往解释性语言运行效率低的缺点。
Java用直接解释器1秒钟内可调用300000个过程。
翻译目标代码的速度与C/C++没什么区别。

7.与平台无关 Java编译器将Java程序编译成二进制代码,即字节码。
字节码有统一的格式,不依赖于具体的硬件环境。
平台无关类型包括源代码级和目标代码级两种类型。
C和C++属于源代码级与平台无关,意味着用它编写的应用程序不用修改只需重新编译就可以在不同平台上运行。
Java属于目标代码级与平台无关,主要靠Java虚拟机(JVM,JavaVirtualMachine)来实现。

8.多线程 Java提供的多线程功能使得在一个程序里可同时执行多个小任务。
线程有时也称作小进程,是一个大进程里分出来的小的独立的进程。
由于Java实现了多线程技术,所以比C和C++更健壮。
多线程带来的更大的好处是更好的交互性能和实时控制性能。
当然实时控制性能还取决于系统本身(UNIX、Windows、Macintosh等),在开发难易程度和性能上都比 •4• Java基础教程(第3版) 单线程要好。
比如上网时都会感觉为调一幅图片而等待是一件很烦恼的事情,而在Java里,可用一个单线程来调一幅图片,同时可以访问HTML里的其他信息而不必等待它。

9.动态性 Java的动态特性是其面向对象设计方法的发展。
它允许程序动态装入运行过程中所需要的类,这是C++语言进行面向对象程序设计时所无法实现的。
在C++程序设计过程中,每当在类中增加一个实例变量或一种成员函数后,引用该类的所有子类都必须重新编译,否则将导致程序崩溃。
Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下来传递给解释器,再由解释器在完成动态链接后,将符号引用信息转换为数值偏移量。
这样,一个在存储器中生成的对象不是在编译过程中确定,而是延迟到运行时由解释器确定的,因此对类中的变量和方法进行更新时就不至于影响现存的代码。
解释执行字节码时,这种符号信息的查找和转换过程仅在一个新的名字出现时才进行一次,随后代码便可以全速执行。
在运行时确定引用的好处是可以使用已被更新的类,而不必担心会影响原有的代码。
如果程序连接了网络中另一系统中的某一类,该类的所有者也可以自由对该类进行更新,而不会使任何引用该类的程序崩溃。
Java还简化了使用一个升级的或全新的协议的方法。
如果系统运行Java程序时遇到了不知怎样处理的程序,Java能自动下载所需要的功能程序。
1.1.3Java虚拟机(JVM) 虚拟机是一种对计算机物理硬件计算环境的软件实现。
虚拟机是一种抽象机器,内部包含一个解释器(Interpreter),可以将其他高级语言编译为虚拟机的解释器可以执行的代码(我们称这种代码为中间语言(IntermediateLanguage)),实现高级语言程序的可移植性与平台无关性(SystemIndependence),无论是运行在嵌入式设备还是多个处理器的服务器上,虚拟机都执行相同的指令,所使用的支持库也具有标准的API和完全相同或相似的行为。
Java虚拟机是一种抽象机器,它附着在具体的操作系统上,本身具有一套虚拟机器指令,并有自己的栈、寄存器等运行Java程序不可少的机制。
编译后的Java程序指令并不直接在硬件系统CPU上执行,而是在JVM上执行。
在JVM上有一个Java解释器用来解释Java编译器编译后的程序。
任何一台机器只要配备了解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。
JVM是编译后的Java程序和硬件系统之间的接口,程序员可以把JVM看做一个虚拟处理器。
它不仅解释执行编译后的Java指令,而且还进行安全检查,它是Java程序能在多平台间进行无缝移植的可靠保证,同时也是Java程序的安全检查引擎,如图1-1所示。
第1章Java语言概述 •5• 机器代码 本地可执行文件(*.exe、文件) Java字节码文件(*.class文件) 硬件操作系统JVM 图1-1计算机硬件、操作系统、JVM与各种可执行程序之间的关系 JVM由多个组件构成,包括类装载器(ClassLoader)、字节码解释器(BytecodeInterpreter)、安全管理器(SecurityManager)、垃圾收集器(GarbageCollector)、线程管理(ThreadManagement)及图形(Graphics),如图1-2所示。
字节码 类 装 (*.class 载 文件) 器 Java虚拟机JVM 字节码解释器 安全管理器垃圾收集器线程管理 图形 操作系统 图1-2Java虚拟机体系结构示意图 ●类装载器:负责加载(Load)类的字节码文件,并完成类的链接和初始化工作。
类装载器首先将要加载的类名转换为类的字节码文件名,并在环境变量CLASSPATH指定的每个目录中搜索该文件,把字节码文件读入缓冲区。
其次将类转换为JVM内部的数据结构,并使用校验器检查类的合法性。
如果类是第一次被加载,则对类中的静态数据进行初始化。
加载类中所引用的其他类,把类中的某些方法编译为本地代码。
●字节码解释器:它是整个JVM的核心组件,负责解释执行由类装载器加载的字节码文件中的字节码指令集合,并通过Java运行环境(JRE)由底层的操作系统实现操作。
通过使用汇编语言编写解释器、重组指令流提高处理器的吞吐量,最大程度地使用高速缓存以及寄存器等措施来优化字节码解释器。
●安全管理器:根据一定的安全策略对JVM中指令的执行进行控制,主要包括那些可能影响下层操作系统的安全性或者完整性的Java服务调用,每个类装载器都与某个安全管理器相关,安全管理器负责保护系统不受由加载器载入系统的类企图执行的违法操作所侵害。
默认的类装载器使用信任型安全管理器。
●垃圾收集器:垃圾收集器用于检测不再使用的对象,并将它们所占用的内存回收。
Java语言并不是第一个使用垃圾收集技术的语言。
垃圾收集是一种成熟的技术,早期的面向对象语言LISP、SmallTalk等已经提供了垃圾收集机制。
理想的垃圾收集 •6• Java基础教程(第3版) 应该回收所有形式的垃圾,如网络连接、I/O路径等。
JVM中垃圾收集的启动方式可分为请求式、要求式和后台式。
请求式是调用System.gc()方法请求JVM进行垃圾收集的。
要求式是使用new方法创建对象时,如果内存资源不足,则JVM进行垃圾收集。
后台式是通过一个独立的线程检测系统的空闲状态,如果发现系统空闲了多个指令周期,则进行垃圾收集。
1.2Java程序开发 1.2.1运行平台
1.平台简介Java运行平台主要分为以下3个版本。
●JavaSE:Java标准版或Java标准平台。
JavaSE提供了标准的JDK开发平台。
●JavaEE:Java企业版或Java企业平台。
●JavaME:Java微型版或Java小型平台。
提示:自JDK6.0开始,Java的3个应用平台称为JavaSE、JavaEE与JavaME(之前的旧名称是J2SE、J2EE、J2ME)。
本书基于JavaSE7.0来介绍Java的相关知识,所有程序均在JDK7.0版本下调试通过。

2.环境变量环境变量也称为系统变量,是由操作系统提供的一种与操作系统中运行的程序进行通信的机制,一般可为运行的程序提供配置信息。
常用的Java运行环境变量包括JAVA_HOME、CLASSPATH和PATH。
JAVA_HOME为那些需要使用Java命令和JVM的程序提供了通用的路径信息,其值应设置为JDK的安装目录的路径,如在Windows平台上JDK的安装目录为“C:\java\jdk1.7”时,设置如下所示。
JAVA_HOME=C:\java\jdk1.7 CLASSPATH用于指明字节码文件的位置。
当执行Java程序时,执行命令首先把类名转换为字节码文件的路径信息,再在环境变量CLASSPATH值的路径列表的每个路径及其子路径中搜索指定的字节码文件,如果在所有路径都找不到该文件,就报告错误。
环境变量CLASSPATH的值一般为一个以分号“;”作为分隔符的路径列表,设置如下所示。
CLASSPATH=C:\java\jdk1.7\jre\lib\rt.jar;.; 第1章Java语言概述 •7• 环境变量PATH是操作系统使用的变量,用于搜索在Shell中输入的执行命令。
为了便于使用,一般可把JDK中Java命令程序所在目录的路径加入PATH变量的值中,设置如下所示。
PATH=…;C:\java\jdk1.7\bin
3.JDK7.0版本的安装 安装步骤如下:
(1)从work/java/javase/downloads网站下载JDK7.0(程序名如jdk-7u9-windows-i586.exe),然后安装该程序。

(2)双击该文件进入安装状态,此时出现一个对话框,如图1-3所示。

(3)在图1-3所示对话框中选择【下一步】按钮,此时出现一个对话框,如图1-4所示。
图1-3协议证许可 图1-4自定义安装
(4)在图1-4所示对话框中选择【更改】按钮,将安装路径修改为c:\java\jdk1.7,此时出现一个对话框,如图1-5所示。

(5)在图1-5所示对话框中执行【下一步】按钮,此时出现一个对话框,如图1-6所示。
图1-5修改安装路径 图1-6目标文件夹
(6)在图1-6所示对话框中选择【更改】按钮,将此时安装路径变为c:\java\jre7,出现 •8• Java基础教程(第3版) 图1-7所示的对话框。

(7)在图1-7所示对话框中单击【下一步】按钮,过一两分钟出现图1-8所示的对话框。

(8)在图1-8所示对话框中选择【完成】按钮,至此安装完毕。
图1-7JRE路径设置 图1-8安装完成 安装完毕后的主要目录有以下几个。
●\bin目录:Java开发工具,包括Java编译器和解释器等。
●\demo目录:一些实例程序。
●\lib目录:Java开发类库。
●\jre目录:Java运行环境,包括Java虚拟机和运行类库等。
提示:Java技术官方网站为work/java;Eclipse项目网站为;各种Java相关开源项目网站为和。

4.环境变量设置 1)设置环境变量JAVA_HOME在Windows2000和WindowsXP中设置JAVA_HOME的步骤如下。

(1)用鼠标右键单击“我的电脑”。

(2)选择“属性”菜单项。

(3)在出现的窗口中,选择“高级”选项。

(4)在出现的窗口中,选择“环境变量”选项。
此时可以通过新建用户变量设置JAVA_HOME变量,结果如图1-9所示。
2)设置环境变量PATH为了能在任何目录中使用编译器和解释器,应在系统特性中设置PATH。
在Windows2000和WindowsXP中设置PATH的步骤同前,结果如图1-10所示。
第1章Java语言概述 •9• 图1-9设置环境变量JAVA_HOME 图1-10设置环境变量PATH 3)设置变量CLASSPATH在Windows2000和WindowsXP中设置CLASSPATH的方法同前,结果如图1-11所示。
图1-11设置变量CLASSPATH 提示:在Windows7中设置环境变量的步骤如下。

(1)用鼠标右键单击“计算机”。

(2)选择“属性”菜单项。

(3)在出现的窗口中,单击“高级系统设置”。

(4)在出现的窗口中,单击“环境变量”选项。

(5)进行环境变量设置。
4)命令行键入命令若只是临时使用环境变量,可在DOS窗口的命令行输入设置环境变量的命令,如下所示。
setJAVA_HOME=c:\java\jdk1.7setPATH="%PATH%";c:\java\jdk1.7\bin;… 提示:为了方便,可以将所有在DOS窗口命令行下需要输入执行的命令放在一个称为批命令文件(后缀为“.bat”)的文件中,本书中将该文件命名为setpath.bat。
这样只需在命令行下输入setpath便可以执行其中包含的系列命令。
本书中setpath.bat的内容如下:●setPATH="%PATH%";c:\java\jdk1.7\bin;●setJAVA_HOME=c:\java\jdk1.7●setCLASSPATH=c:\java\jdk1.7\jre\lib\rt.jar;.;e:\wu\lib;;e:\java;读者可根据具体情况来修改批命令文件setpath.bat的内容。
•10• Java基础教程(第3版) 5)仅安装JRE如果只想运行Java程序,可以只安装Java运行环境JRE,JRE由Java虚拟机、Java的核心类以及一些支持文件组成。
可以登录网站免费下载Java的JRE。

5.如何使用JDK 以下介绍如何在命令行方式下使用JDK。

(1)单击【开始】按钮,选择【运行】菜单,此时出现一个对话框,如图1-12所示。
图1-12【运行】对话框
(2)在图1-12所示对话框中输入命令“cmd”,之后单击“确定”,出现一个命令窗口,如图1-13所示。
C:\DocumentsandSettings\wu> 图1-13命令窗口
(3)在图1-13所示窗口中DOS提示符后面(注:提示符内容视机器而定,这里为c:\DocumentsandSetting\wu)输入工作路径所在硬盘的盘符(如E:)并回车,此时出现一个命令窗口,如图1-14所示。
C:\DocumentsandSettings\wu>e:E:\> 图1-14命令窗口
(4)在图1-14所示窗口中的DOS提示符E:\〉后面输入转换路径的命令“cd工作路径”,即转换到自己的工作路径,如这里使用的工作路径为e:\java,则输入的转换工作路径的命令为cde:\java,回车后出现一个命令窗口,如图1-15所示。
C:\DocumentsandSettings\wu>e:E:\>cde:\javaE:\java> 图1-15命令窗口
(5)在图1-15所示窗口中DOS提示符“e:\java>”后面输入批命令setpath来设置系统执行文件的位置。
第1章Java语言概述 •11• 说明:●如果已经设置好环境变量JAVA_HOME、PATH和CLASSPATH,则没有必要执 行setpath。
●鉴于许多学生是在公共机房学习,一般不让修改系统信息,因此,建议执行setpath 来临时设置这些环境变量。
1.2.2Java程序开发过程 利用Java可以开发Application程序和Applet程序。
Application程序类似于传统的C和C++程序,不需WWW浏览器支持就可以直接运行。
执行过程:先由piler对源代码进行编译,然后由Java解释器(interpreter)解释执行。
Applet程序运行在网页上并且需要一个驱动的浏览器,如Sun的HotJava、Microsoft的Explorer、网景的NetscapeNavigator。
执行过程为:编写好Applet→交给piler→生成可执行的字节码→放入HTMLWeb页中→浏览器浏览。
图1-16显示了Application程序和Applet程序的开发过程。
源文件编辑器 文件名.java Java编译器 对于Applet 产生字节码 程序 文件 对于Java应用程序 由Java解释器执行 由网页浏览器执行 图1-16Java程序开发过程示意图
1.Application程序的开发 开发一个Application程序需经过3个步骤:编写源文件、编译源文件生成字节码和加载运行字节码。
1)编写源文件。
可使用任何一个文字编辑器来编写源文件,建议使用Editplus。
一个Java程序的源文件由一个或多个书写形式互相独立的类组成。
在这些类中,最多只能有一个类是public类。
对Application程序而言,必须有一个类含有publicstaticvoidmain(Stringargs[])方法,args[]是main方法的一个参数,它是一个字符串类型的数组(注意String的第一个字母是大写的)。
假定创建的源文件为Je0101.java,其内容如下: •12• Java基础教程(第3版) 【实例1-1】 //程序名称:Je0101.java//功能:演示一个简单的Application程序publicclassJe0101{ publicstaticvoidmain(Stringargs[]){System.out.println("你好,很高兴学习Java"); }} 2)编译Java源程序。
使用编译器(javac.exe)对源文件Je0101.java进行编译。
e:\java>javacJe0101.java 编译完后,生成一个名为Je0101.class的字节文件。
提示:如果在一个源程序中有多个类定义和接口定义,则在编译时将为每个类生成一个.class文件(每个接口编译后也生成.class文件)。
3)运行Java源程序。
字节码文件必须通过Java虚拟机中的Java解释器(java.exe)来解释执行。
由于Application程序总是从main方法开始执行,因此Java命令后面所带的参数应该是包含main方法的类对应的class文件名(不含后缀)。
e:\java>javaJe0101 特别提示:Java中Application程序命名具有如下特点:
(1)区分大小写。

(2)如果程序中有public类,则程序名称必须和public类的名称一致。

(3)如果程序没有public类,则程序名称可以任取。
但建议以包含main()方法的类的名称作为程序名称。
因为,无论程序名称如何,使用Java命令运行时,其后的字节码文件一定是main()方法所在类对应的字节码文件。

2.Applet程序的开发 开发一个Applet程序需经过3个步骤:编写源文件、编译源文件生成字节码,以及通过浏览器加载运行字节码。
1)编写源文件。
一个Applet源文件也是由若干个类组成的,一个Applet源文件不再需要main方法,但必须有且只有一个类扩展了Applet类,即它是Applet类的子类(Applet类是系统提供的 第1章Java语言概述 •13• 类),我们把这个类称作Applet源文件的主类。
【实例1-2】 //程序名称:Je0102.java//功能:演示一个简单的Applet程序 importjava.applet.*;importjava.awt.*;publicclassJe0102extendsApplet{ publicvoidpaint(Graphicsg){ g.setColor(Color.blue);g.drawString("Java是一门很优秀的语言",12,30);g.setColor(Color.red);g.drawString("我一定认真学习Java",22,56);}} 2)编译源文件。
e:\java>javacJe0102.java 编译成功后,文件夹e:\java下会生成一个Je0102.class文件。
3)运行。
Applet程序由浏览器运行,因此必须编写一个超文本文件(含有Applet标记的Web页)通知浏览器来运行这个Applet程序。
下面是一个最简单的html文件(名称由使用者自己确定,这里不妨假定为Je0102.html),该文件通知浏览器运行Applet程序。
使用记事本编辑如下。
现在可以使用浏览器打开文件Je0102.html来运行Applet程序,运行结果如图1-17所示。
图1-17用IE打开.html文件 另外,还可以在DOS命令行下使用iewer来打开网页文件以便执行Applet程序。
e:\java>iewerJe0102.html •14• Java基础教程(第3版) 特别提示:Java中Applet程序命名具有如下特点:●区分大小写。
●以Applet为父类的子类应为public类,程序名称与该类的名称一致。
1.3综合应用 【实例1-3】编写3个源文件:Je0103.java、Je0104.java、Je0105.java,每个源文件只有一个类,分别是Je0103、Je0104和Je0105。
Je0103.java是一个应用程序,使用了Je0104和Je0105类。
将3个源文件保存到同一目录e:\java下,然后编译Je0103.java。
//程序名称:Je0103.java //功能:演示多类编译运行的情况publicclassJe0103{ publicstaticvoidmain(Stringargs[]){Je0104obj1=newJe0104();Je0105obj2=newJe0105();intx=1,y=2;obj1.add(x,y);obj2.minus(x,y); }} //程序名称:Je0104.javaclassJe0104{voidadd(intx,inty){ System.out.println(x+"+"+y+"="+(x+y));}}//程序名称:Je0105.javapublicclassJe0105{voidminus(intx,inty){System.out.println(x+"-"+y+"="+(x-y));}} 开发步骤如下:
(1)打开编辑器,建议使用Editplus。

(2)按“程序模板”的要求输入源程序。
第1章Java语言概述 •15•
(3)保存源文件,分别命名为Je0103.java、Je0104.java、Je0105.java,要求保存在e:\java目录下。

(4)编译源文件Je0103.java。
e:\java>javacJe0103.java 说明:在编译Je0103.java的过程中,Java系统会自动地编译Je0103.java、Je0104.java和Je0105.java,并相应地生成Je0103.class、Je0104.class和Je0105.class。

(5)运行程序。
e:\java>javaJe0103 说明:运行时,虚拟机仅将Je0103.class、Je0104.class和Je0105.class加载到内存。
【实例1-4】当程序名称与main()方法所在类名不一致时,编译命令javac后面的参数是源程序 名,而运行java后面的参数是main()方法所在类对应的字节码文件。
//程序名称:Je0106.java //功能:演示程序名与main()方法所在类名不一致时的编辑运行classA{ publicstaticvoidmain(Stringargs[]){Aa=newA();a.show(); }}publicclassJe0106{ voidshow(){System.out.println("Java编译运行测试"); }} 开发步骤如下:
(1)打开编辑器,建议使用Editplus。

(2)按“程序模板”的要求输入源程序。

(3)保存源文件,命名为Je0106.java。

(4)编译源文件Je0106.java。
e:\java>javacJe0106.java •16• Java基础教程(第3版)
(5)运行程序。
e:\java>javaA 说明:本程序包含一个public类和一个非public类,因此源程序前缀名称应该public类对应的类名称,即为Je0106.java。
由于main()所在类为类
A,不是类Je0106。
因此,运行时java命令后面的字节码文件为类A对应的字节码文件。
1.4本章小结 本章主要介绍了Java语言的发展历程、Java语言的特点、平台无关性、Java虚拟机JVM的含义、Java运行平台、设置及安装JDK7.0、Java程序开发流程。
1.5思考和练习
1.简述Java语言的发展历程。

2.简述Java语言的特点。

3.什么是平台无关性?Java语言的平台无关性属于哪种类型?
4.简述Java虚拟机的工作机制。

5.简述Java程序的开发过程。

6.学会安装JDK1.7软件,并调试运行本章中所提供的程序。

标签: #空间 #电脑 #文件夹 #网页 #颜色 #cf #coupe #文件