《JAVA语言基础》PPT课件.ppt_第1页
《JAVA语言基础》PPT课件.ppt_第2页
《JAVA语言基础》PPT课件.ppt_第3页
《JAVA语言基础》PPT课件.ppt_第4页
《JAVA语言基础》PPT课件.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/52,java语言程序设计软件教研室姜海岚,2/52,课程说明,本课为考试课每周4节课,共17周。其中平时成绩(占20)评定为:实验占10分,作业占5分,其它(考勤、课堂)占5分;考试(占80),3/52,课程说明,关于作业:每周一次关于考勤:按学校规定。关于实验:请及时认真填写。,4/52,期待您的意见与建议,真诚期待您对我的工作提出批评与建议,我也非常希望您随时与我沟通。联系方式:1、mousehellen2、办公室:44103、mobile5/52,关于反馈与建议,本课程原则上每月进行一次无记名反馈调查。调查内容:授课方式、教课内容、教课方式、态度、备课等。以便我及时改进。反馈信息由课代表同学收集整理。请课代表同学协助我做好这项工作。谢谢!,6/52,关于本课的授课方式与期望,课本内容讲授与上机相结合。如时间允许,我将邀请有关软件开发公司的技术人员给大家座谈。,7/52,一些学习网站及学习资料,8,JAVA语言概述,第一章,9/52,目标,了解Java语言的发展历史了解Java语言的特点了解Java语言与C+语言的不同之处掌握安装并设置Java开发平台掌握Java程序的组成结构掌握使用集成开发环境编写Java程序的方法,10/52,1.1计算机编程语言,计算机语言可以分为3大类:机器语言、汇编语言和高级语言。机器语言:计算机唯一识别的语言。汇编语言:符号化的机器语言,翻译后才能被机器语言识别。机器语言、汇编语言都属于低级语言。,11/52,高级语言:采用类似自然英语及教学符号来书写语句,组成程序。面向用户的语言,使用一条简单的高级语言语句就可以完成由许多条汇编语句才能完成的任务。需通过编译程序转化为机器语言才能执行,易于维护,不受某一机器类型的限制,几乎可以不加修改地用于不同计算机。,12/52,高级语言程序的翻译和执行方法可归类为两大基本技术:编译执行和解释执行。编译执行:“源程序”-”目标程序”(可执行程序)-执行执行效率高解释执行:“源程序”-解释、执行执行效率低,灵活,可以动态地调整、修改应用程序,13/52,表1.1.一个语句的三种表示,14/52,你知道其他的编程语言c,c+,visualbasic是怎样执行的吗?Java是解释执行的语言。,15/52,1.2Java语言的发展,Java语言来自Sun公司的Green项目。1991年由JamesGosling负责开发的一个分布式代码系统(Oak),最初是为家用消费电子产品(电冰箱、电视机等)进行编程控制。1994年网络蓬勃发展,将Oak语言更名为Java。向网络进军。1995年Java被正式发布,之后立即引起极大的轰动。,16/52,Java的版本,随着Java技术的不断发展,它根据市场进一步细分为以下3个版本:1、针对企业级e-Business架构和Web服务开发与应用的平台J2EE(Java2EnterpriseEdition);2、针对普通PC应用的Java开发平台J2SE(Java2StandardEdition);3、针对嵌入式设备及消费类电器(如手机、智能卡等)的开发平台J2ME(Java2MicroEdition),17/52,Java的地位,许多大公司购买了Java的许可证(IBM、Adobe)。众多软件开发商开始支持Java软件产品。面向对象的应用开发。Intranet(企业内部网)成为企业信息系统最佳解决方案。,18/52,Java的应用,安全的网络程序;图像处理;多媒体;Web客户机、服务器企业级系统交互操作的设计;(选择交互、定向交互、控制流程等)移动,19/52,Java语言的特点2-1,简单性面向对象分布式处理健壮性结构中立安全性,系统精简,但功能齐备。风格类似于C+,对C+程序员而言非常容易掌握。Java摒弃了C+中容易引发程序错误的地方,如指针操作和内存管理;提供丰富的类库。,完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。,支持TCP/IP协议。Java应用程序可通过一个特定的URL来打开并访问对象,就像访问本地文件系统那样简单。,提供面向对象的异常处理机制,在编译时能对Null对象检测、数组边界检测、异常出口字节代码校验等。自动垃圾收集来进行内存管理。,将源程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。,Java语言提供的安全。编译器提供的安全。字节码校验。类装载。,20/52,Java语言的特点2-2,平台无关性解释性高性能多线程动态,Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,而与体系结构无关。,Java编译器将java源文件生成类文件.class,类文件可通过java命令解释执行,将Java字节码转换为机器码。,JIT编译器。可以提高Java代码的执行速度。,内置多线程功能,使得在一个程序里可同时执行多个小任务。带来的好处是更好的交互性和实时控制性。,允许程序动态地装入运行过程中所需要的类,这是C+语言进行面向对象程序设计所无法实现的。,21/52,Java与C+的比较,22/52,Java虚拟机,Java程序工作机制4-1,23/52,说明1、,Java是解释执行的编程语言,也需要对源程序进行编译。Java程序编译后不生成可执行文件,而是生成一种称为字节码(ByteCode)的中间格式文件,这种字节码文件的后缀名是.class。且平台无关。,24/52,说明2、Java虚拟机,实现平台无关性的基础就是Java虚拟机,是以Java字节码为指令组的软CPU。负责对本地*.class文件解释执行。包含类加载器、字节确认器、以及JIT实时编译器。类加载器:用来取得从网络或本地的类文件。字节确认器:确认类文件是否有正确的格式。JIT:使虚拟机能提高到编译式的运行效率。,25/52,说明3、字节码,*.class文件与机器码不同,不是真正的CPU可运行的指令代码,故又称伪代码。通过JVM以及JRE将其转成本地机器代码,达到一次撰写,到处运行的效益。(WriteOnce,RunAnywhere),26/52,说明4、垃圾收集,虚拟机使用两个独立的堆内存,分别用于静态内存分配和动态内存分配。非垃圾收集堆内存,用于存储所有类定义、常量池和方法表。另一个堆内存,用于垃圾收集的算法适用于存放在动态堆内存中的对象。垃圾收集器在收集对象前调用finalize方法。显式调用垃圾收集(System.gc()方法,不能保证立即运行,因为其优先级很低。,27/52,问题,我们知道解释执行的编程语言的效率不高,而Java是解释执行的,那它如何保证高效的执行效率呢?,28/52,关于j2sdk,最早的Java版本jdk1.0于1996年推出随之jdk1.1,jdk1.5等版本1999年升级为1.2版,并称为Java22000年发布Java2的1.3版本2002年发布Java2的1.4版本到了1.5时版本改为5.0,最新的为7.0.最后随着市场进一步细化为三个版本:J2SE、J2ME、J2EE,29/52,1.3Java程序的开发和运行环境,j2sdk可以在Sun公司的网站()免费下载,,30/52,J2SE家族,31/52,开发工具与开发步骤,安装Java2SDK开发工具:如jdk-6u5-windows-i586-p。安装后各文件夹简介:Bin:二进制可执行程序放在该目录下javac编译器java解释器(启动java虚拟机)Demo:提供JAVA的实例程序,可参考Lib:类库,32/52,设置环境变量:path=javac和java命令所在的目录。即c:jdk1.4.2_08binclasspath=存放字节码文件(类文件)的目录。SETPATH=c:jdk1.4.2_05bin;%PATH%SETCLASSPATH=d:java;.;%CLASSPATH%Java2SDK简介及使用Java程序的集成开发环境:eclipse、jbuilder的安装配置及使用。,33/52,在J2SDK的bin目录下,存放着Java2提供的一些可执行程序,为我们开发和测试Java程序提供了工具。在我们的学习中,常用的JDK开发工具有如下几种:(1)javac.exe:Java语言的编译器。(2)java.exe:执行编译程序的虚拟机器(VirtualMachine)。(3)appletviewer:小应用程序浏览器。,34/52,在Java中可以编写两类程序:应用程序(javaapplications)小应用程序(JavaApplet),1.4Java程序举例,35/52,应用程序:是可以在控制台上直接运行的程序,在创建应用程序时,Java与其他高级编程语言没有太大区别,而Java的特色就在于它具有编制小应用程序的功能。,36/52,小应用程序:可以在Internet中传输并在兼容Java的Web浏览器中运行的应用程序。小应用程序实际上就是小型的Java程序,能像图像文件、声音文件和视频片段那样通过网络动态下载,它与其他文件的重要差别是,小应用程序是一个智能的程序,能对用户的输入作出反应,并且能动态变化,而不是一遍又一遍地播放同一动画或声音。示例:聊天室,37/52,浏览SDK自带的Applet应用小程序,在下载的j2sdk1.4.2_01demoappletsClock文件夹中用浏览器打开网页文件example1.html,就可以看到一个嵌入到Web页面的Applet开始运行,一个模拟时钟出现在网页上,38/52,1.4.1应用程序的基本框架,publicclassApp1publicstaticvoidmain(Stringargs)/在这里添加要执行的程序代码。,39/52,Java应用程序举例2-1,/这是文件名为“HelloWorld.java”的简单应用程序importjava.io.*;/引入包publicclassHelloWorld/定义类publicstaticvoidmain(Stringargs)/main方法System.out.println(“欢迎来到Java世界!”);/输出数据,定义类的关键字,类名,必须这么写,40/52,保存并运行2-2,以java为扩展名,保存时注意类型。,41/52,1.4.2Java小应用程序,Java小应用程序,也称Java小程序,它不是能独立运行的Java程序,而是通过支持Java的浏览器来运行的Java程序。如何运行Java小程序?小程序不能独立运行。Java小程序的字节码文件是嵌入HTML文档中,通过支持Java的浏览器来运行的。,42/52,Java小应用程序举例2-1,/*HelloToJava.java*/importjava.awt.Graphics;importjava.applet.*;publicclassHelloToJavaextendsAppletpublicStringsHello;publicvoidinit()sHello=欢迎来到Java世界!;publicvoidpaint(Graphicsg)g.drawString(sHello,50,50);,文档注释,可以使用javadoc命令生成HTML帮助文件。,装入系统类库。,43/52,保存并运行2-2,将上页文件保存为HelloToJava.java(必须)。将文件保存为*.htm或HelloToJava.html文件。首先将HelloToJava.java文件进行编译(javac命令)。javacHelloToJava.java然后使用appletviewerHelloToJava.html查看效果。,44/52,tip1:编写嵌入Java小程序字节码文件的HTML文档,通过HTML的标记符可以把编译形成的字节码文件HelloToJava.class嵌入到HTML文档中。基本形式为:其中,code属性指明了所要加载的字节码文件,它与网页在同一个文件夹下;width和height属性分别给出了Applet显示区域的宽和高,单位为像素。,45/52,tip2:Java小程序的运行,编好HTML文档后,通过支持Java的网页浏览器打开HTML文档即可运行小程序。也可以通过appletviewer命令查看嵌入网页page1.htm中的小程序App2.class的运行结果,在命令行键入appletviewerpage1.htm,46/52,tip3:对小应用程序的说明,1、类的继承extend2、包和包中类的导入。import包名.类名Java有哪些包呢?请打开书p147,详细说明参见jdkapi,47/52,3、java小程序的init和paint方法Init()方法:由Java虚拟机自动调用,程序运行后,首先执行该方法完成小程序的初始化工作。paint()方法:进行绘图。Graphics类:用于小程序界面绘制字符串、绘制各种图形和图像等。,48/52,Java程序结构,(1)至多有一个public类,文件名必须与类名相同。(2)程序可以有一个或多个其它类。(3)当需要从某个类继承或使用某个类及其方法时,使用import引入该类的定义。(4)Java程序组成结构package/0个或1个,必须放在文件开始import/0个或多个,必须放在所有类定义之前publicclassDefinition/0个或1个,文件名必须与类名相同classDefinition/0个或多个interfaceDefinition/0个或多个,49/52,Java有以下3类注释,单行注释:当一行代码中出现双斜线/时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论