您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > java语言程序设计_课件_第01章_java概述ppt
Java程序设计第1章java概述2/1381.1.2机器语言、汇编语言和高级语言•机器语言就是计算机CPU的指令集合,用它表示的计算程序即机器语言程序可以直接由计算机执行。我们所谓的使用计算机,其它实质就是通过使用机器语言来完成计算任务,所以从这个角度上讲,机器语言就是机器的“代表”或“化身”。•但机器语言程序难理解,因为机器指令是用二进制数据表示的。为了便于记忆、3/1381.1.2机器语言、汇编语言和高级语言•理解机器指令或机器语言程序,人们用字母符号来表示机器指令,这种字母符号一般用一个有意义单词的前几个字母组成,如ADD表示加法指令,MOV表示传送数据等等。符号化的指令称为汇编指令,汇编指令的集合称为汇编语言,用它表示的程序称为汇编语言程序。•上节例子中的机器语言程序对应的汇编语言程序为下表右部分所示:4/1385/1381.1.2机器语言、汇编语言和高级语言•1publicclassaverage{•2publicstaticvoidmain(String[]args){•3inta=12,b=34,c;•4c=(a+b)/2;•5System.out.println(“Theaverageis:”+c);•6}•7}6/1381.1.2机器语言、汇编语言和高级语言•输出结果:•Theaverageis:23•程序说明:这里的Java程序由一个所谓的类构成,第1行是该类的开始,定义了名为average的类,第7行以}来结束该类的定义。•类一般包含多个方法,average类只含一个名为main的主方法,它由方法头部即7/1381.1.2机器语言、汇编语言和高级语言•第2行开始到第6行结束,其包含三句即第3、4、5行,其中第3行声明三个整型变量a、b和c,分别存放两个整数和它们的平均值。第4行计算出a和b的平均值,并存放到(赋值给)变量c中。第5行从屏幕上输出文字“Theaverageis:”和结果即c的值。•注:上述java程序中,每行开始的数字不是程序中的部分,它是作者加上的,8/1381.1.2机器语言、汇编语言和高级语言•用来表示行号,以便解释每行程序时,指明是哪一行。•可见,高级语言要比汇编语言容易理解和记忆,事实上,它的抽象程度比汇编语言的高,并且更“接近”我们人类的语言,如高级语言中的变量就是存储单元的抽象。•注:这里每一句如c=(a+b)/2对应了完成相应计算的多条汇编语句。9/1381.1.2机器语言、汇编语言和高级语言•采用高级语言完成我们的计算任务,确实要比机器语言和汇编语言较自然和直观。但是,计算机毕竟只能执行机器指令,所以,当我们编写出高级语言程序后,还得将它转换成对应的机器语言程序,才能使计算机去执行计算。•完成这种转换的过程称为程序翻译。•程序翻译犹如是现实中的语言翻译,也10/1381.1.2机器语言、汇编语言和高级语言•有两种方式即“笔译”和“口译”。•笔译就是一次完整地翻译并记录在纸上,然后可以复印多份,同时供多人阅读。•而口译是在实际场景中,边讲边口头翻译,同样的话说两次,就得口译两次。显然。口译快,笔译慢;口译效率低,笔译效率高。11/1381.1.2机器语言、汇编语言和高级语言•对程序翻译而言,其“笔译”称为编译,其“口译”称为解释,并且编译和解释工作是由专门的程序来完成的,这种翻译程序分别称为编译程序和解释程序。•在编译过程,被翻译的语言程序也称为源程序,相应地翻译结果称为目标程序,并且当源程序是汇编语言程序是,对应的翻译程序称为汇编程序,如图1-3所示。12/1381.1.2机器语言、汇编语言和高级语言13/1381.2Java语言•Java是功能齐全的能用程序设计语言,可以开发可靠的、要求严格的应用程序。Java不仅可以开发Web应用程序,而且还可以开发跨平台的独立应用程序,这些程序用于服务器、台式机、移动设备等。14/1381.2.1Java语言的特点•Java具有许多诱人的特点。这些特点正如Sun公司在Java语言白皮书开始处所说,包括Java是简单的、面向对象的、分布式的、解释型的、健壮的、安全的、结构中立的、可移植的、高效的、多线程的以及动态的等。1.Java是简单的•任何一门计算机语言都不是简单的,15/1381.2.1Java语言的特点•因为他们都具有进行程序设计所需要的基本功能和基本成份,需要完成常规程序设计。但是与程序设计语言C++相比,Java要显得简单一些。Java部分地模仿了C++,但是进行了极大的简化和改进。例如,C++中的指针和多重继续常常使程序复杂化,而Java丢弃了指针,并使用一种所谓接口(interface)的简单概念代替了多重继续。16/1381.2.1Java语言的特点•C++要求程序员自己去进行内存的分配与回收,而Java采用自动内存分配与回收。另外,Java比C++具有更少的语言概念,而功能却更强大。2.Java是面向对象的•Java一开始就设计为完全面向对象的,即Java天生就是面向对象的。而许多面向对象语言如C++,包含了面向过程的特征。17/1381.2.1Java语言的特点•所谓面向过程,指程序是按照问题解决的既定过程设计而的,它在的运行过程完全符合问题解决的既定过程,这就要求设计过程中必须按照(规定的)解决问题过程来进行,即通过把问题分解为若干小问题来进行求解,也即进行所谓的功能分解。这样,设计出来的程序是由一些功能模块构成18/1381.2.1Java语言的特点•(这种“功能模块”在C语言中称为函数),如图1-5所示,该程序是用于计算规则图形面积,它被分解为四个功能模块。19/1381.2.1Java语言的特点•而面向对象是指程序是由对象构成的,这种对象是问题中事物的抽象,它包含数据字段和方法;数据字段和方法分别用来表征事物的属性和行为。面向对象还提供了对象的继承和多态性,这用来反映事物之间的关系。面向对象是对现实世界中事物及其关系的一种自然的反映,因而,它便于反映现实世界的变化,并且对付这种变化付出的代价要比面向过程技术小得多。20/1381.2.1Java语言的特点•作为面向对象的Java,它提供了封装、继承和多态性,这使得它具有了极大的灵活性、模块性、透明性和可重用性。其中的重用性使我们可以重用代码。3.Java是分布式的•分布式计算是网络上的一种高级应用形式,它使网络上的多台计算机整合为一个整体(好象一台计算机一样),21/1381.2.1Java语言的特点•透明地完成用户提交的工作。Java的设计使分布式计算变得容易起来,由于Java一开始就设计了网络工作能力,因而编写网络程序如同在文件中存取数一起。4.Java是解释型的•Java程序运行前需要编译成一种所谓Java虚拟机(JavaVirtualMachine,JVM)编码,这种编码称22/1381.2.1Java语言的特点•为字节码(bytecode)。字节码独立于具体的计算机,运行时需要Java解释器来把它转换成本地计算机代码予以完成,所以它能在任何具有Java解释器的机器上运行。如图1-6所示是Java程序、Java字节码、Java虚拟机和计算机的关系。23/13824/1381.2.1Java语言的特点•大多数高级语言的编译器都把程序编译成机器代码,这种机器代码只能在本地计算机上运行,如果要在其他计算机上运行,还得在这些计算机上重新编译。使用Java,只需要编译一次,其编译而成的字节码即可以在任何具有Java解释器的平台上运行。5.Java是健壮的•任何一门程序设计语言都不能是绝对25/1381.2.1Java语言的特点•可靠的,其编制的程序都有可能发生这样或那样的错误。所谓健壮的就指避免错误和处理错误的能力较强。Java丢弃了其他语言中容易引起错误的某些程序概念类型,例如,它不支持指针,从而避免了重写内存而造成的数据破坏的可能性。另一方面,Java具有实时异常处理的功能,该特点有助于提高程序的健壮性。Java强26/1381.2.1Java语言的特点•制程序员编写处理异常的代码,所以它能够捕获并响应意外情况,从而发生实时错误时程序能够继续正常执行错误处理代码,稳妥地结束。5.Java是安全的•Java一开始就是用于Internet程序设计而出现的,网络和分布式环境是它的主要用途之一。所以,Java在安全上进行了精心的考虑,它执行多层安27/1381.2.1Java语言的特点•全机制用以保护系统不受到恶意地破坏,从而使用户在下载并运行一个Javaapplet(一种特殊的Java程序,它需要下载到本地计算机Internet浏览器中运行)时,它不会损害本地的系统。安全性的前提是什么也不能信任。6.Java是结构中立的•Java是解释型的,这一特点使得Java28/1381.2.1Java语言的特点•成为结构中立的(architecture-neutral),即Java是平台无关的。得用Java虚拟机,我们可编写任何平台上都能运行的程序。7.Java是可移植的•Java是结构中立的,因而Java程序是可移埴的,它不必重新编译就能在任何平台上运行。Java在不同平台上运行时,用户不用担心数值的最大长度29/1381.2.1Java语言的特点•和精度会发生变化。8.Java是高效的9.Java是多线程的•多线程使得一个程序可以同时执行多个任务成为可能,因而它被广泛应用于图形用户界面(GraphicsUserInterface,GUI)和网络程序设计中。在GUI程序设计中,有许多任务需要同时进行,如播放音乐、浏览网30/1381.2.1Java语言的特点•页等。在网络程序设计中,一个服务器可能同时为多个客户服务,如多台计算机上的浏览器同时向一台服务器请求网页信息时,就需要服务器有多个线程分别响应它们的要求。一般而言,使用多线程必须调用操作系统特定的过程才能实现,但Java语言却平衡地集成了多线程程序设计技术,简化了程序员的编程难。31/1381.2.1Java语言的特点10.Java是动态的•Java是为适应变化的环境而设计的,不用重新编译就可以在不知不觉中装入新类。既不需要开发者创建新的软件版本,也不需要用户重新安装,必要时,新特征就可以透明地并入。32/1381.2.2Java环境与工具•Java环境由Java应用编程接口(API)和Java虚拟机(JVM)构成。Java应用编程接口是已编译的可在我们的程序中使用的代码库或预定义类库。它们使我们能够添加现成的可定制的功能,以节约编程时间。Java虚拟机是用来解释执行我们的Java程序。33/1381.2.2Java环境与工具•Java工具是给我们编写和运行Java程序提供支持的一组程序,它的主要功能就是编译Java程序。•为了构建Java环境,Sun公司提供了Java系统,该系统目前已支持1998年公布的Java2平台,主要的有三种即Java2标准版(Java2StandardEdition,J2SE)、34/1381.2.2Java环境与工具•Java2企业版(Java2EnterpriseEdition,J2EE)以及Java2微型版(Java2MicroEdition,J2ME)。其中J2SE主要用来开发客户端独立的Java应用程序和Javaapplet程序,J2EE主要用来开发服务端的应用程序如JavaServlets和JavaSeverPage。J2ME主要用来开发移动设备编程。本书主要以35/1381.2.2Java环境与工具•J2SE5.0版为主。•Java工具都是由一些独立的程序构成,它们都是从命令行运行的,例如,javac用来编译Java源程序,java用来解释执行已编译的Java程序。为了方便程序员编程,多家公司已经提供了快速集成开发环境IDE(IntegratedDevelopmentEnviroment),它们把编辑、编译、36/1381.2.2Java环境与工具•链接、调试和在线帮助都集成在一个图形窗口中。只需要在一个窗口中输入源程序或打开已有的程序文件,点击按
本文标题:java语言程序设计_课件_第01章_java概述ppt
链接地址:https://www.777doc.com/doc-2881536 .html