收藏 分销(赏)

第一章 Java概论.ppt

上传人:pc****0 文档编号:13357412 上传时间:2026-03-07 格式:PPT 页数:47 大小:599.50KB 下载积分:10 金币
下载 相关 举报
第一章 Java概论.ppt_第1页
第1页 / 共47页
第一章 Java概论.ppt_第2页
第2页 / 共47页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java,语言程序设计,本课程以,Java,初学者为对象,在课程的内容规划设计上以阶梯式的渐进方式,来引导帮助大家建立,Java,程序设计的理念与技巧。,本课程内容共分为,5,篇:,第一篇,Java,语言基础,第二篇 面向对象技术,第三篇,Java,异常处理,第四篇 输入输出与多线程,第五篇,Java,的应用,参考书目,教材:,面向对象程序设计,Java,作者:李金铭,清华大学出版社,参考书:,Thinking in JAVA,JAVA2,程序设计实用教程,马迪芳 清华大学出版社,JAVA2,实例教程,杜江 清华大学出版社,课程安排,总课时:,64,学时,授课:,40,学时 上机:,24,学时,授课模式,课堂讲解,概念和例子穿插讲解,务求理解;,数据结构、算法会融合进课程;,上机实习,每次二或三道程序设计题;,考试,期末占,70%,,平常占,30%,;,按时上课,认真完成每次实验任务,课后多上机实践,考前做好复习,课程要求,基础调查,是否学习过面向过程程序设计语言?如,C,是否学习过面向对象的程序设计语言?如,C+,是否独立编写过面向过程的小程序?,是否独立编写过面向对象的程序?,是否对面向对象的思想有些了解?,是否了解一些数据结构和算法的知识?,第一讲,Java,技术概述,江 峰,一、,Java,的历史与现状,机器语言,汇编语言,高级语言,1954,年,-FORTRAN1958,年,-LISP 1958,年,-ALGOL1959,年,-COBOL 1964,年,-BASIC 70,年代,-,Ada,1972,年,-C1970,年,-Pascal,1966,年,-,Simula,I1980,年,-Smalltalk80 1983,年,-C+1987,年,-Perl 1990,年,-Python,1990,年,-Java,2000,年,-C#,Java,与其他语言的横向比较,主流的程序设计语言,C+,Object Pascal,Java,C#,桌面应用程序框架,MFC,VCL,JFC,.NET,企业应用程序框架,Windows DNA(ASP、COM、COM+),J2EE,.,NetFramework,开发工具,Visual C+,C+Builder,Delphi,JDK,,,Visual J+,,,JBuilder,Visual C#,语言,方法和技术,方法和技术,软件,Java,的发展历史,Java,的发展历史,要从,1990,年开始追溯起。,Sun,Microsystem,公司为了发展消费性电子产品而进行了一个名为,Green,的项目计划。这个计划的负责人是,James Gosling,。,起初他以,C+,来写一种内嵌式软件,可以放在烤面包机或,PAD,等小型电子消费设备里,使得机器更聪明,更具有人工智能。,但后来他发现,C+,并不适合这类的任务!因为,C+,常会有使系统失效的程序错误,尤其是内存管理。,Java,的发展历史,Gosling,最后决定要发展一种新的语言,来解决,C+,的潜在性危险问题,这个语言名叫,Oak,(橡树)。,它保留了大部分与,C+,相似的语法,但却把些较具危险性的功能加以改进,像内存资源管理,便由语言本身来管理,以减少程序设计师的负担及错误的产生。,Oak,是一种可移植性(,portable,),语言,也就是一种平台独立(,platform-independent,),的语言,能够在各种芯片上运行。这样子各家厂商就可降低研发成本,直接把应用程序应用在自家的产品上。,Java,的发展历史,时间到了,1994,年,,Oak,的技术已日趋成熟,这时刚好网络也正开始蓬勃发展。而,Oak,研发小组发现,Oak,很适合作为一种网络程序语言。因此发展了一个能与,Oak,相配合的浏览器,WebRunner,,,后更名为,HotJava,,,它证明了,Oak,是一种能在网络上发展的程序语言。,后来,因为,Oak,这个商标已被注册走了,工程师们便想到以手中常享用的咖啡,(Java),来重新命名,并于,Sun World 95,中被发表出来。从此以后,,Java,就随着网络的快速发展,而成了一个程序语言的明日之星。,Java,之父:,James Gosling,Sun与Microsoft,Sun,vs,Microsoft,Linux,vs,Windows,LaTex,vs,Word,Lotus,vs,Excel,ICQ,vs,MSN,Java,vs,VC,VJ,C#,中国企业与,Microsoft,_,vs,Microsoft,红旗,Linux,麒麟,vs,Windows,永中,WPS,vs,Word,用友,金蝶,vs,Excel,QQ,vs,MSN,_,vs,VC,VJ,C#,二、,Java,工作原理,对于大多数语言,如果要运行一个程序,要么编译程序要么解释程序;但是,Java,语言的程序则既要被编译又要被解释。,编译器将,Java,源程序翻译为字节码,(,bytecode,),程序,;,解释器,(Java,虚拟机,),分析并解释执行字节码程序。,一次编写,处处运行,Java,源程序,编译,字节码,文件,Java,虚拟机,执行,Linux,Windows,Mac,.java,.class,Java,虚拟机,Java,虚拟机是以,Java,字节码,为指令组的,软,CPU,,负责对本地*,.class,文件进行解释执行,。,JVM,的定义:,An,imaginary,machine that is implemented by,emulating,it in,software,on a real machine.Code for the Java Virtual Machine is stored in.class files.,JVM,的构成:,类加载器:用来取得从网络或本地的类文件。,字节确认器:确认类文件是否有正确的格式。,JIT,实时编译器,:,使虚拟机能达到编译式的运行效率。,Java,平台,平台,(Platform),是程序在其中运行的硬件或软件环境。,最流行平台:,Windows,Linux,Solaris,MacOS,Java,既是一种程序语言也是一个平台。,Java,平台是,一种运行在其它硬件平台上的纯软件平台,它有两个组件:,Java,虚拟机,(Java Virtual Machine,JVM),和,Java,应用编程接,口,(Java API),Java API,和,JVM,将程序与硬件分离,Java,平台,Java API,和,JVM,将程序与硬件分离,Java,平台的版本,Java,平台又称,Java,运行时环境,(Java Runtime Environment,JRE),。一台计算机要想运行,Java,程序,则必须首先安装,JRE,。,目前,Java,平台有,3,种版本,以适应各种需求:,Java,TM,2 Platform,Standard Edition(J2SE),(标准版),Java,TM,2 Platform,Enterprise Edition(J2EE),(企业版),Java,TM,2 Platform,Micro Edition(J2ME),(,小型家电版),借助这些平台版本,使得,Java,程序能在各式大小型机器及操作系统上运行,达成所谓程序,可移植性,、,跨平台,的目标。,Java,平台的这些特性,使得微软倍感威胁。微软现今所提出的,.Net,,,便是视,Java,平台为强力竞争对手之一。,*,概念辨析,Java,:,一种程序设计语言,编写的程序运行于,Java,虚拟机上,具有跨平台的特点。,Java Script,:,一种能嵌在网页中运行的脚本语言,由,Netscape,发明,除语法与,Java,接近外没有其他关系。,Java,语言,Java,语言,是一个新一代的,高级,(,high-level,),、,通用目的(,general-purpose,),、,面向对象,(,objec,-oriented,),的程序语言。,其语法与,C,或,C+,类似,但在组织结构上却相当的不同。,它是一个完全面向对象的程序语言,程序的基本处理单位:类(,class,)以及,API,的组织,均以面向对象的观点来处理及架构起来的。,不仅如此,它在被设计的时候也倾向于是一种具生产力的语言(,production language,),而非只是研究性语言(,research language,)。,所以当我们学习运用,Java,语言的时候,便能很快地感受到它的便利与强大功能。,三、,Java,语言的特性,1,完全的面向对象,结构化程序设计发展到面向对象程序设计是编程语言发展史上的一项革命,面向对象方法的三个特点封装、继承、多态为应对软件危机作出了贡献。,JAVA,是完全面向对象的,,JAVA,中所有的代码都用类来组织。,2,平台无关性,一次编写,到处运行。,3,易学,比其它面向对象语言易学。,4.,支持多线程。,5.,安全,具有内置的安全机制。,6.,预编写代码,可以使用已编好的大量代码集。,Java,与,C,及,C+,的区别,不再有,#include,和,#define,等处理功能,不再有,structure,union,及,typedef,不再有函数、不再有指针、不再有多重继承,不再有,goto,语句,不再有操作符重载,(Operatior Overloading),取消自动类型转换,要求强制类型转换,四、,JDK,及,Java,运行环境,J2SE SDK,:,J2SE Software Development Kit,,由,Sun,公司开发的,命令行,软件开发工具箱。,初学,Java,适合使用,SDK,。,Sun Java Studio,:由,Sun,公司开发的集成开发环境,。,JBuilder,:由,Inprise,(,前,Borland),公司开发的可视化集成开发环境。,目前最好用的,Java,开发工具,可做实际开发,。,Visual J+,:,由微软开发的可视化集成开发环境,支持,windows,功能调用。,Eclipse,:由,IBM,公司主导开发的免费的、开放源代码的,Java,开发环境。,Java,程序员群体正在迅速地迁移到,Eclipse,上,因为它是免费的、质量很好,而且非常容易定制。可以编写和使用很多插件(,plugin,)。,Java,软件开发工具,J2SDK,J2SDK,(,Java2 Software,Development Kit,),由,SUN,所开发出来的,Java,开发工具。是一般学习,Java,的开发者最初所使用的开发环境。其余的开发环境均架构在此环境之上。在,Java1.1,以前称作,JDK,,,Java1.2,版后更名为,J2SDK,。,不过大部分的人仍沿用,JDK,来称呼。,下载地址:,,/products/,下载文件:,开发包,:,jdk-6u2-windows-i586-p.exe,(SDK,中包括了,Java,虚拟机,),帮助文档:,JDK,TM,6 Documentation,Java SDK,安装过程,(for windows),安装过程:,只需运行,jdk-6u2-windows-i586-p.exe,。,一般安装到根目录下,例如,D:java,jdk1.6.0_02,。,设置执行路径和库文件查找路径:,鼠标右击,【,我的电脑,】,,选择,【,系统,】,【,高级,】,【,环境变量,】【PATH】,,加入“,D:java,jdk1.6.0_02,bin,”,鼠标右击,【,我的电脑,】,,选择,【,系统,】,【,高级,】,【,环境变量,】【CLASSPATH】,,加入“,.;,D:java,jdk1.6.0_02,lib,”,Java,安装目录说明,D:java,jdk1.6.0_02,子目录,说明,bin,编译器及一些工具,jre,Java,运行环境,(,虚拟机,),lib,库文件,include,用于本地方法的文件,demo,演示程序,docs,库文档,,html,格式,src,库源文件,命令行工具软件的使用,编译,java,文件,javac,*.java,运行,class,文件:,如要运行,Example.class,文件,输入命令,java Example,注意:区分大小写,,java,命令后不带,.class,后缀,。,运行,jar,文件:,如要运行,Example.jar,文件,输入命令,java jar Example.jar,注意:不区分大小写,,java,命令后带,.jar,后缀。,提取注释,(,自动生成帮助文档,),javadoc,d directory*.java,五、,Java,程序样例,Java,是一种网络程序语言,它能写出包含前端,(Applet),、,本地(,Application,),及后端(,Servlets,),的程序。虽然这三者的结构不同,但基本的语法都一样,所以能彼此沟通,构造出一个所谓的平台。现在又加上了,JSP(Java Server Pages),作为服务器端的加强,使得开发网络程序更快速。,Java,平台也更完整。,Applet,(小应用程序),Applet,是一种可嵌入于,Web,文件中的一种小型程序。通常其程序因网络传输速度关系都很短小。但在应用上却常常比,Application,有用,一般都是通过浏览器来观看,Applet,。右图是一个,3D,立体仿真,Applet,范例。,(,数据来源:,),appletviewer,:,小应用程序浏览器,Application,Application,(,应用程序)是在命令列环境运行的程序。程序中由,main(),方法作为程序起点,运行顺序由程序本身来控制。但,Applet,却是由浏览器来控管。选择用,Applet,还是,Application,来写作,要视所欲表达内容及传输机制而定。通常,Applet,较需图形用户界面,(,GUI,Graphical User Interface,),而,Application,较不需要。但因,GUI,的便利,许多,Application,也都用,GUI,来增进用户的便利,右图便是一个连接数据库的应用程序。,(,数据来源:,),Servlets,Servlets,是应用在服务器端的应用程序,可提供各种服务器服务。例如数据查询或动态产生聊天室,月历等,右图是由一个网站流量统计的,Servelets,所产生的画面。,(,数据来源:,,),5.1,创建第一个应用程序,Step1:,创建源代码文件;,Step2:,将源代码文件编译为字节码文件;,Step3:,运行字节码文件,Step1,:创建源代码文件,启动“记事本”,输入如下代码:,public class,HelloWorldApp,public static void main(String,args,),/Display the string.,System.out.println(Hello,World!);,注意:大小写敏感;保存文件名为,HelloWorldApp,.java,Step2,:编译源代码文件,进入,DOS,或,Command,提示符状态;,转到,Java,源程序所在目录,如,D:java,javacode,输入如下命令,并回车:,javac,HelloWorldApp.java,注意:编译成功后将生成字节码文件,HelloWorldApp.class,Step3,:,运行字节码文件,在相同目录下输入如下命令,并回车:,java,HelloWorldApp,5.2,创建第一个,Applet,小应用程序,Step1:,创建源代码文件,;,Step2:,将源代码文件编译为字节码文件;,Step3:,创建配套的,HTML,文件;,Step4:,运行程序。,Step1:,创建源代码文件,启动“记事本”,输入如下代码,并保存为,HelloWorld.java,import java.applet.Applet;,import,java.awt.Graphics,;,public class,HelloWorld,extends Applet,public void paint(Graphics g),g.drawString(Hello,world!,50,25);,Step2:,将源代码文件编译为字节码文件,进入,DOS,或,Command,提示符状态;,转到,Java,源程序所在目录,如,D:java,javacode,输入如下命令,并回车:,javac,HelloWorld.java,注意:编译成功后将生成字节码文件,HelloWorld.class,Step3:,配套的,HTML,文件,在“记事本”,输入如下代码,并保存为,Hello.html,A Simple Program,Here is the output of my program:,Step4:,运行程序,输入如下命令,并回车:,appletviewer,Hello.html,Java,程序基本结构,import,语句,class,public static void main(String,args,),主类名称,方法体,Java,程序中如果用到了系统所提供的额外的类,就必须放置一个,import,语句。,编写,Java,程序需要注意的几点,Java,区分大小写,类定义不能嵌套,一个程序中可以有一个或多个类,但其中只能有一个主类,(public),源程序编写完毕,应该用主类名作为文件名,再加后缀,.java,存储成磁盘文件,易犯错误,文件名和类名不一致,Java,区分大小写,不一致时以类名为准。,main,函数声明错误,public static void,:,公开、静态、无返回值,String,args,:,参数为字符串数组,Java,关键字拼写错误,Java,关键字全部小写。,引用类库中类的名称、属性和方法拼写错误,命名规则如下:,类名称:以大写字母开头的名词,属性:以小写字母开头的名词,(,可带定语,),方法:以小写字母开头的动词或动宾词组,总结:,了解,Java,程序设计语言的历史与现状。,熟悉,Java,工作原理,了解,Java,的特点,能够区分,Java,与,C+,两种语言的不同,了解,JDK,及,Java,运行环境,能够编写简单的应用程序和小应用程序,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服