《java面向对象程序设计第一章.ppt》由会员分享,可在线阅读,更多相关《java面向对象程序设计第一章.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Java 初级初级第一章初次接触JAVA主要内容主要内容lJava语言顺应网络时代的编程语言lJava语言的特点lJava程序的编译环境和执行环境l第一个Java程序HelloWorldlJava程序的分类lJava平台Java语言网络时代的编程语言网络时代编程问题网络时代编程问题 网络带给我们精彩的同时,也为编程带来了困难,最为突出的表现为环境复杂问题的解决方法问题的解决方法 为了实现一个程序能被多个操作系统所认识,必须像不同语言国家的人交流那样,借助“翻译”的作用我是中国人我是中国人Im a chineseIm an american 我是美国人我是美国人C或C+:只有将编译后的文件连接成
2、为.exe,才能在Windows操作系统上运行。C+的解决策略的解决策略Java的解决策略的解决策略:一次编译,处处执行:一次编译,处处执行 Java语言的特点Asimple,object-oriented,distributed,interpreted,robust,secure,architecture-neutral,portable,high-performance,multi-threaded,anddynamiclanguage。即:Java是一种具有“简单、面向对象、分布式、解释型、健壮、安全、与体系结构无关、可移植、高性能、多线程和动态执行”等特性的语言。Sun公司对公司对Ja
3、va的定义的定义简单性:Java语言简单而高效,基本Java系统(编译器和解释器)所占空间不到250KB。Java的风格类似于C+,因而C+程序员初次接触Java语言,就会感到很熟悉。从某种意义上讲,Java语言是C及C+语言的一个变种,因此,C+程序员可以很快地掌握Java编程技术。Java摒弃了C+中容易引发程序错误的一些特性,如指针、结构、枚举以及内存管理等。Java提供了丰富的类库,可以帮助我们很方便的开发Java程序。面向对象:Java语言是纯面向对象的。平台无关性与可移植性:Java程序不经修改或少量修改就可在不同操作系统上运行。Java采用了以下机制:Java既是编译型又是解释型
4、的语言。编译成字节码文件,由Java虚拟机在不同操作系统上解释执行。Java采用的是基于国际标准(IEEE标准)的数据类型。此外,Java编译器是用Java语言本身所编写的,整个运行时环境体现了一个定义良好的可移植性接口。Java遵循POSIX标准,这也使Java具有良好可移植性的重要原因。稳定性和安全性Java首先摒弃了C+中的不安全的因素指针数据类型,避免恶意使用者利用指针去改变不属于自己程序的内存空间。Java致力于检查程序在编译和运行时的错误。Java也是一种强类型的语言,其类型检查比C+还要严格。类型检查帮助我们检查出许多开发早期出现的错误。提供自动内存管理机制,利用系统的空闲时间来
5、执行诸如必要的垃圾清除等操作。此外,Java的运行环境还提供字节码校验器、运行时内存布局和类装载器(ClassLoader)、文件访问限制等安全措施,保证字节码本身的安全和访问系统资源的安全。多线程和动态多线程使应用程序可以同时进行不同的操作,处理不同的事件。在多线程机制中,不同的线程处理不同的任务,互不干涉,不会由于某一任务处于等待状态而影响了其它任务的执行,这样就可以容易的实现网络上的实时交互操作。java在执行过程中,可以动态的加载各种类库,这一特点使之非常适合于网络运行,同时也非常有利于软件的开发,即使是更新类库也不必重新编译使用这一类库的应用程序。高性能Java语言在具有可移植性、稳
6、定性和安全性的同时,也保持了较高的性能。通常,解释型语言的执行效率一般也要低于直接执行源码的速度。但Java所采用的高效的字节码(java字节码格式的设计就是针对机器码的转换,实际转换时相当简便)与多线程措施却很好地弥补了这些性能差距。分布式,分布概念包括数据分布和操作分布两个方面数据分布是指数据可以分散存放于网络上的不同主机中,以解决海量数据的存储问题;Java提供了一个URL对象,利用此对象我们可以打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。操作分布则指把计算分散到不同的主机上进行处理。Java的客户机服务器模式可以把计算从服务器分散到客户端,从而提高整个系统的执行效
7、率,避免瓶颈制约,增加动态可扩充性。Java程序的编译环境和执行环境l一种是编译环境,编译环境的建立需要到Sun的官方网站上下载JDK(JavaDevelopmentKit),网址为:。l一种是运行环境。运行环境需要到Sun的官方网站上下载JRE(JavaRuntimeEnvironment)注意:如果是在Windows上开发软件,需要选择Windows类型的JDK,Unix和Linux同理;JDK的版本不断升级,如JDK1.0、JDK1.1、JDK1.2、JDK1.3、JDK1.4、JDK1.5,JDK1.2以后的版本,通称为Java2,JDK后续版本不完全确保与前一个版本兼容,作为初学者,
8、可下载当前最新的版本。Java源代码从编译到解释执行涉及两种环境源代码从编译到解释执行涉及两种环境适用不同操作系统的适用不同操作系统的JDK版本版本运行环境的建立运行环境的建立l运行环境负责装载用户自定义的类(分为从本地装载和从网络装载两种)和JavaAPI类,最重要的是,含有JVM(JavaVirtualMachine),它是一个平台软件,负责将字节码解释成机器码并提交操作系统执行。l如果在一台机器上安装了JDK,则自动也安装了对应版本的JRE。如果希望JRE是另一种版本,则需要在【添加修改程序】中卸载旧版本的JRE,再安装新版本的JRE。第一个Java程序HelloWorld步步 骤骤分为
9、五个步骤:进行JDK的安装,配置环境变量,编写程序,编译和执行程序。JDK的安装:执行下载的文件【jdk-1_5_0_04-windows-i586-p.exe】,安装目录可定为【d:jdk1.5.0】。【bin】子目录下,存在jdk众多的工具集。说明javacJava编译器,将java源程序编译成与系统无关的字节码(.class文件)javaJava解释器,用于解释执行java字节码appletviewer 小应用程序程序浏览器,用于测试运行appletjavadocJava文档生成器jar打包工具环境配置:桌面上选择【我的电脑】(右键)【属性】【高级】【环境变量】【系统变量】,选择【pat
10、h】,点【编辑】,在【变量值】栏目的最前面,输入“d:jdk1.5.0bin;”。编写程序:在没有安装集成开发工具的前提下,可以选择一些文本编辑器书写Java代码,如“EditPlus2”、“UltraEdit”、“JCreator”等,当前也可以在Windows操作系统中的“记事本”编写程序。书写代码,将文件保存在D:myJavaHelloWorld.javapublicclassHelloWorldpublicstaticvoidmain(Stringargs)System.out.println(HelloWorld!);编译:选择【开始】【运行】,进入Dos界面如下图所示,键入java
11、cHelloWorld.java执行:编译通过后,输入javaHelloWorld程序说明程序说明l类名和文件名应该同名,同为HelloWorld。lmain方法前的修饰符必须为publicstaticvoid。l()用于输出,其参数可以为字符串,也可为数。方法println的作用是换行,如果不换行,则调用print方法。可能遇到的问题可能遇到的问题(一一)l问题编译出现“javac不是内部命令,也不是可运行程序”的问题。l解决方案path路径没有设对,在dos窗口下,输入path,看是否包括,没有或设置不正确,重新设置path环境变量。可能遇到的问题(二)可能遇到的问题(二)首先检查是否将H
12、elloWorld文件名写对否,包括大小写;其次,编译时带“.java”后缀名,执行时不带“.class”后缀;javac中指出java源文件时能带windows的路径,但执行时用java不可以,如:javad:testHelloWorld则不行,因为java将“d:testHelloWorld”当成一个字节码文件了;环境变量中设置了classpath,由于当前目录没有包含其中,所以java执行时,对当前目录的HelloWorld.class视而不见,解决方法为去掉classpath环境变量,或在其中加入当前目录即可。l问题:编译和执行时出现NoClassDefFoundError的错误。l解
13、决方案:(可能性有四个)可能遇到的问题(三)可能遇到的问题(三)l问题编译时出现error:cannotread:HelloWorld.javal解决方案在windows设置成不显示后缀名的形式,然而在起文件名时,给文件名起了HelloWorld.java,造成实际文件名为HelloWorld.java.java。在【工具】【文件夹选项】【查看】中不选择“隐藏已只文件类型的扩展名”,可见到带后缀的所有文件名。可能遇到的问题(四)可能遇到的问题(四)l问题执行出现“Error:couldnotfoundlibi386jvm.cfg”问题l解决方案主要是安装集成环境以及Oracle数据库后,这些产
14、品也安装了不同版本jdk造成的(通过javaversion看当前是哪个版本),解决方法是将放置在path路径的最前端。注:若在一台机器上安装多个版本的JDK,如果需要使用其中特定某一版本,需要通过path设置来决定启用哪个版本。Java程序的分类l从大类上分为Application和Applet。前面的HelloWorld就是Application程序,它们之间的主要区别如下:ApplicationApplet程序标志静态main方法继承java.applet.Applet,方法中为voidpaint(Graphicsg)运行独立运行,利用java工具不能独立运行,需要依赖浏览器,用apple
15、tviewer工具来调试JAVA程序的分类程序的分类将将HelloWorld改写成改写成Applet程序程序importjava.awt.*;importjava.applet.*;publicclassHelloWorldAppletextendsAppletpublicvoidinit()publicvoidpaint(Graphicsg)g.drawString(HelloWorld!,25,25);编辑html页面,和HelloWorldApplet.class在同一目录,取名为c1_2.html,在其中编写代码:执行结果:程序说明程序说明l程序中的import,相当于C语言中的inc
16、lude,是使用已经编译好的类的语法(包括API中的类),在上面的程序当中,如果没有importjava.awt.*;则Graphics类不可使用;没有importjava.applet.*;则Applet类不可使用。lGraphics类用于绘图。lpaint方法(名字不可更改)用于界面刷新l问题问题浏览器applet程序不显示输出结果l问题的解决问题的解决html中类名书写是否正确;是否注意大小写;标识语句之间是否有空格;在浏览器中【工具】-【Internet选项】【高级】中的“使用Java2用于Applet”。paint方法名是否书写正确。执行中可能遇到的问题执行中可能遇到的问题为什么为什
17、么Applet需要嵌入浏览器执行需要嵌入浏览器执行这是由Java语言是网络时代编程语言的特点决定的。为了屏蔽众多浏览器下运行的语法差异,Applet应运而生。虽然Applet不能单独运行,但是所有的浏览器都支持嵌入Applet小程序,在编写HelloWorld时候,程序编写者不用关心这个Applet将来运行在哪个浏览器中,他只关心在浏览器中需要做什么工作,而且用统一的语法去编写程序。Applet在浏览器中如何工作的?在浏览器中如何工作的?Applet是Java程序,需要JVM来解释执行,现在所有的浏览器都嵌有JVM,当浏览器中载入Applet程序时,首先调用Applet的init()方法完成初
18、始化工作(只调用一次),最后调用paint()方法进行图形的绘制。当浏览器被别的界面覆盖后重新显现,当浏览器移动,当浏览器尺寸改变时,此方法被重新调用。从而可见,Applet不像Application程序那样,有main的程序入口,因此不能单独运行,需要借助浏览器来执行。Java平台lJava不仅是编程语言,还是一个开发平台。l目前Sun公司把java平台划分成J2EE、J2SE、J2ME三个平台,针对不同的市场目标和设备进行定位:J2EE是Java2EnterpriseEdition,主要是为企业计算提供一个应用服务器的运行和开发平台。J2SE是Java2StandardEdition,主要目的是为台式机和工作站提供一个开发和运行的平台。我们在学习java的过程中,主要是采用J2SE来进行开发。J2ME是Java2MicroEdition,主要是面向电子产品提供一个java运行平台,使java程序能够在手机、机顶盒、PDA等产品上运行。三种版本之间的关系三种版本之间的关系J2EEJ2EEJ2SEJ2SEJ2MEJ2ME此部分为微型版用于家电和手机方面独特部分