Java技术及应用第一讲.ppt_第1页
Java技术及应用第一讲.ppt_第2页
Java技术及应用第一讲.ppt_第3页
Java技术及应用第一讲.ppt_第4页
Java技术及应用第一讲.ppt_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

第一讲JAVA绪论,计算机学院林志毅QQ:16045411E-mail:lzy291,本讲要点,课程介绍什么是Java?我们的学习内容学习方法指导学习资料推荐Java绪论Java语言发展史Java语言版本演化Java语言的特点Java与C+的比较Java程序开发环境Java源程序结构与编程规范,什么是Java?,什么是Java?一种编程语言面向对象的程序设计语言,提供了编译、运行、调试工具。Java是完全面向对象的编程语言。Java既是一种解释执行的语言,也是一种编译执行的语言。一种软件平台平台是程序运行的硬件或软件环境,Java平台与大多数其它平台不同,是基于其它软件或硬件的纯软件平台。JVM:Java虚拟机,是Java平台的基础JavaAPI:Java应用程序接口,JavaAPI是软件组件的集合,它们提供了很多有用的功能,如图形用户界面(GUI)。随着应用范围越来越广,Java演化出三个不同领域的应用平台J2SE:Java2Platform,StandardEdition:标准版,桌面系统和低端服务J2EE:Java2Platform,EnterpriseEdition:企业版,企业级应用J2ME:Java2Platform,MicroEdition:小型版,嵌入式应用开发,学习目标,最终目标:Java软件工程师Java语法、J2se平台基础、面向对象编程思想和方法(Java基础)JavaWeb开发(简单应用)J2ee企业开发(企业级应用)、J2me(嵌入式应用)辅助技术:Struts设计模式、JavaScript、XML、SQL语言开发工具:JDK、JCreater、Eclipes、JBuilder近期目标在校期间,掌握JavaWeb应用本学期目标本学期,Java语法、Java基础类、面向对象编程思想和方法,培养自学能力。主要包括,1)掌握Java编程基本技能了解Java的基本常识:历史和特点掌握Java的语法和编程风格掌握面向对象编程技术能够灵活使用SUN公司提供的各种Java类,2)掌握学习Java的基本方法能够正确使用Java在线帮助文档3)能够用Java来解决实际问题按正确的思路来解决问题与编程设计模式、面向对象、良好的编程风格能够书写正确的Java应用程序与小应用程序4)也可以为SCJP做准备SCJP(SunCertifiedJavaProgrammer),关键对知识技能的理解和掌握课堂和自学多实践编程与解决问题,纸上得来终觉浅,绝知此事须躬行!,课程主要内容,第1讲java绪论第2讲java语言的编程基础第3讲java与面向对象技术第4讲Java的高级特性第5讲Java的基础类(输入输出类)第6讲Java的基础类(Java常用类)第7讲Java的基础类(Java异常)第8讲Java的GUI设计(图形用户界面)第9讲Java多媒体技术(应用)第10讲Java多线程技术第11讲Java网络编程(包括JDBC),学习方法指导,奠定Java语法基础学习Java的第一步是用Java语言来编写程序,学习Java语言的第一步,就是熟悉其语法的使用。注意思考和总结在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以。即便对一个简单的例子也要有耐心去琢磨、调试、改动。动手写代码在学习的过程中一定要动手做、写代码,而不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己。在学到一定阶段后,试用学过的东西做些什么。培养自学能力JavaAPI文档英文地址:,学习资料推荐,参考书(1)2.21天学通Java2(第3版)(专业参考版):RogersCadenhead,LauraLemay,人民邮电出版社作为需要快速掌握Java语言基础知识的傻瓜书(2)JavaSwing(第二版):清华大学出版社JavaGUI程序设计的字典式工具书(3)Java编程思想第3版,(美)埃克尔(Eckel,B.)著陈昊鹏等译,机械工业出版社,2005.5。(也可以参考侯捷译)(4)Java2核心技术(CoreJava2)卷I,II机械工业出版社有英文电子版及源代码。这套书的卷I适合于Java语言基本入门,卷II则可以作为进入特定应用程序设计的基本指导。网络学习资源(1)Java中国开发网-,软件,1)SunsJavaSDK1.6.02)UltraEdit,orNotepad3)IDE开发平台JBuilder2007(borland),Eclipse,IntelliJIDEA(jetbrains),NetBeans(sun),课程要求,课程学时:24学时(上课)+8学时(实验)成绩计算:Java课程总评成绩由三次作业成绩以及考勤情况组成。作业3作为期末成绩,占总评成绩的70%。平时成绩由考勤、作业1和作业2组成,占总评成绩的30%。作业要求:1)独立完成作业抄袭:0!雷同:低分!2)按时交作业(具体见另外一个ppt),第一章Java绪论,目标,了解Java语言的发展历史了解Java语言的特点掌握安装并设置Java开发平台掌握Java程序的组成结构掌握使用集成开发环境编写Java程序的方法,主要内容,1.1Java语言发展史1.2Java语言版本演化1.3Java语言的特点1.4Java与C+的比较1.5Java程序开发环境1.6Java源程序结构与编程规范,1.1Java的历史,JAVA是SUN公司()于上世纪90年代开发。1990年12月,SUN公司的一个开发小组从事家用电器方面的小型研究项目。最初的方案是用C+开发。开发人员JamesGosling对C+实现这一任务感到失望,决定自己编写了一种更好的语言来实现这一项目。最初,这种语言命名为OAK,后来改名为JAVA。JAVA最初为用于家用电器而开发,JAVA的小型、安全、可移植性等特点,使其适用于WEB。JAVA产生的时候,Internet正日益流行。95年8月,Netscape公司的浏览器率先支持JAVA。随后,Microsoft的InternetExplorer浏览器也支持JAVA。这样,随着万维网的日益普及,JAVA得到了广泛的使用。,Java语言的产生,Java产生于C之后,是完全的面向对象的编程语言,充分吸取了C的优点,同时摒弃了C的一些弊端。采用了程序员所熟悉的C和C语言的许多语法,同时又去掉了C语言中指针、内存申请和释放等影响程序健壮性的部分。Java语言的一个目标是跨平台,因此采用了解释执行而不是编译执行的运行环境,在执行过程中根据所在的不同的硬件平台把程序解释为当前的机器码,实现跨平台运行。Java语言具备动态下载程序代码机制,是为了适应网络计算的特点程序可以根据需要把代码实时地从服务器中下载到目标机器来执行。在此之前还没有任何一种语言能够支持这一点。#,Java现状,Java现在常用来:1)开发大规模的商业运用软件2)增强网络服务的功能3)开发智能消费型电子产品的应用软件(例如手机)目前采用Java编程还比较多,看看下图,TIOBE公布2010年8月编程语言排名,Java语言的应用前景,所有面向对象的应用开发,包括面向对象的事件描述、处理、综合等。计算过程的可视化、可操作化的软件的开发。动态画面的设计,包括图形图像的调用。交互操作的设计(选择交互、定向交互、控制流程等)。Internet的系统管理功能模块的设计,包括Web页面的动态设计、管理和交互操作设计等。Intranet(企业内部网)上的软件开发(直接面向企业内部用户的软件)。与各类数据库连接查询的SQL语句实现。其他应用类型的程序。,主要内容,1.1Java语言发展史1.2Java语言版本演化1.3Java语言的特点1.4Java与C+的比较1.5Java程序开发环境1.6Java源程序结构与编程规范,1.2Java版本历史,1996年初,Sun公司发布了Java1.0.该版本实际上并不能用来进行真正的应用程序开发。1998年,Sun在JavaOne会议上发布Java1.2.该版本最大的改进是它的新图形工具箱更加精选并且具有可伸缩性。在Java1.2中分为3个版本:J2SE:标准版,面向一般用户J2ME:微型版,用于手机等嵌入式设备的应用程序开发J2EE:企业版,用于服务器端处理的软件开发。本课程内容主要基于J2SE。,Java版本历史(续),Java1.3和1.4对最初的Java2版本作了一些细微的改进,如扩展了标准类库、提高了系统性能个,修正bug。2004年发布的Java1.5改称Java5.0,该版本对Java作出了重大改进:添加了泛型类型generictype,类似于C+的模版“foreach”循环可变元参数自动打包元数据枚举静态导入2006发布版本Java6.0(见word文档),主要内容,1.1Java语言发展史1.2Java语言版本演化1.3Java语言的特点1.4Java与C+的比较1.5Java程序开发环境1.6Java源程序结构与编程规范,1.3Java语言的特点,1)简单性:Java的语法比C/C+简单设计Java语言的目标就是简单,并尽量使程序bugfree没有指针没有malloc(),free(),也没有析构方法(删除了C+中极少被使用、不容易理解和令人混淆的功能)Java虚拟机采用了一种效率不是很高的垃圾回收机制确保Java的“简单化”的另一特性在于“小而单纯”。,2)面向对象面向对象是一项很强的设计功能,因为它促成明确的接口定义,并允许发展者建立可重复使用的“软件IC”,即可即插即用的组件。Java的面向对象含义实质上就是C+,并包含ObjectiveC的一些延伸,以提供更有动态的解决方案。采用面向对象后的优点容易设计简单,容易理解程序易于软件代码的重用性可以在一定程度上提高软件的健壮性,3)平台无关性Java口号:WriteOnce,RunAnywhere,4)安全性Java设计目的是要供使用于网络/分布式运算环境。为此,Java非常强调安全性,以确保建立无病毒且不会被侵入的系统。Java的验证技术是以公钥(public-key)加密法为基础。Java语言的安全机制基于“不存在可信任的代码”的概念。其运行环境提供了以下四级安全保障机制:字节码校验器:当Java字节码进入Java解释器解释执行之前,首先必须经过字节码校验器的检查。类装载器:类装载器负责把来自网络的类加载到单独的内存区域,类和类之间相互不会干扰。运行时内存布局:Java解释器将决定程序中类的内存布局,这就意味着不怀好意的程序无法预先知道一个类的内存布局结构。文件访问机制:客户端用户还可以限制从网络上加载的类只能访问某些被允许的系统,如文件和硬盘。,5)多线程Java中的多线程处理非常便捷。只要OS支持,Java中的线程就可以利用多个处理器。但在底层,主流平台的线程实现机制各不相同,Java并没有对此实现平台相关性。在不同的机器上,只是调用多线程的代码完全相同,Java仅是简单地把多线程的实现交给底层的OS去处理。并行工作一般可以提高程序执行效率但同时也增加了程序编写难度,6)网络性Java提供了包容广泛的例程库,可处理像HTTP和FTP这样的TCP/IP协议。Java应用程序可通过一个特定的URL来打开并访问对象,就像访问本地文件系统那样简单。7)鲁棒性Java在编译和运行程序时都要对可能出现的问题进行检查它提供自动垃圾收集来进行内存管理面向对象的异常处理机制8)解释性编译器javac将处理.java源文件生成类文件类文件可通过名称为java的加载实用程序解释执行,将Java字节码转换为机器可执行代码。Java白皮书的关键字还有:分布式、高性能、动态性等,主要内容,1.1Java语言发展史1.2Java语言版本演化1.3Java语言的特点1.4Java与C+的比较1.5Java程序开发环境1.6Java源程序结构与编程规范,1.4JAVA与C+的比较,Java语言的设计过程中充分参考了C/C+的特性,但在很多地方有所不同。1.全局变量Java程序不能定义程序的全局变量,而类中的公共、静态变量就相当于这个类的全局变量。这样就使全局变量封装在类中,保证了安全性,而在C/C+语言中,由于不加封装的全局变量有时候会由于使用不当而造成系统的崩溃。,JAVA与C+的比较(续),2.条件转移指令C/C+语言中用goto语句实现无条件跳转。Java语言没有goto语言,通过异常处理语句try、catch、finally来取代之,提高了程序的可读性,也增强了程序的鲁棒性。3.指针指针是C/C+语言中最灵活,但也是最容易出错的数据类型。用指针进行内存操作往往造成不可预知的错误。而且,通过指针对内存地址进行显示类型转换后,可以类的私有成员,破坏了安全性。在Java中,程序员不能进行任何指针操作,同时Java中的数组是通过类来实现的,解决了数组越界这一C/C+语言中不做检查的问题。,JAVA与C+的比较(续),4.内存管理在C/C+语言中,程序员可以使用库函数分配和释放内存。但管理不当反而会导致程序出错。在Java中,所有的数据结构都是对象,通过运算符new分配内存并得到对象的使用权,但程序员无法控制内存何时回收,避免了内存管理不周而引起的系统崩溃。但这样的内存管理机制也导致了Java在某些应用场合出现性能瓶颈,例如:在高速数据库管理系统中,数据锁是非常珍贵的资源,Java的内存管理机制有可能使得数据锁无法及时释放而影响系统性能。,JAVA与C+的比较(续),5.数据类型的一致性在C/C+语言中,不同的平台上,编译器对简单的数据类型如int、float等分别分配不同的字节数。例如:int类型的变量在IBMPC上为16位,在VAX-11上就为32位,导致了代码数据的不可移植。在Java中,对数据类型的位数分配总是固定的,而不管是在任何的计算机平台上。因此就保证了Java数据的平台无关性和可移植性。6.类型转换在C/C+语言中,可以通过指针进行任意的类型转换,具有相当高的安全风险。而在Java语言中,系统要对对象的处理进行严格的相容性检查,防止不安全的转换。,JAVA与C+的比较(续),7.头文件在C/C+语言中使用头文件声明类的原型和全局变量及库函数等,在大型系统中,维护这些头文件是非常困难的。Java不支持头文件,类成员的类型和访问权限都封装在一个类中,运行时系统对访问进行控制,防止非法的访问。同时,Java中使用import语句与其它类进行通信,以便访问其它类的对象。8.预处理C/C+语言中有宏定义,而用宏定义实现的代码往往影响程序的可读性(考试中经常出现,并一度视为衡量C/C+程序员水平的尺度之一)。而Java不支持宏定义。,1.4Java与C+的比较,主要内容,1.1Java语言发展史1.2Java语言版本演化1.3Java语言的特点1.4Java与C+的比较1.5Java程序开发环境1.6Java源程序结构与编程规范,1、Java开发过程,2、Java开发工具,JavaIDE,BorlandJBuilder,J2SDK,NetBeansSunJavaStudio,IBMVisualAgeforJavaEclipse,MicrosoftVJ+,OracleJDeveloper,BEAWebLogicWorkshop,JCreator,JDK是Java语言最基本的开发工具。(介绍)javac(Java编译器)java(Java解释器)javap(Java反汇编器)javadoc(Java文档管理器)appletviewer(JavaApplet浏览器),Java的编辑环境,JDK是有助于程序员开发Java程序的Java开发工具包包括:类库编译器调试器Java运行时环境(JRE),JDK提供的常用工具,javac是用来编译源代码的命令。java是用于执行类文件的命令,而类文件将在Java虚拟机中运行类。appletviewer命令允许在万维网浏览器的环境之外运行Applet。,Java程序开发过程(使用JDK),开发程序前,进行开发环境配置安装JDK(见本章附录)选择安装开发工具JDK记事本等文本编辑工具,可以直接使用JDK环境JCreater、JBuilder、EClipes等集成开发环境开发步骤编写程序源文件源文件类型名为.java编译生成字节码文件生成的字节码文件类型名为.class运行应用程序运行:通过Java虚拟机独立运行程序小应用程序运行:嵌入浏览器中运行,JDK目录结构简介,JDK目录结构简介binjavac:Java编译器,用来将java程序编译成字节码文件.class。java:Java解释器,执行已经转换成字节码的java应用程序。appletviewer:Java虚拟浏览器,用来解释嵌到网页中的java小应用程序。lib:Java类库Jrelib:Java核心类库,JDK环境下程序编译与运行,编写Java应用程序源文件在D盘创建工作目录exam1(不是必须的)在工作目录下,使用记事体程序编写文件名为HelloWorld.java输入程序代码准备编译和运行程序(环境配置)开始运行(cmd),打开命令窗口输入setpath=c:programfilesjavajdk1.5.0_11bin并回车,设置Java命令的搜索路径输入d:并回车,将当前盘转至D盘输入cdexam1并回车,当前目录转至我们的工作目录编译成字节码文件输入javacHelloWorld.java并回车,将源文件编译成字节码文件执行程序输入javaHelloWorld并回车,执行程序,一个JavaApplication程序基本结构,第一个Java程序,/这是名称为“HelloWorld.java”的简单程序importjava.io.*;classHelloWorldpublicstaticvoidmain(Stringargs)System.out.println(“欢迎访问Java世界!“);,导入必要的包,在记事本编辑Java程序,单击开始,依次选择程序-附件-记事本,/这是名称为“HelloWorld.java”的简单程序importjava.io.*;classHelloWorldpublicstaticvoidmain(Stringargs)System.out.println(“欢迎访问Java世界!“);,编译和运行,单击开始,依次选择程序-附件-命令提示符,进入程序所保存的目录,输入命令编译HelloWorld,输入命令执行HelloWorld,输出结果,JAVA程序开发环境,1.NetBeans(见相关word文档)2.Eclipse,3.JBuilder2007,1.NetBeans,安装过程:(1)首先安装JDK:jdk-6u4-windows-i586-p.exe(2)安装NetBeans:netbeans-6.0.1-ml-windows.exe(3)选择JDK:,JAVA程序开发环境,1.NetBeans2.Eclipse,3.JBuilder2007,2.Eclipse,安装过程:(1)安装JDK.(2)解压eclipse-java-europa-fall2-win32.zip。解压后即可使用,无需安装。帮助文件:/help32/index.jsp,演示如何使用Eclipse创建一个工程。,JAVA程序开发环境,1.NetBeans2.Eclipse,3.JBuilder2007,3.JBuilder2007,JBuilder2007基于Eclipse构建。安装过程与一般软件无异。,JBuilder2007的大部分功能与Eclipse一致,但具有更加完善的工程管理、性能测试等功能,是一款相当成熟的商业化Java软件集成开发环境。,主要内容,1.1Java语言发展史1.2Java语言版本演化1.3Java语言的特点1.4Java与C+的比较1.5Java程序开发环境1.6Java程序结构与编程规范,1.6JAVA程序结构,例如:有一个java源程序可以是如下结构,该源程序命名为HelloWorldApp.java:packagejavawork.helloworld;/*把编译生成的所有.class文件放到包javawork.helloworld中*/importjava.awt.*;/告诉编译器本程序中用到系统的AWT包importjavawork.newcentury;/*告诉编译器本程序中用到用户自定义的包javawork.newcentury*/publicclassHelloWorldApp./*公共类HelloWorldApp的定义,名字与文件名相同*/classTheFirstClass./第一个普通类TheFirstClass的定义classTheSecondClass./第二个普通类TheSecondClass的定义./其它普通类的定义interfaceTheFirstInterface./第一个接口TheFirstInterface的定义,java编程规范,包(package)即目录,它能够将某一个类放入到某个目录当中,使得程序员能够更好地管理Java类(Class)和接口(Interface)。import语句如果在源程序中用到了除java.lang这个包以外的类(无论是系统的类还是自己定义的包中的类),都必须用import语句标识,以通知编译器在编译时找到相应的类文件。,Java命名规范,包名:包名是全小写的名词,中间可以由点分隔开,例如:java.awt.event;类名:首字母大写,通常由多个单词合成一个类名,要求每个单词的首字母也要大写,例如:classHelloWorldApp;接口名:命名规则与类名相同,例如:interfaceCollection;方法名:往往由多个单词合成,第一个单词通常为动词,首字母小写,中间的每个单词的首字母都要大写,例如:balanceAccount,isButtonPressed变量名:全部字母小写,一般为名词。例如:length;常量名:习惯上应该全部字母大写,单词间用下划线“_”,分隔。例如:MAX_SIZE,R_PG13,TERM_LIMIT,Java命名规范(续),参数的命名:参数的命名规范和方法的命名规范相同

温馨提示

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

评论

0/150

提交评论