Java第1章Java语言概述.ppt

上传人:max****ui 文档编号:11496842 上传时间:2020-04-25 格式:PPT 页数:62 大小:620KB
返回 下载 相关 举报
Java第1章Java语言概述.ppt_第1页
第1页 / 共62页
Java第1章Java语言概述.ppt_第2页
第2页 / 共62页
Java第1章Java语言概述.ppt_第3页
第3页 / 共62页
点击查看更多>>
资源描述
第1章Java语言概述,高荣2015年3月11日,内容提要,Java语言是目前十分流行的面向对象程序设计语言。它具有简单性、平台无关性、安全性、分布性等许多优点,使它不但确立了在网络编程和面向对象编程中的主导地位,而且在移动设备和企业应用的开发中也有广泛应用。,2014年CSDN编程语言调查,主要的开发软件类型是:互联网后端、企业应用及移动应用客户端,开发者面向的主要操作系统,开发者面向的系统主要是Windows、Linux和WindowsServer,开发者的第一编程语言榜首是Java第二语言榜首JavaScript,调查结果显示,第一编程语言排名前三的是Java、C#、C+。其中Java使用者比例最高,为42.82,是C#的两倍还要多。紧跟其后的是C#,比例为17.33,而排名第三的C+则有14.35的比例。在第二编程语言中,Java也有很好的表现,不过使用最多的语言却是JavaScript,比例为27.81,Java排名第二,为16.97,经典的C+比例则为15.90。不论是第一编程语言,还是第二编程,PHP和Objectiver-C也都有较稳定的使用者。,两大阵营,动态语言强类型语言(静态类型语言)是指需要进行变量/对象类型声明的语言,一般情况下需要编译执行。例如C/C+/Java/C#静态语言弱类型语言(动态类型语言)是指不需要进行变量/对象类型声明的语言,一般情况下不需要编译(但也有编译型的)。例如PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/UnixShell等等。,三大编程流派,面向过程面向对象函数式编程,本章要点,本章首先介绍Java语言的起源和发展历程,然后介绍面向对象编程的产生和优势,接下来讲解如何开发Java程序以及字节码和虚拟机,最后介绍Java语言的关键字和标识符。,1.1Java起源与发展,1.1.1Java的起源1.1.2Java的发展历程1.1.3Java语言的特点,1.1.1Java的起源,Java语言最初是由美国SunMicrosystems公司的JamesGosling等人开发的一种面向对象程序设计语言。Java语言于1995年5月23日正式发布。Java语言具有小巧、安全、平台无关以及可以开发一种称为Applet的程序的特点,该语言的发布立即引起巨大轰动。IBM、Novell、Oracle、Borland以及Microsoft公司纷纷购买了Java的使用许可。,1.1.2Java的发展历程,多年来,Java语言不断发展、演化和修订,使它一直站在计算机程序设计语言的前沿。Java2的标准版称为J2SE(Java2PlatformStandardEdition)。Java的下一个升级是J2SE1.3,它是Java2版本首次较大的升级。它增强了一些已有的功能。J2SE1.4进一步增强了Java,该版本包括一些重要的新功能,如链式异常、基于通道的I/O,以及assert关键字。,1.1.2Java的发展历程,J2SE5,它是Java的又一次大的变革。该版本中的新功能有:枚举类型静态导入增强的for循环自动装箱/自动拆箱可变参数的方法泛型注解,1.1.2Java的发展历程,Java的最新版本是JavaSE8,对应的Java开发工具包是JDK8,其内部版本号是1.8。本课程将主要介绍JavaSE7中增加的新功能:二进制整数字面量在数值字面量中使用下划线用String对象控制switch语句创建泛型实例使用菱形运算符使用一个catch捕获多个异常使用try-with-resources的try语句实现自动资源管理,1.1.3Java语言的特点,Java是简单的Java模仿了C+,但进行了一定的简化和改进。Java语言实现了内存空间的自动分配和回收。在语法方面,Java语言的概念要少于C+。清晰的语法使得Java程序容易编写和阅读。Java是面向对象的Java的核心是面向对象程序设计(OOP)。Java语言可以说是纯面向对象的语言,也支持面向对象的主要特征,如封装性、继承性以及多态性等。,Java是分布的Java语言提供了强大的网络编程的支持,它比C+更适合于网络编程。Java是一种适合Internet和分布式环境的技术,所以有人说Java就是网络编程语言。Java是解释型的所谓解释执行是指Java程序并不是将源程序编译成机器码,而是编译成一种称为字节码的中间代码,然后这种中间代码只有在Java虚拟机上才能运行。,Java是平台独立的用Java编写的程序编译成字节码后不依赖于任何平台,无需修改就可在任何平台上运行,只要这种平台上安装了Java虚拟机即可。Java是可移植的Java程序不用重新编译就能在任何平台上运行,从而具有很强的可移植性。在一个平台上编写的程序可以不用修改就能在各种平台上运行,真正实现“一次编写,到处运行”(WriteOnce,RunEverywhere)。,Java是健壮的Java语言是强类型语言,它不但在编译时检查代码,而且在运行时也检查代码。这就需要程序员编写异常处理的代码,从而可以进一步提高程序的健壮性。Java是安全的Java不支持指针数据类型,不允许直接对内存操作。Java还提供了内存管理机制,即通过自动的“垃圾回收”功能清除内存垃圾。Java语言除语言本身加强了安全性外,其运行环境也提供了安全性保障机制。,Java是高性能的Java语言的字节码经过仔细设计,很容易使用即时编译技术(JustInTime,JIT)将字节码直接转换成高性能的本机代码。Java是多线程的多线程是程序同时执行多个任务的能力。Java内在支持多线程编程,因而用Java编写的应用程序可以同时执行多个任务。多线程技术在图形用户界面(GUI)和网络程序设计中非常有用。,Java是动态的Java程序带有多种运行时类型信息,用于运行时校验和解决对象访问问题。这使得在一种安全的、有效的方式下动态地连接代码成为可能,类仅在需要时才被链接。对Java小应用程序来说,在运行时系统中,字节码内的小段程序可以动态地更新。,1.2面向对象编程概述,1.2.1OOP的产生1.2.2OOP的优势1.2.3OO的主要应用,1.2.1OOP的产生,面向对象程序设计(ObjectOrientedProgramming,OOP)是一种功能强大的设计方法。广义上讲,一个程序可以用下面两种方法组织:一是围绕代码,二是围绕数据。面向对象围绕数据来组织程序。在面向对象语言中,需要定义数据和作用于数据的例程。所有OOP语言,包括Java在内,都支持三个特性:封装、多态性和继承。,1.2.2OOP的优势,易维护(maintainability)现代软件规模往往都十分巨大,一个系统有上百万行的代码已是很平常的,这样就会给开发者带来很多问题。采用OOP方法就可以很容易地使程序模块化,模块是可以继承的,因为类本身就是一个模块。好的设计应该允许类包含类似的功能性和有关数据。OOP中经常用到的一个术语是耦合,它表示两个模块之间的关联程度。不同部分之间的松耦合会使代码更容易实现重用,这是OOP的另一个优势。,可重用(resusability)可重用是指之前写好的代码可以被代码的创建者或需要该代码功能的其他人重用。因此,OOP语言通常提供一些预先设计好的类库供开发员使用。Java就提供了几百个类库或API(应用编程接口),可以大大缩短开发时间。可重用性不仅适用于重用类和其他类型的代码,在OOP系统中设计应用程序时,针对OOP设计问题的解决方案也可以重用,这些解决方案称为设计模式,为了便于使用,每种设计模式都有一个名字。,1.2.2OOP的优势,可扩展(extensibility)可扩展是指一种软件在投入使用之后,其功能可以被扩展或增强。在OOP中,可扩展性主要通过继承来实现。可以扩展现有的类,对它添加一些方法和数据,或者修改不适当的方法的行为。如果某个基本功能需要多次使用,但又不想让类提供太具体的功能,就可以设计一个泛型类,以后可以对它进行扩展,使它能够提供特定于某个应用程序的功能。,1.2.2OOP的优势,1.2.3OO的主要应用,面向对象分析(ObjectOrientedAnalysis,OOA):是指了解和分析问题域所涉及的对象、对象间的关系和作用。面向对象设计(ObjectOrientedDesign,OOD):设计各个对象应做些什么。面向对象编程(ObjectOrientedProgramming,OOP):是指软件功能的编码实现,实现在OOD阶段所规定的各个对象所应完成的任务。,1.3简单的Java程序,用Java可开发下面类型的程序:控制台和窗口应用程序。在浏览器中执行的Java小应用程序。在服务器上运行的Servlet、JSP、JSF以及其他JavaEE标准支持的基于Web的应用程序。嵌入式应用程序,如在Android系统下运行的程序。本课程只讨论控制台和窗口应用程序。,1.3简单的Java程序,1.3.1JDK的下载与安装1.3.2第一个简单的程序1.3.3第一个程序分析1.3.4集成开发环境,1.3.1JDK的下载与安装,在编写和运行Java程序之前,必须在计算机上安装Java开发包(JavaDevelopmentKit,JDK)。JDK可以从Oracle官方网站免费下载。JDK可从,1.3.1JDK的下载与安装,JDK中包含两个主要工具,一是Java编译器javac,第二个是Java解释器java。JDK是命令行工具。Java编程需要从文档中查看有关的类库。从下面地址下载JavaAPI文档并安装:,1.3.2第一个简单的程序,程序Welcome.java/*文件名必须为:Welcome.java*/publicclassWelcomepublicstaticvoidmain(Stringargs)/打印输出一行文本System.out.println(WelcometoJavaWorld!);,1.3.2第一个简单的程序,程序1.1Welcome.java,1.3.2第一个简单的程序,开发Java程序通常分三步:编辑源程序;编译源程序;执行程序。,1.3.2第一个简单的程序,1.编辑源程序编辑Java源程序可以使用任何文本编辑器,也可以使用专门的集成开发工具。这里使用Windows的记事本编写源程序源程序输入后,选择【文件】|【保存】命令,打开“另存为”对话框,在“保存在”列表框中选择文件的保存位置,如存在D:study目录中,在“文件名”文本框中输入源程序文件名,如“Welcome.java”。启动命令行窗口,进入D:study,用DIR命令,查看到文件Welcome.java被保存到磁盘上,1.3.2第一个简单的程序,2.编译生成字节码需要将Welcome.java源文件编译成字节码(bytecode)文件。编译源文件需要使用JDK的javac命令,如下所示:D:studyjavacWelcome.java若源程序没有语法错误,该命令执行后返回到命令提示符,编译成功。在当前目录下产生一个Welcome.class字节码文件,该文件的扩展名为.class,主文件名与程序中的类名相同,该文件也称为类文件。可以使用DIR命令查看生成的类文件。,1.3.2第一个简单的程序,3.执行字节码源程序编译成功生成字节码文件后可以使用Java解释器执行该程序。注意,这里不要加上扩展名.class,运行结果如图所示。D:studyjavaWelcome,1.3.3第一个程序分析,1.类定义Java程序的任何代码都必须放到一个类的定义中。publicclassWelcome就是定义一个名为Welcome的类。public为类的访问修饰符,class为关键字,Welcome为类名,其后用一对大括号括起来,称为类体。,1.3.3第一个程序分析,2.main()方法Java程序的标志是类体中定义一个main()方法,main()方法是程序执行的入口点。main()方法的格式如下:publicstaticvoidmain(Stringargs)public是方法的访问修饰符,static说明该方法为类方法,void说明该方法的返回值为空。main()方法必须带有一个字符串数组的参数Stringargs,可以通过命令行向程序中传递参数。方法的定义括在一对大括号中。,1.3.3第一个程序分析,3.输出语句System.out.println(WelcometoJavaWorld!);该语句的功能是在标准输出设备上打印输出一个字符串,字符串字面值用双引号定界。Java语言的语句要以分号(;)结束。System为系统类,out为System类中定义的静态成员变量,它是标准输出设备,通常指显示器。println()是输出流out中定义的方法,功能是打印输出字符串并换行。若不带参数,仅起到换行的作用。另一个常用的方法是print(),该方法输出后不换行。,1.3.3第一个程序分析,4.源程序命名在Java语言中,一个源程序文件被称为一个编译单元。它是包含一个或多个类定义的文本文件。Java编译器要求源程序文件必须以.java为扩展名。当编译单元中有public类时,主文件名必须与public类的类名相同(包括大小写),如本例的源程序文件名应该是Welcome.java。若编译单元中没有public类,源程序的主文件名可以任意。注意:Java语言在任何地方都区分大小写。,1.3.3第一个程序分析,5.程序注释注释是对程序功能的解释或说明。注释内容都被编译器忽略。Java支持3种类型的注释。(1)多行注释,以/*开始,以*/结束的一行或多行文字,如:/*文件名必须为:Welcome.java*/(2)单行注释,以双斜杠/开头,在该行的末尾结束,如:/这里是注释内容(3)文档注释,以/*开始,以*/结束的多行。文档注释是Java特有的,主要用来生成类定义的API文档。,1.3.4集成开发环境,为了加快程序的开发,可以使用集成开发环境(IntegratedDevelopmentEnviroment,IDE)。对于初学者,建议使用JDK命令行工具编译和运行程序,等真正理解了Java程序运行机制或需开发大型程序时再使用IDE。最常用的两个JavaIDE是Eclipse(http:/www.eclipse.org)和NetBeans(http:/netbeans.org/downloads/),这两个IDE都是免费和开源的。,1.4Java字节码与虚拟机,在传统的编程中,源代码是要编译成可执行代码的。这种可执行代码只能在所设计的平台上运行。换句话说,为Windows编写和编译的代码只能在Windows上运行,在Linux中编写的代码就只能在Linux上运行。而Java程序则编译成字节码(bytecode)。字节码不能直接运行,因为它不是本机代码(nativecode)。字节码只能在Java虚拟机(JavaVirtualMachine,JVM)上运行。JVM是一种解释字节码的本机应用程序。Sun公司使JVM在众多平台上都可用,从而使Java成为一种跨平台的语言。每一个字节码都可以在任何一种操作系统上运行。,1.4.1Java平台与Java虚拟机,平台(platform)是指程序运行的软件或硬件环境。大多数平台是指操作系统和硬件的组合,如Windows平台、Linux平台等。Java平台与其他平台不同,它仅是一种运行在其他硬件平台之上的软件平台,Java平台包括两个部分。(1)Java虚拟机(JVM)(2)Java应用程序接口(JavaAPI),1.4Java字节码与虚拟机,JVM是在一台计算机上用软件也可以用硬件实现的模拟的计算机,它定义了自己的指令集合、寄存器集、类文件格式、栈、垃圾收集堆和存储区等。JVM是Java平台的基础,它是构建于其他硬件平台基础上的。目前,JVM适用于Windows、UNIX、Linux、FreeBSD,以及世界上在用的其他的所有主流操作系统。,1.4Java字节码与虚拟机,JavaAPI是现成的软件组件,它提供各种功能,如图形用户界面等。JavaAPI被组织成称为包的类库。Java字节码不是针对具体的硬件的编码,只要硬件平台上安装了JVM,字节码无需修改就可以在其上运行。作为一种平台独立的环境,在JVM上运行程序要比本地代码慢一些。然而可以通过使用智能编译器、即时编译(JustInTime,JIT)技术,加快程序解释运行的速度,甚至可以达到本地代码的运行速度。,1.4.2Java程序的运行机制,当执行Java程序时,我们使用Java解释器java.exe。假设执行Welcome.class,使用下面命令:D:studyjavaWelcomeJava解释器首先将JVM加载到内存,字节码程序在JVM上运行要经过下面三个步骤:,1.4Java字节码与虚拟机,加载代码。加载代码由类加载器(classloader)完成,它为程序的执行加载所需要的全部类,包括被程序代码中的类所继承的类和被其调用的类。校验代码。接下来,JVM将类的字节码输入字节码校验器(bytecodeverifier)以检测代码段格式并进行规则检查,同时对字节码进行安全性校验。执行代码。最后,通过校验的字节码由运行时解释器(runtimeinterpreter)翻译和执行。,1.4Java字节码与虚拟机,JVM对字节码的解释执行通常采取两种方式来实现。一种是解释型工作方式:通过解释器将字节码翻译成机器码,然后由即时运行部件立即将机器码送硬件执行。另一种是编译型工作方式:通过代码生成器先将字节码翻译成适用于本系统的机器码,然后再送硬件执行。,1.5Java关键字和标识符,1.5.1Java关键字1.5.2Java标识符1.5.3Java编码规范,1.5.1Java关键字,每种语言都定义了自己的关键字。所谓关键字(keywords)是该语言事先定义的一组词汇,这些词汇具有特殊的用途,用户不能将它们定义为标识符。Java语言定义了50个关键字,如下所示。,1.5.1Java关键字,1.5.2Java标识符,在程序设计语言中,标识符(identifier)用来为变量、方法、对象和类进行命名。Java语言规定,标识符必须以字母、下划线(_)或美元符($)开头,其后可以是字母、下划线、美元符或数字,长度没有限制。如:intTest,M_Name,_var,$VarJava标识符是区分大小写的,下面两个标识符是不同的。myName,MyName,1.5.3Java编码规范,采用统一的编码规范是使代码易于阅读的方法之一。编码规范包括文件名、文件的组织、缩进、注释、声明、语句、空格以及命名规范等。首先是缩进的问题,程序代码的不同部分应有一定的缩进。如类体中代码应缩进。Java规范建议的缩进为4个字符,有的学者也建议缩进2个字符,这可根据你自己的习惯决定,但只要一致即可。,1.5.3Java编码规范,Java程序的代码块都是用一对大括号定界,如类体、方法体、初始化块等。关于大括号有两种写法,一是行末格式,即左大括号写在上一行的末尾,右大括号写在下一行,另一种格式称为次行格式,即将左大括号单独写在下一行。这两种格式没有好坏之分,但Sun的文档规范推荐使用行末格式,这样使代码更紧凑,且占据较少空间,本课程使用行末格式。,1.5.3Java编码规范,在编写Java程序中通常还要指定各种名称,常见的包括类名、方法名、变量名,这些名称的确定也应遵循一定的规范。在Java中,不推荐使用无意义的单个字母命名,应该使用有意义的单词或单词组合为对象命名。有两种命名方法:PascalCase和camelCase。PascalCase称为帕斯卡拼写法,即将命名的所有单词的首字母大写,然后直接连接起来,单词之间没有连接符,例如:NumberOfStudent,AccountBook等。,1.5.3Java编码规范,camelCase称为骆驼拼写法,它与PascalCase拼写法的不同之处是将第一个单词的首字母小写,例如:firstName,currentValue等。在Java程序中类名和接口名一般使用PascalCase拼写法,且应该用名词命名。,例如:Student,AccountBook,ArrayIndexOutOfBoundsException,1.5.3Java编码规范,变量名和方法名一般应用camelCase拼写法。例如:balanceAccount,setName(),getTheNumberOfStudent()常量的命名应该全部大写并用下划线将词分隔开,例如:MAX_ARRAY_SIZE,MY_NAME,1.6小结,编译和运行Java程序需要使用Java开发工具JDK,可以从Oracle的官方网站下载,也可以使用Eclipse、NetBeans等图形用户界面的开发工具。开发Java程序主要步骤是编辑源程序、将源程序编译成字节码文件(类文件),最后使用解释器运行程序。,1.6小结,Java程序运行在Java虚拟机上,它是一种通过软件实现的运行平台。正是由于Java虚拟机,才使Java程序具有平台独立性和可移植性。每种语言都有保留字,它们具有特殊意义,不能作为他用。标识符用来为类、方法、变量和语句块等命名,应该遵循一定规则。,预习,第2章数据类型和运算符,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!