Java应用开发与实践-面向对象程序设计概述_第1页
Java应用开发与实践-面向对象程序设计概述_第2页
Java应用开发与实践-面向对象程序设计概述_第3页
Java应用开发与实践-面向对象程序设计概述_第4页
Java应用开发与实践-面向对象程序设计概述_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

面向对象程序设计概述Java应用开发与实践Java程序设计基础学习目标了解C和Java两种程序设计语言的区别了解Java平台划分及其特点熟悉Java常用的开发工具了解Java的运行环境掌握Java程序的基本结构熟悉Java程序的基本编程规范了解Java虚拟机的原理了解Java应用程序的加载过程1.1两种程序设计语言1.2Java概述1.3Java开发工具1.4带标准输出的最小样本程序1.5实训1搭建Java的运行环境目录1.1两种程序设计语言面向过程,就是指从要解决的问题出发,围绕问题的解决过程分析问题。面向过程分析方法考虑的是问题的具体解决步骤(解决方法),以及解决问题所需要的数据(数据的表示),所以在面向过程程序设计中,重点是设计算法(解决问题的方法)和数据结构(数据的表示和存储)。典型开发语言有Basic、Fortran、Pascal、C,它们都是面向过程的语言,其编程的主要思路专注于算法的实现。1.1.1面向过程的程序设计语言intmax=0,input;

scanf("%d",&input);while(input>0){//循环输入input的值

if(input>max)

//输入的值input大于最大值max

max=input;

//则max的值为input的值

scanf("%d",&input);

//继续输入input if(input==100) break;}printf("Themaxis%d",max);//打印最大值max的值1.1.1面向过程的程序设计语言面向过程:表述算法,定义数据结构和程序流程。1.1两种程序设计语言面向对象的基本思想是以一种更接近人的思维方式的方法去分析问题,面向对象设计首先是分析问题由哪些部分组成,每部分的关系如何,然后再分析每一部分怎样完成。面向对象是以对象及其行为为中心,来考虑处理问题的思想体系和方法。面向对象通过使用对象、继承、封装、消息等基本概念来进行程序设计。采用面向对象方法设计的软件,不仅易于理解,而且易于维护和修改。典型的开发语言有Java、C++、VB、VC、VJ++、Dephli、C#等等。1.1.2面向对象的程序设计语言Demo1_1demo=newDemo1_1();//demo是类的一个对象demo.output();//对象demo调用output()方法,输出最大值publicclassDemo1_1{ voidoutput(){ …… }}1.1.2面向对象的程序设计语言面向对象:通过分析最大值的类Demo1_1由哪些部分组成,将这个Demo1_1类相关的属性和方法封装,再产生相应的对象,通过对象去调用与需求相关的方法来解决问题。它体现了面向对象的设计思想。1.1两种程序设计语言结构化程序设计方法的强调程序设计风格和程序结构的规范化。面向对象的程序设计的方式则是建立在结构化程序设计基础上,采用面向对象、事件驱动编程机制。它以类作为构造程序的基本单位,围绕着对象的抽象性、继承性、多态性和封装性的特征开发设计程序。学习Java语言的最大难点就是从面向过程到面向对象思路和转变。用Java进行程序设计必须将自己的思想转入到面向对象的世界,以面向对象世界的思维方式来思考问题。1.1.3从C语言到Java语言设计的转变1.2Java概述1.2.1Java平台划分JavaEEJavaSEJavaMEJavaPlatform,EnterpriseEditionJavaPlatform,StandardEditionJavaPlatform,MicroEdition企业级桌面级嵌入式系统级包含JavaSE,Jsp(JavaServerPage),Servlet,EJB(EnterpriseJavaBean),JTS(JavaTransactionService),JavaMail,JMS(JavaMessageService)主要用于开发分布式的、服务器端的多层结构的应用系统,如电子商务网站包含JavaJDK,运行时(Runtime)和API主要用于开发桌面的应用,如小的桌面应用程序、游戏主要用于开发电子产品,如移动电话,数字机顶盒,汽车导航系统1.2.2Java的特点使用简单的语言Java沿用了C/C++的语法规则,因而C++程序员初次接触Java语言,就会感到很熟悉。从某种意义上讲,Java语言是C及C++语言的一个变种,因此,C++程序员可以很快地掌握Java编程技术。Java将C/C++中的某些复杂的特征去除,如指针、结构、goto语句,动态内存的回收等等。另外,Java提供了丰富的类库,可以帮助我们很方便的开发Java程序。1.2Java概述1.2.2Java的特点2.面向对象的语言 Java是一个纯粹的面向对象编程语言,面向对象可以说是Java最重要的特性,所以它支持继承、重载、多态等面向对象的特性。Java语言的设计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。C++不是一个纯的面向对象开发工具,其包容C。1.2.2Java的特点3.解释执行的语言

Java代码是解释执行的,我们使用Java编译器将Java代码编译成字节码,这是一种中间代码,然后由Java解释器解释执行。而C++程序是编译执行的,C++程序代码被编译为本地机器指令,然后执行。1.2.2Java的特点4.健壮性语言 Java是一种强类型的语言,其类型检查比C++还要严格。类型检查帮助我们检查出许多开发早期出现的错误;Java语言提供的垃圾回收机制和例外处理机制,解决了C++中最头疼的内存泄漏问题;Java语言去除了容易出错的指针,保证了程序的安全运行。1.2.2Java的特点5.安全的语言

一方面,Java去除了指针,使得程序不能够直接访问内存(内存的分配和分布由Java环境透明控制),另一方面,Java解释执行机制,使得程序的执行在java.exe/JVM的监控之下,所以在网络环境下可以保证系统的安全。例如:删除文件,访问本地网络资源等操作都是被禁止的。1.2.2Java的特点6.与平台无关的语言 Java作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种与机器无关的字节码格式,在Java虚拟机上运行。在Java语言中对数据类型的大小作了统一规定,不会应为机器不同或编译器不同而使用不同的宽度,这样就保证了代码的可移植性。1.2.2Java的特点7.支持多线程的语言 Java语言的一个重要特性就是在语言级支持多线程的程序设计。因为Windows操作系统不支持多线程,所以Java得最早应用是在Unix上,后来才将Java移植到Windows平台上。1.2.3Java的主要应用领域大型企业级应用;2.大型网站;3.电子政务;4.游戏;5.嵌入式设备及消费类电子产品;1.2Java概述1.3.1JDK简介JDK:JavaDevelopKit,Java开发工具包。开发Java程序必须有Java开发环境,即JDK开发工具包,这个工具包包含了编译、运行、调试等关键的命令。JDK包含的基本组件包括:

javac–编译器,将源程序转成字节码

jar–打包工具,将相关的类文件打包成一个文件

javadoc–文档生成器,从源码注释中提取文档

jdb–debugger,查错工具JDK中还包括完整的JRE(JavaRuntimeEnvironment,Java运行环境),也被称为privateruntime。包括了用于产品环境的各种库类,以及给开发员使用的补充库,如国际化的库、IDL库。1.3Java开发工具1.3.1JDK简介 JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心JavaAPI是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。JavaAPI包括一些重要的语言结构以及基本图形,网络和文件I/O。一般来说,JavaAPI的非I/O部分对于运行Java的所有平台是相同的,而I/O部分则仅在通用Java环境中实现。1.3.1JDK简介安装JDK后的JDK目录1.3.1JDK简介JDK实用程序,工具库中有七种主要程序。Javac:Java编译器,将Java源代码转换成字节码。Java:Java解释器,直接从类文件执行Java应用程序字节代码。appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。Javadoc:根据Java源码及说明语句生成HTML文档。Jdb:Java调试器,可以逐行执行程序,设置断点和检查变量。Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。JDK文件结构1.4.1创建Java文件/***带标准输出的最小样本程序HelloWorld:向控制台输出Helloworld!的应用程序*/publicclassHelloWorld{ publicstaticvoidmain(String[]args){ System.out.println("Helloworld!");//控制台输出Helloworld! }}1.4带标准输出的最小样本程序1.4.2编译Java文件Java源程序编写后,要使用Java编译器(javac.exe)将Java源程序编译成字节码文件。编译时首先读入Java源程序,然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为.class。打开命令提示符窗口(MS-DOS窗口)进入Java源程序所在路径G:\JavaUnit。键入编译器文件名和要编译的源程序文件名,具体如下:

javacHelloWorld.java1.4带标准输出的最小样本程序1.4.3运行class文件在控制台命令提示符后输入“javaHelloWorld”命令并按下Enter键,这样会执行这个Java程序,运行结果会输出一句“helloworld”1.4带标准输出的最小样本程序1.4.4认识JVMJVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。JVM对其实现的某些方面给出了具体的定义,特别是对Java可执行代码,即字节码(Bytecode)的格式给出了明确的规格。1.4带标准输出的最小样本程序JVM运行原理示意图1.4.5Java编程规范包名:包名是全小写的名词,中间可以由点分隔开,例如:Java.awt.event;类名:首字母大写,若类名由几个单词构成,那么把它们紧靠到一起(也就是说,不要用下划线来分隔名字)。此外,每个嵌入单词的首字母都采用大写形式。例如:classAllTheColorsOfTheRainbow接口名:命名规则与类名相同,例如interfaceCollection方法名:往往由多个单词合成,第一个单词通常为动词,首字母小写,中间的每个单词的首字母都要大写,例如:voidchangeTheHueOfTheColor(intnewHue)1.4带标准输出的最小样本程序1.4.5Java编程规范变量名:首字母小写,一般为名词,例如:intanIntegerRepresentingColors常量名:基本数据类型的常量名为全大写,如果是由多个单词构成,可以用下划线隔开,例如:intYEAR,intWEEK_OF_MONTH;如果是对象类型的常量,则是大小写混合,由大写字母把单词隔开。1.4带标准输出的最小样本程序1.4.6Java帮助文档Java中所有类库的介绍都保存在Java帮助文档(API文档)中,程序员在编程过程中,必须查阅该帮助文档,了解系统提供的类的功能、成员方法、成员变量等等信息以后,才能够更好的编程。同时,Java开发工具包(JDK)提供了"java"、"javac"、"Javadoc"、"appletviewer"等命令,在Java帮助文档中也对此进行了详细的介绍。对于初学者,或者英语不好的学习者,可以先看看中文版的,在文档的左侧,上一部分有很多java包,如果你要查看每个包里都有哪些类,接口,直接点击就可以了。1.4带标准输出的最小样本程序1.4.7Java注释单行注释:从“//”开始到本行结束的内容都是注释;多行注释:在“/*”和“*/”之间的所有内容都是注释;文档注释:在注释方面Java提供一种C/C++所不具有的文档注释方式,凡是在“/**”和“*/”之间的内容都是文档注释;通过在命令行下面运行"javadoc-d.Test.Java",就生成了介绍类DocTest的index.html文件,DocTest.Java文件中的

温馨提示

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

评论

0/150

提交评论