B01Java语言概述-1教学课件.pptx

上传人:春哥&#****71; 文档编号:12098020 上传时间:2022-04-23 格式:PPTX 页数:42 大小:661.19KB
返回 下载 相关 举报
B01Java语言概述-1教学课件.pptx_第1页
第1页 / 共42页
B01Java语言概述-1教学课件.pptx_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《B01Java语言概述-1教学课件.pptx》由会员分享,可在线阅读,更多相关《B01Java语言概述-1教学课件.pptx(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、JavaJava程序设计程序设计成绩考核成绩考核最终成绩最终成绩=30%=30%平时成绩平时成绩+70%+70%期末考试成期末考试成绩绩平时成绩平时成绩= =考勤成绩考勤成绩+ +平时作业成绩平时作业成绩期末考试:开卷笔试期末考试:开卷笔试Java程序设计上机安排程序设计上机安排第10周周四第12周周一第13周周一国外的外包公司使得基础的计算机编程技国外的外包公司使得基础的计算机编程技术越来越廉价,如今它甚至成为了世界贫困术越来越廉价,如今它甚至成为了世界贫困人口的致富驱动力,而不再代表着高端技术。人口的致富驱动力,而不再代表着高端技术。引自:引自:大数据时代大数据时代,维克托,维克托迈尔迈尔

2、- -舍恩伯格,舍恩伯格,肯尼思肯尼思库克耶库克耶在这10年的发展中,Java平台吸引了数百万的开发者,在网络计算遍及全球的今天,Java已广泛应用于移动电话、桌面计算机、蓝光光碟播放器、机顶盒甚至车载,更是有30多亿台设备使用了Java技术。第第1章章 Java语言概述语言概述本章的主要内容:本章的主要内容:1.1 java 1.1 java 的特点及有关概念的特点及有关概念1.2 Java1.2 Java程序开发程序开发1.3 1.3 综合应用综合应用1.1 Java语言的特点及相关概念语言的特点及相关概念1.1.1 1.1.1 JavaJava语言的发展语言的发展里程里程1.1.2 1.

3、1.2 Java Java 的的特点特点1.1.3 Java1.1.3 Java虚拟机虚拟机1.1.1 Java语言的发展里程语言的发展里程JavaJava语言前身是语言前身是OakOak语言,于语言,于19911991年推出,但年推出,但仅限于仅限于Sun MicrosystemsSun Microsystems公司内部使用。公司内部使用。19951995年年OakOak语言改名为语言改名为“JavaJava”,并正式向公,并正式向公众推出,主要贡献者是众推出,主要贡献者是James GoslingJames Gosling。1.21.2版本版本的的JavaJava是是JavaJava语言发

4、展过程中一个关语言发展过程中一个关键阶段,从此,键阶段,从此,SunSun公司将公司将JavaJava更名为更名为Java2Java2。经过十年的发展,经过十年的发展,JavaJava语言已经发展到语言已经发展到1.81.8版版本。本。从从JDK 1.2JDK 1.2版本开始,版本开始,SunSun以平均两年一个版本的速度以平均两年一个版本的速度推出新的推出新的JDKJDK。20002000年年5 5月,月,SunSun公司发布了公司发布了JDK 1.3JDK 1.3版本版本;20022002年年2 2月,月,SunSun公司发布了公司发布了JDK 1.4JDK 1.4版本版本;2004200

5、4年年1010月,月,SunSun公司发布了公司发布了JDK 1.5JDK 1.5版本,同时,版本,同时,SunSun公司将公司将JDK 1.5JDK 1.5改名为改名为JDK 5.0JDK 5.0。20062006年年4 4月,发布了月,发布了JDK 6.0JDK 6.0测试版本,并于测试版本,并于20072007年初年初发布了发布了JKD 6.0JKD 6.0正式版本正式版本,20112011年年7 7月发布了月发布了JDK 7.0JDK 7.0版本版本。20142014年年3 3月月1818日,日,OracleOracle公司发表公司发表Java SE 1.8Java SE 1.8。版本

6、号名称中文名发布日期JDK1.01996-1-23JDK1.1.4Sparkler宝石1997-09-12JDK1.1.5Pumpkin南瓜1997-12-13JDK1.1.6Abigail阿比盖尔-女子名1998-04-24JDK1.1.7Brutus布鲁图-古罗马政治家和将军1998-09-28JDK1.1.8Chelsea切尔西-城市名1999-04-08J2SE1.2Playground运动场1998-12-04J2SE1.2.1none无1999-03-30J2SE1.2.2Cricket蟋蟀1999-07-08J2SE1.3Kestrel美洲红隼2000-05-08J2SE1.3.

7、1Ladybird瓢虫2001-05-17J2SE1.4.0Merlin灰背隼2002-02-13J2SE1.4.1grasshopper蚱蜢2002-09-16J2SE1.4.2Mantis螳螂2003-06-26J2SE5.0(1.5.0)Tiger老虎2004-9-30J2SE6.0(Beta)Mustang野马2006-41.1.2 Java 的特点的特点(1/4)1 1语法简单语法简单(1 1)JavaJava的风格类似于的风格类似于C+C+(2 2)JavaJava摒弃了摒弃了C+C+中容易引发程序错误的地方,中容易引发程序错误的地方,如指针和内存管理;如指针和内存管理;(3 3)

8、JavaJava提供了丰富的类库。提供了丰富的类库。2 2面向对象面向对象面向对象编程是一种先进的编程思想,更加容易面向对象编程是一种先进的编程思想,更加容易解决复杂的问题。面向对象可以说是解决复杂的问题。面向对象可以说是JavaJava最重要最重要的特性。的特性。JavaJava语言的设计完全是面向对象的,语言的设计完全是面向对象的,1.1.2 Java 的特点的特点(2/4)3 3分布式分布式JAVAJAVA从诞生就起就与网络联系在一起,它强调网络特性,内从诞生就起就与网络联系在一起,它强调网络特性,内置置TCP/IPTCP/IP,HTTPHTTP,FTPFTP协议类库,便于开发网上应用系

9、统。协议类库,便于开发网上应用系统。4 4安全性安全性(1 1)在)在JavaJava语言里,象指针和释放内存等语言里,象指针和释放内存等C+C+功能被删除,功能被删除,避免了非法内存操作。避免了非法内存操作。(2 2)当)当JavaJava用来创建浏览器时,语用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。言功能和一些浏览器本身提供的功能结合起来,使它更安全。JavaJava语言在机器上执行前,要经过很多次的测试。其三级安语言在机器上执行前,要经过很多次的测试。其三级安全检验机制可以有效防止非法代码侵入,阻止对内存的越权全检验机制可以有效防止非法代码侵入,阻止对内存

10、的越权访问。访问。1.1.2 Java 的特点的特点(3/4)5 5健壮性健壮性JavaJava致力于检查程序在编译和运行时的错误。异致力于检查程序在编译和运行时的错误。异常检查常检查可尽早的发现可能存在的错误。类型检查帮可尽早的发现可能存在的错误。类型检查帮助检查出许多开发早期出现的错误。助检查出许多开发早期出现的错误。6 6解释运行,高效率解释运行,高效率JavaJava解释器(运行系统)能直接运行目标代码指解释器(运行系统)能直接运行目标代码指令。令。JavaJava程序经编译器编译,生成的字节码经过程序经编译器编译,生成的字节码经过精心设计,并进行了优化,因此运行速度较快,客精心设计,

11、并进行了优化,因此运行速度较快,客服了以往解释性语言运行效率低的缺点。服了以往解释性语言运行效率低的缺点。1.1.2 Java 的特点的特点(4/4)7 7与平台无关与平台无关JAVAJAVA编译器将编译器将JAVAJAVA程序编译成二进制代码,即字节码。字节程序编译成二进制代码,即字节码。字节码有统一的格式,不依赖于具体的硬件环境。码有统一的格式,不依赖于具体的硬件环境。8 8多线程多线程JavaJava提供的多线程功能使得在一个程序里可同时执行多个小提供的多线程功能使得在一个程序里可同时执行多个小任务。任务。9 9动态性动态性JavaJava的动态特性是其面向对象设计方法的发展。它允许程序

12、的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类。动态地装入运行过程中所需要的类。平台无关性平台无关性(1/2)平台无关类型包括源代码级和目标代码级两种类型平台无关类型包括源代码级和目标代码级两种类型。C C和和C C+属于源代码级平台无关,意味着用其写的应用程序不属于源代码级平台无关,意味着用其写的应用程序不用修改只需重新编译就可以在不同平台上运行用修改只需重新编译就可以在不同平台上运行。JavaJava属于目标代码级平台无关,主要靠属于目标代码级平台无关,主要靠JavaJava虚拟机虚拟机JVMJVM来实来实现现。对高级语言的翻译方式有解释和编译两种对高级语言

13、的翻译方式有解释和编译两种解释方式就是一边翻译一边运行解释方式就是一边翻译一边运行而编译方式则是一次性翻译好,生成目标程序而编译方式则是一次性翻译好,生成目标程序。平台无关性平台无关性(2/2)解决移植性的方法有以下两种方式:解决移植性的方法有以下两种方式:方式方式1 1:到一台机器上将源程序重新编译成适合该:到一台机器上将源程序重新编译成适合该台机器的机器代码。台机器的机器代码。方式方式2 2:将高级语言源程序编译成一种与机器无关:将高级语言源程序编译成一种与机器无关的中间代码(如的中间代码(如JavaJava语言的字节码),该中间代语言的字节码),该中间代码程序不能被操作系统直接执行,需要

14、由解释其来码程序不能被操作系统直接执行,需要由解释其来解释和执行。解释和执行。JavaJava语言采用语言采用方式方式2 2,将由解释程序扩展了的,将由解释程序扩展了的指令系统的机器称为指令系统的机器称为JavaJava虚拟机,简称虚拟机,简称JVMJVM。1.1.3 Java虚拟机虚拟机JVM虚拟机虚拟机是一种对计算机物理硬件计算环境的软件实现。是一种对计算机物理硬件计算环境的软件实现。虚拟机是一种抽象机器,内部包含一个解释器虚拟机是一种抽象机器,内部包含一个解释器(InterpreterInterpreter),可以将其它高级语言编译为虚拟),可以将其它高级语言编译为虚拟机的解释器可以执行

15、的代码(称这种代码为中间语言机的解释器可以执行的代码(称这种代码为中间语言 Intermediate LanguageIntermediate Language),实现高级语言程序的可),实现高级语言程序的可移植性平台无关性移植性平台无关性 (System IndependenceSystem Independence),无论),无论是运行在嵌入式设备还是多个处理器的服务器上,虚是运行在嵌入式设备还是多个处理器的服务器上,虚拟机都执行相同的指令,所使用的支持库也具有标准拟机都执行相同的指令,所使用的支持库也具有标准的的APIAPI和完全相同或相似的行为。和完全相同或相似的行为。1.1.3 Ja

16、va虚拟机虚拟机JVMJavaJava虚拟机虚拟机(Java Virtual MachineJava Virtual Machine,简称,简称JVMJVM)是)是一种抽象机器,它附着在具体操作系统上,本身具有一种抽象机器,它附着在具体操作系统上,本身具有一套虚拟机器指令,并有自己的栈,寄存器等,运行一套虚拟机器指令,并有自己的栈,寄存器等,运行JAVAJAVA程序不可少的机制。编译后的程序不可少的机制。编译后的JAVAJAVA程序指令并不程序指令并不直接在硬件系统直接在硬件系统CPUCPU上执行,而是在上执行,而是在JVMJVM执行。在执行。在JVMJVM上有一个上有一个JavaJava解释

17、器用来解释解释器用来解释JavaJava编译器编译后的程编译器编译后的程序。任何一台机器只要配备了解释器,就可以运行这序。任何一台机器只要配备了解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。个程序,而不管这种字节码是在何种平台上生成的。图1-1 计算机硬件、操作系统、JVM与各种可执行程序之间的关系机器代码机器代码硬件硬件操作系统操作系统JVM本地可执行文件本地可执行文件(.exe,.com文件)文件)Java字节码文件字节码文件(.class文件)文件)Java虚拟机虚拟机JVMJVM体系结构图体系结构图类装载器字节码解释器安全管理器垃圾收集器线程管理图形Java虚拟机虚

18、拟机操作系统操作系统字节码 *.class 文件文件图1-2 Java虚拟机体系结构示意图Java 与与C/C+之关系之关系相近之处相近之处JavaJava中许多基本语句的语法和中许多基本语句的语法和C+C+一样,像常用的一样,像常用的循环语句、控制语句等和循环语句、控制语句等和C+C+几乎一样几乎一样JavaJava和和C+C+是两种完全不同的语言是两种完全不同的语言不同之处(见下页)不同之处(见下页)不同之处不同之处JavaJava去掉了去掉了C+C+语言的许多功能,语言的许多功能,JavaJava中没有中没有#include #include 和和#define #define 等预处理

19、功能,用等预处理功能,用importimport语语来句包含其它类和包;来句包含其它类和包;JavaJava中没有中没有structurestructure,unionunion及及typedeftypedef;JavaJava中没有不属于类成员的函数,没有指针和多中没有不属于类成员的函数,没有指针和多重继承,重继承,JavaJava只支持单重继承;只支持单重继承;JavaJava中禁用中禁用gotogoto,但但gotogoto还是保留的关键字;还是保留的关键字;JavaJava中没有操作符重中没有操作符重载;载;JavaJava中没有全局变量,可以在类中定义公用、中没有全局变量,可以在类中

20、定义公用、静态的数据成员实现相同功能。静态的数据成员实现相同功能。1.2 Java运行平台运行平台1.2.1 Java1.2.1 Java运行平台运行平台1.2.2 Java1.2.2 Java开发过程开发过程1.2.3 Java1.2.3 Java开发工具箱开发工具箱(JDK)(JDK)简介简介1.2.1 Java运行平台运行平台1 1三种平台简介三种平台简介 J2SEJ2SE:JavaJava标准版或标准版或Java Java 标准平台。标准平台。J2SE J2SE 提供提供了标准的了标准的SDKSDK开发平台(以前称做开发平台(以前称做JDKJDK开发平台)。开发平台)。 J2EEJ2E

21、E:JavaJava企业版或企业版或JavaJava企业平台。企业平台。 J2MEJ2ME:JavaJava微型版或微型版或JavaJava小型平台。小型平台。2 2环境变量环境变量JAVA_HOMEJAVA_HOME为那些需要使用为那些需要使用JavaJava命令和命令和JVMJVM的程序提供了的程序提供了通用的路径信息,其值应设置为通用的路径信息,其值应设置为JDKJDK的安装目录的路径的安装目录的路径, JAVA_HOME= C:javajdk1.7 JAVA_HOME= C:javajdk1.7CLASSPATHCLASSPATH用于指明字节码文件的位置用于指明字节码文件的位置。 CL

22、ASSPATH=c:javajdk1.7jrelibrt.jar;.PATHPATH是操作系统使用的变量,用于搜索在是操作系统使用的变量,用于搜索在ShellShell中输入中输入的希望执行的命令的希望执行的命令。在在Windows 2000Windows 2000和和Windows XPWindows XP中设置中设置JAVA_HOMEJAVA_HOME的步骤如下。的步骤如下。(1) (1) 鼠标右键单击鼠标右键单击“我的电脑我的电脑”。(2) (2) 选择选择“属性属性”菜单项。菜单项。(3) (3) 在出现的窗口中,选择在出现的窗口中,选择“高级高级”选项。选项。(4) (4) 在出现的

23、窗口中,选择在出现的窗口中,选择“环境变量环境变量”选项。选项。在在Windows 7Windows 7中设置环境变量的步骤如下。中设置环境变量的步骤如下。(1) (1) 鼠标右键单击鼠标右键单击“计算机计算机”。(2) (2) 选择选择“属性属性”菜单项。菜单项。(3) (3) 在出现的窗口中,单击在出现的窗口中,单击“高级系统设置高级系统设置”。(4) (4) 在出现的窗口中,单击在出现的窗口中,单击“环境变量环境变量”选项。选项。(5) (5) 进行环境变量设置。进行环境变量设置。set PATH=%PATH%;c:javajdk1.7bin;set JAVA_HOME=c:javajd

24、k1.7set CLASSPATH=c:javajdk1.7jrelibrt.jar;.;e:wulib; e:java;3 3JDK1.7JDK1.7版本安装版本安装从从http:/http:/网站下载,然后安装该程网站下载,然后安装该程序。序。Java编译器编译器源文件源文件编辑器编辑器字节码字节码文件文件由由Web浏览器浏览器执行执行文件名文件名.java产生产生对于对于Java小小应用程序应用程序对于对于Java应用程序应用程序由由Java解释器执行解释器执行图1-1 Java程序开发过程示意图1.2.2 Java程序开发过程程序开发过程1 1JavaJava应用程序的开发应用程序的开

25、发(1 1)编写源文件)编写源文件EditplusEditplus等文本编辑器生成等文本编辑器生成Hello.javaHello.java(2 2)编译编译源文件生成字节码源文件生成字节码 javacjavac Hello.java Hello.java(3 3)加载加载运行字节码运行字节码 java Hello java HelloApplicationApplication程序的命名程序的命名特点:特点:(1 1)区分大小写;)区分大小写;(2 2)如果程序中有)如果程序中有publicpublic类,则程序名称必须和类,则程序名称必须和publicpublic类的名称一致;类的名称一致;

26、(3 3)如果程序没有)如果程序没有publicpublic类,则程序名称可以任取。但类,则程序名称可以任取。但建议以包含建议以包含main()main()方法的类的名称作为程序名称。因为,方法的类的名称作为程序名称。因为,无论程序名称如何,使用无论程序名称如何,使用JavaJava命令运行时,其后的字节命令运行时,其后的字节码文件一定是码文件一定是main()main()方法所在类对应的字节码文件。方法所在类对应的字节码文件。通常将与源文件名相同的类定义为主类,换句话说通常将与源文件名相同的类定义为主类,换句话说JavaJava程序文件名必须和主类的名称一致,且扩展名程序文件名必须和主类的名

27、称一致,且扩展名是是javajava。主类按如下确定。主类按如下确定:(1 1)若源文件中存在)若源文件中存在publicpublic类,则该类为主类;类,则该类为主类;(2 2)若源文件没有)若源文件没有publicpublic类,则可定义任何类为主类。类,则可定义任何类为主类。对对ApplicationApplication程序而言程序而言,必须有一个类含有必须有一个类含有publicpublic static void main(String static void main(String argsargs ) )方法,方法,argsargs是是mainmain方法的一个参数,是一个方法

28、的一个参数,是一个字符串类型的数组字符串类型的数组( (注意注意StringString的第一个字母是大写的的第一个字母是大写的) )通常以包含通常以包含mainmain方法的类作主类方法的类作主类。也可以将其他类定义为也可以将其他类定义为publicpublic类,并以此作为源程序名类,并以此作为源程序名称,当在称,当在javajava命令后跟随的类参数名应该为包含命令后跟随的类参数名应该为包含mainmain方方法的类名法的类名/Hello.javapublic class Hello public static void main(String args ) System.out.pri

29、ntln(你好,很高兴学习Java); C:javac Hello.javaC:java Hello2 2Java AppletJava Applet程序的开发程序的开发(1)(1)编写源文件编写源文件 EditplusEditplus等文本编辑器等文本编辑器Boy.javaBoy.java(2)(2)编译源文件生成字节码编译源文件生成字节码 javacjavac Boy.java Boy.java(3)(3)通过浏览器加载运行字节码通过浏览器加载运行字节码 Html Html文件文件myBoy.htmlmyBoy.html 或 appletviewerappletviewer myboy.h

30、tml myboy.html/Boy.javaimport java.applet.*; import java.awt.*;public class Boy extends Applet public void paint(Graphics g) g.setColor(Color.blue); g.drawString(Java是一门很优秀的语言是一门很优秀的语言,12,30); g.setColor(Color.red); g.drawString(我一定认真学习我一定认真学习Java,22,56); /myBoy.html C:javac Boy.javaC: appletviewer

31、myboy.htmlJavaJava中中AppletApplet程序命名具有如下特点:程序命名具有如下特点:(1 1)区分大小写;)区分大小写;(2 2)以)以AppletApplet为父类的子类应为为父类的子类应为publicpublic类,类,程序名称与该类的名称一致。程序名称与该类的名称一致。1.2.3 Java 开发工具箱开发工具箱Java Java 开发工具箱开发工具箱(JDK- Java Development Kit)(JDK- Java Development Kit)是是SunSun公司为用户提供的集成和执行公司为用户提供的集成和执行appletsapplets和应用程序和应

32、用程序的工具的工具javac javac 编译器:可以用任何文字编辑器创建编译器:可以用任何文字编辑器创建JavaJava程序程序java java 翻译器翻译器; ;用于执行编译过的用于执行编译过的 JavaJava应用程序。应用程序。appletviewer:appletviewer:可运行可运行appletsapplets而不必运行而不必运行 WebWeb浏览器。浏览器。javapjavap反汇编程序反汇编程序: :从字节码文件恢复从字节码文件恢复javajava原代码。原代码。 javadocjavadoc工具工具 : :可以为所编写的源文件生成可以为所编写的源文件生成HTMLHTML文档文档1.3 综合应用综合应用【实例实例1-31-3】

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁