Java语言程序设计教程课件.ppt

上传人:小飞机 文档编号:1285850 上传时间:2022-11-04 格式:PPT 页数:272 大小:1.09MB
返回 下载 相关 举报
Java语言程序设计教程课件.ppt_第1页
第1页 / 共272页
Java语言程序设计教程课件.ppt_第2页
第2页 / 共272页
Java语言程序设计教程课件.ppt_第3页
第3页 / 共272页
Java语言程序设计教程课件.ppt_第4页
第4页 / 共272页
Java语言程序设计教程课件.ppt_第5页
第5页 / 共272页
点击查看更多>>
资源描述

《Java语言程序设计教程课件.ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计教程课件.ppt(272页珍藏版)》请在三一办公上搜索。

1、Java语言程序设计教程,中国水利水电出版社,21世纪高等院校计算机系列教材,雷学生 主编,Java语言程序设计教程 中国水利水电出版社 21世纪高等院,目 录,第1章 Java语言概述第2章 Java语言基础第3章 控制语句第4章 类及其方法第5章 继承与多态第6章 包和接口第7章 异常处理第8章 多线程编程第9章 Applet编程第10章 输入与输出第11章 常用工具包和类,目 录第1章 Java语言概述,第1章 Java语言概述,Java语言是由Sun公司于1995年推出的一种新的编程语言,它是一种跨平台、适合于分布式计算环境的纯面向对象语言。Java语言及其扩展正在逐步成为互联网应用的

2、规范,掀起了自PC机以来的又一次技术革命。本章主要介绍Java语言的起源、特点、简单示例等。,1.1 Java语言的起源和发展1.2 面向对象的程序设计1.3 Java语言的特点1.4 Java程序的运行,Return,第1章 Java语言概述 Java语言是由Sun公,1.1 Java语言的起源和发展,1.1.1 几种典型语言的发展历程1.1.2 Java语言的起源1.1.3 Java语言的发展,Return,一般认为,B语言导致了C语言的诞生、C语言演变出C+语言,而Java语言则明显带有C+语言的特征。本节将对Java语言的起源和发展作简要介绍。,1.1 Java语言的起源和发展1.1.

3、1 几种典型语言,1.1.1 几种典型语言的发展历程,Return,Java总是和C+联系在一起,而C+则是从C语言派生而来的,所以Java语言继承了这两种语言的大部分特性。Java的语法是从C继承的,Java许多面向对象特性都受到C+的影响。事实上,Java中几个自定义的特性都来自于或可以追溯到它的这些前驱语言。略有不同的是,Java语言完全面向对象,从而摒弃了二者的不足之处。Java语言的诞生与过去约30年中计算机语言的不断改进和发展密切相关。基于这些原因,下面我们将简要介绍一下这个发展历程。,1现代编程语言的诞生:C语言 2对编程方法的新需要:C+语言3时机的到来:Java语言的出现,1

4、.1.1 几种典型语言的发展历程Return,1.1.2 Java语言的起源,Return,Java是由James Gosling、Patrick Naughton、Chris Warth、Ed Frank以及Mike Sheridan等人于1991年在Sun Microsystems公司设计出来的,开发第一个版本花了18个月时间。该语言最初名叫“Oak”,后来发现“Oak”已经是Sun公司另外一种语言的注册商标,于1995年更名为“Java”,即太平洋上一个盛产咖啡的岛屿的名字。从1992 的秋天Oak问世,到1995春天公开发布Java语言,许多人都对Java的设计和改进做出了贡献。,1.

5、1.2 Java语言的起源Return,1.1.3 Java语言的发展,Return,自从于1995年被正式推出之后,Java语言就以其独特的优势迅猛发展,经过短短8、9年时间,成为迄今为止最为优秀的面向对象语言。Java也从当初的一种语言而逐渐形成一种产业,基于Java语言的J2EE架构已成为微软.NET平台的强大竞争对手。 当初,Java语言最初的发布不亚于一场革命,但是它并不标志着Java快速革新时代的结束。在Java 1.0发布后不久,Java的设计者就已经制定出了Java 1.1、 Java 1.2、 Java 1.3、 Java 1.4 、Java 2、Java 2.1.4版。,1

6、.1.3 Java语言的发展Return,1.2 面向对象的程序设计,1.2.1 面向对象技术的提出1.2.2 面向对象的编程思想1.2.3 面向对象编程的基本原则,Return,面向对象的编程思想由来已久,但真正意义上的纯面向对象编程语言目前只有Java。本节将结合几种高级语言对面向对象程序设计思想进行简要介绍。,1.2 面向对象的程序设计1.2.1 面向对象技术的提出,1.2.1 面向对象技术的提出,Return,我们知道,所有的计算机程序均由两类元素组成:代码和数据。如何实现这两类元素的有效结合而形成可运行的程序,是多年来程序设计人员所探索的问题。最初,程序的构筑一般围绕“正在发生什么”

7、而编写代码,这种方法被称为面向过程的编程。使用这种方法编写的程序都具有线性执行的特点。面向过程的编程模型可认为是代码作用于数据,像Pascal、C这样的过程式语言采用此模型是相当成功的。然而,使用面向过程的方法对小程序的编写可能是比较有效的,但当程序变得非常大且更为复杂时,就会出现种种问题,直至失去对代码的有效控制。由此对软件工程中的编程方法问题提出了新的要求。 为了管理不断增加的复杂性,另外一种编程方式被提了出来,即面向对象的编程(OOP,Object-Oriented Programming)。这种编程方式围绕“谁将受到影响”进行,即以代码的相关数据为核心点进行程序编写。面向对象的编程着眼

8、于它的数据(即对象)和为此数据严格定义的接口来组织程序,程序实际上是用数据控制对代码的访问。这种方式的最大特点是代码与其相关数据被分离开来进行处理,有利于程序规模的扩大,而程序的可维护性得到增强。,1.2.1 面向对象技术的提出Return 我们知,1.2.2 面向对象的编程思想,Return,前面提到的面向过程程序,它遵循面向过程的问题求解方法,其中心思想是用计算机能够理解的逻辑来描述和表达待解决的问题及其具体的解决流程。数据结构和算法是面向过程问题求解的核心所在。而面向对象技术则代表了一种全新的程序设计思路,其观察、表述、处理问题的方法,与传统的面向过程的编程方法不同。面向对象的程序设计和

9、问题求解力求符合人们日常自然的思维习惯,尽量分解、降低问题的难度和复杂性,从而提高整个求解过程的可监测性、可控制性和可维护性,以此达到以较小代价和较高效率获得较满意效果之目的。 面向对象编程一个实质性的要素是抽象。,1.2.2 面向对象的编程思想Return 前面,1.2.3 面向对象编程的基本原则,1封装性 封装(Encapsulation)是将代码及其处理的数据绑定在一起的一种编程机制,该机制保证了程序和数据都不受外部干扰且不被误用。一个对象的基本要素包括属性和作用在属性上的操作(方法或事件)。对象的使用实现了数据抽象,它将一组数据和对这组数据的操作结合成一个内在的整体,不允许外界对这组数

10、据任意进行访问,这里就用到了封装的原理。封装的目的是为了实现数据隐藏和数据保护,为对象提供一个对外操作的接口,外界只能从对象所提供的操作接口来认识和操作该对象。,一般说来,面向对象的系统至少需具备三大特性:封装性、继承性、多态性。将封装、继承、多态(包括重载)等面向对象方法应用于程序的开发工具和开发过程中,不仅可以加快开发的速度,还可极大地增强程序的可维护性和可扩展性,提高代码重用率。因此,在面向对象编程过程中需要遵循这三项原则。下面对它们分别作简要介绍。,1.2.3 面向对象编程的基本原则 1封装性,2. 继承性,继承(Inheritance)是一个对象获得另一个对象的属性的过程。继承很重要

11、,因为它支持了层级分类的思想。众所周知,大多数事物均可按层级(即从上到下、从高到低)分类管理。显然,如果不使用层级的概念,在进行描述时,我们就不得不分别定义每个事物的所有属性。使用了继承,一个对象就只需定义使它在所属类中独一无二的属性即可,因为它可以从它的父类那里继承其他所有的通用属性。所以,完全可以这样说,正是继承机制使一个对象成为一个更具通用性的类的一个特定实例成为可能。继承是现实生活中一个非常容易理解的概念。在面向对象的程序设计方法中,引入继承机制的目的在于:其一,避免可公用代码的重复开发, 减少数据冗余;其二,增强数据的一致性,尽量降低模块间的耦合程度。,2. 继承性 继承(Inher

12、itance)是一个对象,3多态性,多态(Polymorphism)来自于希腊语,表示“多种形态”,即允许一个接口被多个同类动作所使用的特征,具体使用哪个动作与应用场合有关。所谓多态性就是当不同的对象收到相同的消息时,产生不同动作的特性。这里所说的消息可以理解为方法或事件。通俗地讲,多态性就是使用一个名称来定义不同的方法,这些方法执行类似的但又不同的操作,即以相同的接口来访问功能不同的函数,从而实现“一个接口,多种方法”。,Return,4多态性、封装性与继承性的相互作用,如果使用得当,在由多态性、封装性和继承性共同组成的编程环境中可以写出比面向过程模型环境更健壮、扩展性更好的程序。精心设计的

13、类层级结构是实现代码可重用性的基础;封装可以使你在不破坏依赖于类公共接口的代码基础上对程序进行升级迁移;而多态性则有助于编写清晰、易懂、易读、易修改的程序。,3多态性 多态(Polymorphism)来自于希腊,1.3 Java语言的特点,1.3.1 语言特点概述1.3.2 Java语言的具体特点1.3.3 Java和C/C+的比较,Return,作为当前一种被广泛使用的面向对象编程语言,Java具有多方面的特点。如果与其他众多的编程语言作一下比较,会发现这些特点正是Java语言之所以如此风靡的原因所在。虽然Java在某些方面(例如资源耗费)也存在一些不足,但这丝毫不影响Java作为目前最优秀

14、面向对象编程语言的地位。,1.3 Java语言的特点1.3.1 语言特点概述Re,1.3.1 语言特点概述,1Java的灵魂:字节码 2Java的内涵:丰富的类库,Return,Java是一种被广泛使用的网络编程语言,这是一种新的计算概念。网络环境下的编程语言最需要解决的是可移植性和安全性问题。以字节方式进行编码,使得程序不受运行平台和环境的限制成为可能。Java语言还提供了丰富的类库,使程序设计人员可以很方便地调用相关类建立起自己的系统。主要表现在:,1.3.1 语言特点概述1Java的灵魂:字节码 Re,1.3.2 Java语言的具体特点,1.简单性2.面向对象3.分布性4.鲁棒性5.可移

15、植性,Return,Java作为一种高级程序设计语言,它除具有面向对象、编写简单、脱离机器结构、具有分布性、鲁棒性、可移植性、安全性特点外,并且提供了并发机制,解释执行具有很高的性能。同时,还具有动态性特点。主要表现在:,6.安全性7.结构中立8.高性能9.多线程10.动态性,1.3.2 Java语言的具体特点1.简单性Return,1.3.3 Java和C/C+的比较,Return,对于变量声明、参数传递、操作符、流控制等,Java使用了和C/C+相同的风格,这使得熟悉C/C+的程序员能很方便地进行编程语言切换。同时,Java实现并加强了其简单、鲁棒、安全等特性,也摒弃了C和C+中许多不合理

16、的地方。主要表现在:,1.头文件2.全局变量3.指针4.内存管理,5.数据类型支持6.类型转换7.结构和联合8.预处理,1.3.3 Java和C/C+的比较Return,1.4 Java程序的运行,1.4.1 Java运行环境的安装与配置1.4.2 第一个Java程序1.4.3 两种类型的Java程序1.4.4 Java环境的有关工具1.4.5 Java程序的编写开发工具,Return,由于Java是采用Java虚拟机进行解释执行的编程语言,它需要一定的软件支撑环境才能够运行起来。本节将先介绍Java的运行环境,然后介绍Java程序的编写。,1.4 Java程序的运行1.4.1 Java运行环

17、境的,1.4.1 Java运行环境的安装与配置,Return,编写并运行Java程序,需要Java开发工具包(JDK,Java Development Kit)的支持。因此在编写自己的第一个Java程序前,读者需要先在自己的机器上安装JDK。到目前为止,JDK的发展经历了JDK 1.0、JDK 1.1、JDK 1.2、JDK 1.3、JDK 1.4等几个版本。,1.4.1 Java运行环境的安装与配置Return,1.4.2 第一个Java程序,说明:保留字class来声明一个新的类,其类名为HelloWorldApp,它是一个公共类(public)。整个类定义由大括号对括起来。在该类中,定义

18、了一个main()方法,其中public表示访问权限,指明所有的类都可以使用这一方法;static指明该方法是一个类方法,它可以通过类名直接调用;void则指明main()方法不返回任何值。对于一个应用程序来说,main()方法是必需的,而且必须按照如上的格式来定义。Java解释器在没有生成任何实例的情况下,以main()作为入口来执行程序。Java程序中可以定义多个类,每个类中可以定义多个方法,但是最多只有一个公共类,main()方法也只能有一个,作为程序的入口。在main()方法定义中的,括号中的String args是传递给main()方法的参数,参数名为args,它是类String的一

19、个实例,参数可以为0个或多个,每个参数用“类名参数名”来指定,多个参数间用逗号分隔。在main()方法的实现中,只有一条语句: System.out.println(Hello World!); 它用来实现字符串的输出。“/”后的内容为注释。,下面是一个经典的Java入门程序,虽然只有短短几行代码,但其中的内容却很丰富,后面将作具体说明:public class HelloWorldApppublic static void main (String args) / Output the first sentence: System.out.println(Hello World!); 此程序

20、的作用是输出下面一行信息: Hello World!,1.4.2 第一个Java程序 说明:保留字class,Java程序的编译及运行,Return,首先,将其保存到一个名为HelloWorldApp.java的文件中。注意:文件名应该与类名相同,因为Java解释器要求公共类必须放在与其同名的文件中。然后,对它进行编译。 C:JavaBookjavac HelloWorldApp.java 编译的结果是生成字节码文件HelloWorldApp.class。最后,使用java命令来运行该字节码文件。 C:JavaBookjava HelloWorldApp 其结果就是在显示器上显示出“Hello

21、 World!”这行文字。,Java程序的编译及运行Return 首先,将其保存,1.4.3 两种类型的Java程序,在Java中可以编写两类程序:应用程序(applications)和Java Applet(小应用程序)。应用程序是可以在控制台上直接运行的程序,在创建应用程序时,Java与其他高级编程语言没有太大区别,而Java的特色就在于它具有编制小应用程序的功能。小应用程序是可以在Internet中传输并在兼容Java的Web浏览器中运行的应用程序。小应用程序实际上就是小型的Java程序,能像图像文件、声音文件和视频片段那样通过网络动态下载,它与其他文件的重要差别是,小应用程序是一个智能

22、的程序,能对用户的输入作出反应,并且能动态变化,而不是一遍又一遍地播放同一动画或声音。 前面对applications作了介绍,下面我们来介绍一下Java Applet的结构和应用。,1.4.3 两种类型的Java程序 在Jav,Java Applet的结构和应用,Return,import java.awt.*;import java.applet.*;public class HelloWorldApplet extends Applet / This is an applet.public void paint(Graphics g) g.drawString(Hello World!,

23、 30, 30); 该程序的功能是:在坐标(30,30)处输出字符串“Hello World!”。 在这个程序中,没有实现main()方法,这是Applet与Application(应用程序)的区别之一。为了运行该程序,首先也应将其保存到一个名为HelloWorldApplet.java的文件中,然后对其进行编译:C:JavaBookjavac HelloWorldApplet.java这样将得到字节码文件HelloWorldApplet.class。由于Applet中没有main()方法作为Java解释器的入口,我们必须编写HTML文件,然后将Applet嵌入其中,接着使用appletvie

24、wer来运行,或在支持Java的浏览器上运行。,该HTML文件如下。 An Applet 其中,使用标记来启动HelloWorldApplet,code属性指明字节码所在的文件,width和height属性指明applet所占区域范围。最后,我们将此HTML文件存入AppletExp.htm,然后运行:C:JavaBookappletviewer AppExp.htm此时,将弹出一个Applet浏览窗口,在其中指定区域显示“Hello World!”。,下面再看一个例子,Java Applet的结构和应用Returnimpor,1.4.4 Java环境的有关工具,Return,Java提供了一

25、些常用的语言工具,主要包括: 1、java:解释器 2、javac:编译器 3、appletviewer:小应用程序浏览器 4、javah:头文件生成器 5、javadoc:API文档生成器 6、javap:类文件反汇编器 7、jdb:Java语言调试器 这些文件包括在/java/bin/目录中,并可以在任何目录中运行,前提是设置了运行程序的相应系统路径。,1.4.4 Java环境的有关工具Return,1.4.5 Java程序的编写开发工具,Return,最后将要说明一下Java程序的编写开发工具。对于一般简单程序的编写,几乎使用任何文本编辑器都可以进行。例如操作系统所带的记事本、写字板等程

26、序。本书中所涉及的Java程序一般使用UltraEdit编写。UltraEdit是一个非常理想的Java程序编写器,它目前的最新版本是Version 10。 如果要进行比较复杂的Java应用系统开发,可使用专门的Java集成开发工具,如JBuilder、Visual J+、Visual Age、JCreator等。其中优秀的开发工具支持与应用服务如BEA WebLogic、IBM WebSphere的集成。具体选用哪种开发工具要视项目的具体情况而定。,1.4.5 Java程序的编写开发工具Return,第2章 Java语言基础,本章将介绍Java语言的基础知识,包括基本语言要素、基本数据类型、

27、变量、数组、运算符等。扎实地掌握这些内容对后续学习是很有必要的。,2.1 预备知识2.2 基本语言要素2.3 基本数据类型2.4 变量2.5 数组2.6 运算符,Return,第2章 Java语言基础 本章将介绍Java语言,2.1 预备知识,2.1.1 一个简单的Java程序2.1.2 两种控制语句2.1.3 关于程序块,Return,在第1章中,我们已经学会了编写“Hello World”这种极为简单的Java程序。为了便于本章后面内容的叙述,本节将再介绍一个稍复杂的Java程序,使读者在学习Java语言的基础知识前也能够编写简单的Java程序。,2.1 预备知识2.1.1 一个简单的Ja

28、va程序Re,2.1.1 一个简单的Java程序,class MyExample public static void main(String args) int num; num = 200; System.out.println(This is num: + num); num = num * 2; System.out.print(The value of num * 2 is:); System.out.println(num); ,下面是一个简单的Java程序。读者将会看到,这个程序虽然不是很复杂,但其中所包含的内容和功能却很丰富。,运行结果:This is num: 200The

29、value of num * 2 is: 400,2.1.1 一个简单的Java程序class MyExam,对大多数的编程语言来说,程序源代码文件的命名是任意的,只要符合所运行的操作系统平台的要求即可。但这对于Java来说就行不通。在开始进行Java编程前,读者需要知道的第一件事情就是:源文件的名称必须与主类名一致。这一点非常重要。对于上面的例子,源程序文件名就应该是MyExample.java。下面我们将解释其中的原因。 在Java中,一个源程序文件被称为一个编译单元(Compilation Unit),它是包含一个或多个类定义的文本文件。Java编译器要求源程序文件使用.java作为扩展

30、名。请注意,文件扩展名的长度是4个字符,因此所用操作系统一定要有支持长文件名的能力。这就意味着DOS和Windows 3.x是不支持Java文件命名规则的。 从上述示例程序中可以看出,程序中定义的类名也是MyExample,这不是巧合。在Java中,所有的代码都必须驻留在类中。按照约定,类名必须与源程序的文件名相同,同时还要确保文件名的大小写字母与类名一样,因为Java是区分大小写的。虽然文件名与类名必须一致的约定显得似乎有些死板,但是这个约定有助于编程人员轻松地维护和组织程序。,1关于该程序的命名,对大多数的编程语言来说,程序源代码文件的命名,在第1章中曾经涉及到这方面的内容。要编译并运行示

31、例程序MyExample,首先要运行编译器程序javac,并在命令行上指定源程序文件名,具体格式如下。 C:javac MyExample.java 这样,编译器javac产生一个名为MyExample.class的文件,该文件包含程序的字节码。前面已讨论过,Java字节码中包含的是Java解释程序将要执行的指令码,因此javac的输出结果并不是可以直接运行的代码。 要真正运行该程序,必须使用名为java的Java解释器。具体方法是将类名MyExample作为一个命令行参数输入,格式如下: C:java MyExample 如果程序运行正常,将输出如下内容: This is num: 200

32、The value of num * 2 is: 400,2编译和运行程序,提示:当Java源代码被编译后,每个单独的类都被放入自己的输出文件中,并以类的名字加.class扩展名为其文件名。这就是为什么Java源程序文件必须与其中包含的类同名的原因源程序文件将与.class文件同名。运行Java解释器,实际上是指定想要解释器运行的类的名字,它会自动搜索包含该名字且带有.class扩展名的文件。如果找到,它将运行包含在该指定类中的代码。,Return,在第1章中曾经涉及到这方面的内容。要编译并运,2.1.2 两种控制语句,1.if控制语句 Java中的if控制语句与其他编程语言中的IF语句非常相

33、似,并且与C/C+语言中的if语句的语法完全相同。它最简单的形式如下: if(condition) statement; 其中:condition是一个布尔表达式。如果其值为真,那么执行语句statement;如果其值为假,则语句statement将被绕过而不被执行。 例如下列语句: if (num 2008) println(You are welcome!); 该语句的功能是:如果变量num的值小于2008,那么条件表达式的值为真,方法println()将被调用执行,否则方法println()被绕过而不被执行。,尽管在后面的第3章中将详细讨论Java控制语句,这里我们还是先简要介绍两种控制

34、语句,以便能在本章后面的例程中使用它们。,2.1.2 两种控制语句 1.if控制语句,class IfSample public static void main(String args) int a,b; a = 100; b = 200; if(a b) System.out.println(a now greater than b); ,下面的程序说明了if控制语句的用法。,运行结果:a is less than ba now equal to ba now greater than b,class IfSample 下面的程序说明了if控制语句,在几乎所有的编程语言中,循环语句都是很重

35、要的组成部分,这对于Java也不例外。事实上,在后面的有关章节中读者将会看到,Java提供了一套功能强大的循环结构,而for循环也许是最通用的。如果读者对C/C+熟悉,会发现Java的for循环和C/C+语言中的for循环操作完全一样。 最简单的for循环结构的形式如下:for(initialization; condition; iteration) statement; 其中,循环体的初始化部分(initialization)设置循环变量并为变量赋初始值。条件判断部分(condition)是测试循环控制变量的布尔表达式。若测试结果为真,循环体(statement)继续反复执行;若测试结果为

36、假,循环结束。迭代部分(iteration)的表达式决定循环控制变量在每次循环后是如何改变的。,2.for循环语句,在几乎所有的编程语言中,循环语句都是很重要的组成部,class ForTest public static void main(String args) int a; for(a = 0; a10; a = a+1) System.out.println(This is a: + a); ,下面的这个短程序说明了for循环的使用方法。,运行结果如下:This is a: 0This is a: 1This is a: 2This is a: 3This is a: 4This i

37、s a: 5This is a: 6This is a: 7This is a: 8This is a: 9,在该例子中,a是循环控制变量,它在for的初始化部分被初始化为零。在每次重复迭代(包括第一次)的开始,执行条件测试a 10。如果测试的结果为真,则println()语句被执行,然后执行循环体的迭代部分。此过程将持续进行下去,直到条件测试的结果为假。,注意:通常在Java专业程序员编写的程序中,循环体的迭代部分很少会看到象“a = a + 1;”的语句。原因是:Java语言中有一个特殊的增量运算符,即“+”和“-”,它们的作用分别是为对象加1和为对象减1 。 这样,前述的for循环语句通

38、常写成下列这样: for(a = 0; a10; a+),Return,class ForTest 下面的这个短程序说明了for循环,2.1.3 关于程序块,在Java语言中,可以将2个或2个以上的语句组成一个语句组,这样的一组语句被称为程序块(Codeblocks)。程序块通过将所属语句放在大括号中来实现。一旦创建了程序块,它就成为一个逻辑单元,可以作为一个单独的语句来使用。例如,程序块可以作为Java中if控制语句和for控制语句的目标。下面我们来看一下如下的if控制语句:if (a b) / begin a block a = b; b = 0; / end of block 本例中,如

39、果a小于b,那么在程序块内的两条语句都将被执行。因此,程序块中的这2条语句组成一个逻辑单元,不能出现一条语句运行,而另一条语句不运行的情况。其中的关键点是如果你需要将两个或多个语句在逻辑上连接起来,就可以将其放入一个程序块中。,2.1.3 关于程序块 在Java语言中,可以将2,2.1.3 关于程序块,又例如,下面的程序将for循环作为一个程序块使用:class BlockTest public static void main(String args) int a,b;b = 20;/ the target of this loop is a blockfor (a = 0; a10; a+

40、) System.out.println(This is a: + a); System.out.println(This is b: + b); b = b - 2; 在本例中,for循环作为一个程序块使用,而不是一个单独的语句。这样每循环一次,块内的3条语句都要运行一次,此事实当然为程序的执行结果所证实。在本书的后面,读者将会看到程序块的其他性质和用法。勿庸置疑,程序块存在的主要原因是为了创建逻辑上独立的代码单元。,Return,2.1.3 关于程序块 又例如,下面的程序将for循环作为,2.2 基本语言要素,2.2.1 标识符2.2.2 Java关键字2.2.3 字面量2.2.4 分隔符

41、2.2.5 注释,Return,前面我们通过几个短的程序使读者对Java编程有一个初步的轮廓。在本节里,我们将开始对Java语言元素进行介绍,Java的基本语言要素包括标识符、关键字、字面量、分隔符、注释、数据类型、变量以及运算符等。,2.2 基本语言要素2.2.1 标识符2.2.2 J,2.2.1 标识符,标识符(Identifier)是赋给类、方法或者变量的名称。一个Java标识符可以由大写/小写字母、数字、下划线(_)、美元符号($)按照一定的顺序组合而成,但不能以数字开头,因为这样容易与数字、常量相混淆。 下面是一些合法的标识符:TotalTmp Count x4$myvar this

42、_is_var以下是一些非法的标识符:2thupku high-digNot/okjava¨ its_a+b+c注意:在Java中标识符是严格区分大小写的。例如,MyVal和Myval在Java中是两个完全不同的标识符。,Return,2.2.1 标识符标识符(Identifier)是赋给类、,2.2.2 Java关键字,关键字是指被系统所保留使用的标识符,这些标识符不能被编程人员用作变量名、类名或方法名。目前,Java语言中保留的关键字如下:abstract assertbooleanbreakbytecasecatch charclassconstcontinuedefaultdo

43、doubleelseextendsfalse *finalfinally floatforgotoifimplementsimport instanceofintinterfacelongnativenew null *packageprivateprotectedpublicreturn shortstaticstrictfp superswitchSynchronized thisthrowthrowstransienttrue *try voidvolatilewhile 其中,关键字strictfp在Java 1.2版本中被加入,关键字assert则是在Java 1.4版本中新增的。需

44、要说明的是,关键字const和goto虽然被保留,但尚未被当前的Java规范所使用。在上面的关键字中,true、false和null是Java所定义的常值。虽然它们不用作系统标识符,你也不能使用这些词作为类名、方法名、变量名等。,Return,2.2.2 Java关键字 关键字是指被系统所保留使,2.2.3 字面量,Return,在Java中,字面量(literal)是指由文字所表示的取值,也可以称为常量。 例如,下面所列的就是一些字面量: 100 99.99 AThis is a frog 上面的这些字面量中,第一个表示一个整数,第二个是一个浮点值,第三个是一个字符型的常量,最后一个则是一个

45、字符串值。字面量(常量)能在程序中的任何地方被它所允许的类型直接使用,代表的是所属类型的一个实在值。关于字面量,我们将在介绍完Java语言的数据类型后作进一步的说明。,2.2.3 字面量Return 在Java中,字,2.2.4 分隔符,此外,还有一种“看不见”的分隔符,即空白分隔符(Whitespace)。Java是一种形式自由的语言,这意味着编程人员不需要遵循任何特殊的缩进书写规范。例如,程序的所有代码可以处在同一行上(一般情况下没人这么做,因为可读性差),也可按照自己喜欢的方式输入和编排程序代码,前提是必须在已经被运算符或分隔符描述的标记之间留出空白分隔符。在Java中,空白分隔符可以是

46、空格符、Tab跳格键,或者是换行符。,Return,在Java中,有一些字符被系统当作分隔符使用,最常用的分隔符是分号(;),用来分隔不同的Java语句。下表中给出了Java中常见的分隔符。,2.2.4 分隔符此外,还有一种“看不见”的分隔符,即空白,2.2.5 注释,Return,Java中有3种类型的注释(comments)方式,其中前两种注释方式即单行注释和多行注释已作介绍。第三种方式被称为文档注释(Documentation comment),它以“/*”开始,以“*/”标志结束。文档注释提供将程序信息嵌入到程序中的功能。开发人员可以使用javadoc工具将信息取出,然后转换为HTML

47、文件。这种注释方式提供了编写程序文档的便捷方式。javadoc工具生成的文档十分常见,因为Sun的Java API文档库就是这么生成的。javadoc所识别的标记见教材P28表2-2。标记的使用方法见教材P2931。 从表2-2中不难发现,在进行文档注释时,所有的文档标记都以“”标志开始。在一个文档注释中,也可以使用其他的标准HTML标记。然而,有些标记(如标题)是不能使用的,因为它们会破坏由javadoc生成的HTML文档外观属性。 同时可以使用文档注释为类、接口、域、构造函数和方法提供文档。在所有这些情况中,文档注释必须紧接在被注释的项目之前。为变量作注释,可使用see、since、ser

48、ial、 serialField和deprecated文档标记;为类作注释,可使用see、author、since、 deprecated和version文档标记;为方法作注释,可使用see、return、param、since、deprecated、throws、serialData和exception作标记。而link和docRoot标记则可以用在任何地方。,2.2.5 注释Return Java中,2.3 基本数据类型,2.3.1 Java是强类型语言2.3.2 整数类型2.3.3 浮点类型2.3.4 字符类型2.3.5 布尔类型2.3.6 对字面量的进一步讨论,Return,本节将介绍

49、Java语言中最基本的数据类型。同其他所有的高级编程语言一样,Java支持多种数据类型,它们可以用来声明变量、创建数组以及其他更复杂的数据结构。,2.3 基本数据类型2.3.1 Java是强类型语言2,2.3.1 Java是强类型语言,Java的安全和健壮性很大程度上来自于它是一种强类型语言。究其原因:首先,每个变量有类型,每个表达式有类型,而且每种类型都是严格定义的;其次,所有的数值传递,不管是直接的还是通过方法调用经由参数传过去的,都要先进行类型相容性的检查,而有些语言就没有自动强迫进行数据类型相容性的检查或对冲突的类型进行转换的机制。 Java编译器对所有的表达式和参数都要进行类型相容性

50、的检查,以保证类型是兼容的。任何类型的不匹配都将被报告为错误而不是警告。在编译器完成编译以前,错误必须被改正过来。,2.3.1 Java是强类型语言 Java的安全和健,Java语言中定义了8种基本数据类型:字节型(byte)、短整型(short)、整型(int)、长整型(long)、字符型(char)、浮点型(float)、双精度型(double)、布尔型(boolean),这些类型可分为如下几组。 1、整数类型:该组包括字节型(byte)、短整型(short)、整型(int)、长整型(long),它们都是有符号整数; 2、浮点类型:该组包括浮点型(float)和双精度型(double),它

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号