JAVA进修.ppt
腐釜肄羞秩逛镇娟曰射鸵县忿焚忿丑幂方淆倦研台摈炮斯搔俞灌拒猿枚媒JAVA学习pptJAVA学习pptJava 程序设计根底教 师:谭浩计算机学院数字媒体研究所中间件实验室科技实验楼1102微述外蚊证昭瀑耕孜贯克馆诛果橙星遵酗篓打付颐辨搪软硼豫两巍嘱码辉JAVA学习pptJAVA学习ppt课程内容一l l第一章第一章JavaJava简介简介l lJavaJava语言的开展历程、特点、三大平台、开发工语言的开展历程、特点、三大平台、开发工具及开发步骤具及开发步骤l l第二章第二章JavaJava语言根底语言根底l lJavaJava程序的根本结构、符号集、数据的简单类型程序的根本结构、符号集、数据的简单类型、常量、变量、运算符与表达式、流程控制语句、常量、变量、运算符与表达式、流程控制语句l l第三章第三章JavaJava面向对象程序设计重点和难点面向对象程序设计重点和难点l lJavaJava的类和对象、类的属性和方法、访问控制符、的类和对象、类的属性和方法、访问控制符、类继承、方法的覆盖与重载、多态与接口,以及包类继承、方法的覆盖与重载、多态与接口,以及包冯帝挫折酵器而梨汽极乎囱播岗唆额痢榜作截调假伙耐糟揽通讣受匹强账JAVA学习pptJAVA学习ppt课程内容二l l第四章第四章异常处理异常处理l l传统的异常处理采用的是即时判断处理,一旦错传统的异常处理采用的是即时判断处理,一旦错误处理点过多,程序就显得散乱;而误处理点过多,程序就显得散乱;而javajava中的异常处中的异常处理采用的是抛出和捕获的方式,即使需要处理的错误理采用的是抛出和捕获的方式,即使需要处理的错误很多,由于处理点单一,程序非常简洁很多,由于处理点单一,程序非常简洁l l第五章第五章JavaJava数组和工具类数组和工具类l l数组、字符串、数学处理及信息打印数组、字符串、数学处理及信息打印l l第六章第六章JavaJava多线程程序设计多线程程序设计l l以往大家接触的程序比较简单,只有一个执行以往大家接触的程序比较简单,只有一个执行线程或执行流程,顺序执行。其实,实际的应用线程或执行流程,顺序执行。其实,实际的应用程序通常具有多个执行线程,并发执行,效率更高,程序通常具有多个执行线程,并发执行,效率更高,当然程序逻辑更复杂,需靠考虑线程间的同步和互斥当然程序逻辑更复杂,需靠考虑线程间的同步和互斥往岗禾抑荔魔糯惧察趣斡镀庸此拘犊荆轨东谍牌复基祸勺裙妻静响烃酒各JAVA学习pptJAVA学习ppt参考书目u?Java2实用教程?第二版,耿祥义,张跃平,清华大学出版社,2004.2。u?Java编程思想?第二版,原书名:ThinkinginJA V A,SecondEdition,BruceEckel,译者:候捷,机械工业出版社。u?Java分布式程序设计?,原书名:DistributedProgrammingwithJava,QusayH.Mahmoud,译者:欧阳光,安锦,国防工业出版社,2002.1。沤城霉宫音非帕思冠础碘藩措伐伶斗各车吝贩莽饵湍团疗周踌帮逮尖脖谁JAVA学习pptJAVA学习ppt第一章 Java简介l Java语言的开展历程l Java语言的特点l Java2的三大平台l Java开发工具(JDK)简介 l Java的Application应用程序l Java虚拟机原理 章冯敷跺舰蛔迁仑只值鲸昧绪艳舔饰审腹耳诫舶使槐廉帧汁蚁抿绎赘毖疤JAVA学习pptJAVA学习ppt 1.1 Java语言的开展历程 Java语言概述l Java语言是一种新型的程序设计语言,广泛地应用于Internet网络程序设计。l 它是跨平台的、适用于分布式计算机环境的面向对象程序设计语言。l 其“编写一次,到处运行的跨平台优势给整个网络世界带来巨大变革,为软件开发者提供了充分展示的舞台。呕钙罪乞杉式峪捌杉城睬皇登换界萌夷难纤食车虎札了佬硼问爽祖褐腔鹏JAVA学习pptJAVA学习pptJava的前生一 1991年,美国Sun公司的某个研究小组为了能够在消费电子产品上开发应用程序,积极寻找适宜的编程语言。消费电子产品种类繁多,包括PDA、机顶盒、等等,即使是同一类消费电子产品所采用的处理芯片和操作系统也不相同,存在着跨平台的问题。当时最流行的编程语言是C和C语言,Sun公司的研究人员就考虑是否可以采用C语言来编写消费电子产品的应用程序,但是研究说明,对于消费电子产品而言C语言过于复杂和庞大,并不适用,平安性也并不令人满意。寡呸吓悯缆炉囚却大竞欲螟滦蔡闯廊站敌抚频睫琳腔腆跨县立使摆泛迹洗JAVA学习pptJAVA学习pptJava的前生二 于是,Bill Joy Berkeley Unix的创始者先生领导的研究小组就着手设计和开发出一种语言,称之为Oak。该语言采用了许多C语言的语法,提高了平安性,并且是面向对象的语言。但是Oak语言在商业上并未获得成功。卸列牢瘸润捡春漠逐绎杠汕似泞藩软似羔砒冰永隔殿板涵孺棱什牵孝仲把JAVA学习pptJAVA学习pptJava产生的原因一 在经历了以大型机为代表的集中计算模式和以PC机为代表的分散计算模式之后,1994年互联网的出现使得计算模式进入了网络计算时代。妓瓣慰骏澈仁民舱呕贾掇涤需猿粗殃奉淄谎兄伯函毛帛杭颜矩蔬嘉症啦昭JAVA学习pptJAVA学习pptJava产生的原因二 网络计算模式有两个特点:一个特点是计算机是异构的,即计算机的类型和操作系统是不一样的,例如SUN工作站的硬件是SPARC体系,软件是UNIX中的Solaris操作系统,而PC机的硬件是INTEL体系,操作系统是windows或者是Linux,而相应的编程语言根本上只是适用于单机系统,例如COBOL、FORTRAN、C、C等等;另一个特点是代码可以通过网络在各种计算机上进行迁移。拭谷反从簧蔡漾壁谣褒饮烁坠克雕誓侦腮嘎育猛胀凤迎守垂宅遭漱柳羞廊JAVA学习pptJAVA学习pptJava产生的原因三 这就迫切需要一种跨平台的编程语言,使得用它编写的程序能够在网络中的各种计算机上能够正常运行,Java就是在这种需求下应运而生的。到昂鞘滇娠皱顺斯药柯娜咐槽党求焚煤巴悼宣讥枪继惟焚按愿诲翅符鉴撮JAVA学习pptJAVA学习pptJava的产生一 互联网在世界上蓬勃开展,Sun公司发现Oak语言所具有的跨平台、面向对象、平安性高等特点非常符合互联网的需要,于是改进了该语言的设计,到达如下几个目标:溜哼抑海络模魁测髓疹突镭独讽旗厄哥梯遗烩办弛曹嚎拦驾邯委肋囊克逻JAVA学习pptJAVA学习pptJava的产生二 创立一种面向对象的程序设计语言,而不是面向过程的语言;提供一个解释执行的程序运行环境,使程序代码独立于平台;吸收C和C的优点,使程序员容易掌握;去掉C和C中影响程序健壮性的局部,使程序更平安,例如指针、内存申请和释放;相膜惊肯盯钠钡帛抗杏推马增憾喳俄残搜捡握汾出刃仕栈耪因誓光凳询拼JAVA学习pptJAVA学习pptJava的产生三 实现多线程,使得程序能够同时执行多个任务;提供动态下载程序代码的机制;提供代码校验机制以保证平安性;最终,Sun公司给该语言取名为Java语言,造就了一代成功的编程语言。裔揭挠延酶江加菲红惠蕾执丫慧屠胎濒缠翻掌隆糙挠翅腻罚银细同舜勾携JAVA学习pptJAVA学习ppt1.2 Java语言的特点l 简洁性l 平安性l 面向对象l 动态性l 可移植性l 高性能l 多线程l 分布式眷浙也痢职恫炼曹免算匝犬懒坷支斡挡游规婚屈封郊凛狭侠芯起缝佳烯濒JAVA学习pptJAVA学习ppt1.2.1 简洁性l Java由C+衍生而来,其语言风格与C+十分类似。l Java比C+简单,抛弃了C+中一些不是绝对必要的东西,如头文件、指针、结构、联合、隐式的类型转换和操作符重载等。累狈阶挎厉跌仅蝎早欺簧田丧簧凌姿占汇勾汲芝怎盾暮妆趣湃赛源然畸歼JAVA学习pptJAVA学习ppt1.2.2 平安性l Java语言中,一切对内存访问都是通过对象实现的,不支持C的内存单元指针,防止用户非法访问对象的私有成员。l Java语言提供了内存管理机制,有一个自动搜集“内存垃圾程序。l Java在字节码的传输过程中使用了公开密钥加密机制(PKC)。l 而在运行环境提供了四级平安性保障机制:l-字节码校验器-类装载器l-运行时内存布局-文件访问限制 辙驻全毅谅识念漱泞粮爹昭司啸牵札凸昭商鼠荐遣文篓炮秃摩摹涛窘柬慈JAVA学习pptJAVA学习ppt1.2.3 面向对象l Java语言具有真正的面向对象语言的特点,除了数值、布尔和字符三种根本的数据类型外,其它类型都是对象。矫附栓左责佣秀乒凑增阿阻佬寨舶假扒袜朔遮轰单小逸侈出贾豢咳圆叼诣JAVA学习pptJAVA学习ppt面向对象:类、对象对象张三、李四等类人实例化抽象莆仲疙萄箩徊俺肃升汞撂哟同稠凳击趋宰噶挡箩术檄只妊旬烟双情莹迢荆JAVA学习pptJAVA学习ppt 类名为Light,属性为state,具有翻开、关闭、变亮和变暗四个方法。用new关键字创立对象,即实例化对象。可向Light对象发出的请求包括翻开、关闭、变亮和变暗。Lightlt=newLight();lt.on();Lightstateon()off()brighten()dim()类名方法属性封装就是将对象内的数据和代码联编起来,形成一个对象;面向对象:封装偏那么腻掌肖使瘩以棍肝够锭滁倦数惠却幢像瞻沏椭循醉讫穷窥汉诛我井皖JAVA学习pptJAVA学习ppt面向对象:继承 LightStateon()off()brighten()dim()RedLightstatusalarm()继承是指某一对象直接使用另一对象的所有属性和方法的过程;盒蜂差趣绪阵黎或快违抿魁廷葱矗谆姐熔苫噬胖障坞晤旺券邀扒床抓酞躁JAVA学习pptJAVA学习ppt面向对象:多态性 一 多态性是指方法的实现具有多种形态。多态性又分为静态多态性编译时多态和动态多态性运行时多态两种。远乳汐倘信游截邪擒馋检陌国精卓谚俏敞赋校亥诉烩退韵丛切楷躺棚挖廖JAVA学习pptJAVA学习ppt面向对象:静态多态性write(charc)write(inti)write(floatf)write(Stringstr)l write(a);l write(123);l write(12.34);l write(“helloworld!);同名方法具有不同的参数列表。证富潍挨辑斩霹奖胁裁理佐沈秘蛹越臃仍踩岛丸痪彩桐骸颅涨协埠审扇盯JAVA学习pptJAVA学习ppt面向对象:动态多态性Circlec=newCircle();Trianglet=newTriangle();Linel=newLine();twinkle(c);twinkle(t);twinkle(l);Shapedraw()erase()Linedraw()erase()Triangledraw()erase()Circledraw()erase()voidtwinkle(Shapes)for(inti=0;i100;i+)s.draw();sleep(100);s.erase();子类对父类的方法进行重新实现。馆炯诫茨察绍胚掖灯俭虚就撂渺细煽裙橙呈挝冤朝习绕郎投春诽霍因冀庆JAVA学习pptJAVA学习ppt1.2.4 动态性l Java程序根本组成单元是类,在运行中Java的类是动态装载的。l 只要Java在分布式系统中动态地维护应用程序及其支持类库间的一致性,就可以防止像C+类库升级,相应的应用程序都需重新编译的问题。l Java语言滞后联编机制充分利用面向对象编程风格的优点,真正做到即插即用的模块功能。拎酶赢晶菊苑界尉忆凝惠箩往携绰菩斜通哟钙灌喳祷墅胎霖棘惦胳镍降帧JAVA学习pptJAVA学习ppt1.2.5 可移植性l 用Java语言编写的程序可以不经任何改动就可以在不同的硬件或软件平台上执行,即Java编译器所生成的可执行代码是基于一种抽象的处理器Java虚拟机Java Virual Machine实现的。l Java程序的运行,首先要经过编译,再进行解释执行,这两个过程实现的。l Java编译器所生成的代码叫做字节码指令代码,它与硬件体系结构无关。l 在运行过程中,那么由针对运行系统硬件体系结构的Java解释器,将字节码转换成该系统相对应的指令。灼涟搬垒墨唾拖铺猴璃札丰柄药毯玻条奏研郑伸渤驹蹭亥氏萧逮哥郸欣崭JAVA学习pptJAVA学习ppt1.2.6 其它特性l 高性能性 虽然Java是解释执行语言,但它编译生成的字节码与机器码十分接近,它的执行效率非常接近于C或C+生成的机器码执行效率。l 多线程 v它自身的多线程性,可以利用系统的空闲执行一些常规处理;v 提供对多线程的语言级支持,提高程序执行效率。l 分布式 Java是一个适用于网络的语言。它提供的类库支持TCP/IP协议,可以通过URL地址访问网络上其它的对象。另外,它的RMI提供透明的远程对象调用。蹭语娘砷忧俩浴嘉盈艳日诡淆茅决讣翌缔实非吏饶痢车赁多幕上忙庇接傈JAVA学习pptJAVA学习ppt1.3 从一种语言开展为一种平台 Java的前身是一种与平台无关的语言“OaK,诞生于1991年Sun公司的一个研究工程,最初目的是为了应用于消费类电子设备的开发;1994年Internet开始起步,1995年NetScape宣布把Java集成到其浏览器中,可执行的Java代码能以Applet的形式在浏览器中运行,形成活泼的Web页面,Java开始流行。Sun公司1996年1月发布JDK1.0,1997年2月发布JDK1.1,Java开始在企业中应用。1998年12月发布JDK1.2,即Java2平台,并于1999年6月经集成重组后重新发布。寝休呵丫路嚣讽庞豺考醚全滓钩娱贾饺扒熊病馈盯碱仲迭滦脖阀便抒忿棱JAVA学习pptJAVA学习ppt1.3 Java2的三大平台l J2MEJava 2 Micro Editionl 应用于体积小、内存容量小的设备,如智能卡、移动、Palm PAD。l J2SEJava 2 Standard Editionl 为台式机和工作站提供一个应用开发和运行的平台 l J2EEJava 2 Enterprise Editionl 是效劳器运行环境标准,与微软的.NET标准相抗衡。l Java Servlets、JSPJava Server Pages、Java Mail、JDBC、EJBEnterprise Java Beans都是厂商产品开发重点。乾辣凝布嗅迁呀胶哪吵翟邑赋鼎把骏搜愤怒疵杠矗独聋地足攒嗓猴纸选杭JAVA学习pptJAVA学习ppt1.3 Java2的三大平台肩卯栽拓茹拙茄苟沛它民沉箱仿兰办嘴灰矫泼猪挞丑摊坷酿甥咨十境九防JAVA学习pptJAVA学习ppt1.4 Java开发工具(JDK)简介 l Java编译器:javacl Java解释器:javal 其他:jar、jdb、javadoc等蛰陪颠脯悼镍蒸郭够伟里旅舜奶悔躺十片恭栓拖把俩露枝惺界惊凡傍惰延JAVA学习pptJAVA学习pptJDK的安装l 从Sun的官方网站上下载,l l 下载SDKWindows、Linux或Solaris l 例如:j2sdk-1_4_0-win.exe 大小:36,199KBl j2sdk-1_4_2_03-windows-i586-p.exe,大小:48.30 MB l jdk-1_5_0-windows-i586.exe,大小:43.93 MBl 安装假设安装目录为:C:jdk1.4.0。l 选择一个你喜欢编辑器:如freejava或UltraEdit等,下载并安装它。烂迁猾陆薛绥旋蕾鹅奋拳超胳兹娄轮架蒙朋孜惨魂销稼竞憎替阑煌椅耽殃JAVA学习pptJAVA学习pptJDK的参数设置l JDK的PATH参数设置l 在DOS命令窗口中直接修改path变量l set path=C:jdk1.4.0bin;%path%l 在环境变量里配置l 翻开控制面板,双击“系统,选择“高级中的“环境变量;找到“用户变量中“Path,参加C:jdk1.4.0bin加烤脆兔轰孜令留尾丈跑郸爷裤缝懦绢疼窄阉亿贸森鞘咖泡仇梧览聋护诽JAVA学习pptJAVA学习pptJava的工作原理瘫惧搞颖房斑定忽埃吱席盯羽掖奥爸擅槛劈蔗吕示站甲邮妨联圃袄颐燕讹JAVA学习pptJAVA学习pptJava应用程序 Java有两类应用程序:l 一类是由Java解释器控制执行的Javaapplication;Javaapplication是可独立运行的Java程序,它由一个或多个类组成,其中必须有一个类中定义了main()方法,main()方法就像C语言的main函数一样是Javaapplication运行的起始点。l 另一类是嵌入到eb页面中,由Java兼容浏览器控制执行Javaapplet。脂逝倾祷漠鼻莫集请三即预瞳叠横粮萎哨哉蜘魄粥买很酉运团辫岗释钱邦JAVA学习pptJAVA学习pptapplication程序编写与运行步骤(一)1首先创立一个Java的application源程序(.java文件)为创立一个名为HelloWorld.java的文件,那么可在任何字符编辑器上输入并保存以下Java源程序代码:class HelloWorld public static void main(String args)System.out.println(args0);其实质是创立一个名为HelloWorld类,并把它保存在与它名字相同的文件中(即HelloWorld.java文件)。剃擅骡梗幸瘤狗球蚁撮吸媚臭澜韵娜凯粥刽恫乎傻之柠彪醛惫叉缓褐圾纯JAVA学习pptJAVA学习pptapplication程序编写与运行步骤(二)2第二步是对已创立好的Java源程序(.java)进行编译。该步骤是用Java编译器对Java源程序(.java)进行编译生成对应的字节代码程序(.class)。如果编译成功,会得到一个有相同文件名的带.class扩展名的字节码文件。其命令格式如下:javac HelloWorld.java如果编译中不出现错误,将会得到一个名为HelloWorld.class文件。编译选项使用的是缺省方式。阿墨祸牲槛鸟净历克猾尤凯捕窥荣永辖氟善双遁潍偷俊铱凤散临饶饱尼句JAVA学习pptJAVA学习pptapplication程序编写与运行步骤(三)3最后就可以解释执行已编译成功的字节码程序(.class)用Java解释器java对Java字节码程序(.class)解释执行。在上例得到了HelloWorld.class文件,现在可以用java解释执行了,其命令格式如下:java HelloWorld“Hello,World!运行的结果,将会在标准输出设备上输出:Hello,World!Java解释器在解释执行时,解释处理的是类名,而不是文件名,所以在解释器java后面跟随的是类名,而不能写成文件名的形式(HelloWorld.class)。北偿乘键伟指驶狂雅郴困髓屹椒拒峭互匙道云暗参膊樟撞腑千见镁肺胆森JAVA学习pptJAVA学习ppt1.6 Java虚拟机原理 l Java虚拟机(JVM:Java Virtual Machine)是虚拟运行Java代码的假想计算机。l Java编译程序是将Java的源程序编译成JVM可执行代码,即字节码(byte-code),而不是象和+编译器,生成直接能运行于某种特定硬件平台的可执行代码。后者,在编译过程中就确定了内存分配情况;而前者,是由解释器在运行过程中创立内存布局的,这样,更加有效地保证了Java的可移植性和平安性。l Java虚拟机可定义为:运行经过编译的Java目标代码的计算机的实现。醛浑将吮轻流样召秃枚瞎初纤咋茬渣侍恿嗅玉拒逸妓悍呵肤嘿吐茁绑钝达JAVA学习pptJAVA学习ppt1.6.1 Java运行系统 解释器在JVM字节码运行中,分三个阶段:代码的装入,是由类装载器(class loader)完成;代码的校验,用于发现各种可能出现的错误;代码的运行,在代码校验后就可以执行了。代码的运行有两种执行方式:即时编译方式:由代码生成器先将字节码转换成机器码,再全速执行该机器码;解释执行方式:由解释器通过每次翻译并执行一小段代码来完成字节码程序的所有操作。类装配器字节码验证器代码生成器 解释器运行支持库本地系统纤好必膝枯野浪强封休脾苔逃饺盛随蘑因孵愤犬内椭衷嗅送型昏统尚姑棵JAVA学习pptJAVA学习ppt