湖北汽车工业学院JAVA程序设计java概述.ppt_第1页
湖北汽车工业学院JAVA程序设计java概述.ppt_第2页
湖北汽车工业学院JAVA程序设计java概述.ppt_第3页
湖北汽车工业学院JAVA程序设计java概述.ppt_第4页
湖北汽车工业学院JAVA程序设计java概述.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1,第1讲Java概述手机:135*7130zhailongmei,2,参考教材:(1)Java程序设计(第二版)清华大学出版社辛运帏等编著(2)Java语言与面向对象程序设计(第2版)清华大学出版社印旻、王行言编,3,自学参考资源,JDK_API.CHM,4,Java前景与发展,随着Java技术的不断发展,java分为三个部分:J2SE:StandardEdition针对个人电脑应用,主要用于桌面应用程序的开发,是java的基础J2EE:EnterpriseEdition主要用于开发企业级分布式的网络程序,如电子商务网站和ERP系统J2ME:MicroEdition针对嵌入式系统开发,如掌上电脑,手机等移动通讯电子设备,5,Java三个部分的关系如下:,Java前景与发展,6,对于Java语言学习的几点建议怎么学?,WWW学习法What:第一个W是“What”,即记住相关的概念和定义。Java语言涉及很多包括面向对象技术在内的概念,记住并能清楚区分这些概念是学习的第一步。How:第二个W是“怎么”,即要求学习者在记住概念的基础上,掌握这些概念在Java语言中具体的使用规则。例:“继承”的概念在Java中是怎么表示的等等。Why:在了解概念和掌握用法的基础上,应进行进一步的思考。掌握Java语言的一些语法规则和语法现象的内在原因,从“为什么”的角度去理解Java语言。,7,第1讲Java概述,1.1面向对象的概念1.2Java语言的特点1.3Java的开发环境1.4简单Java程序1.5Java数据类型和标识符1.6Java中的类、方法和变量,8,1.1面向对象的概念,面向对象程序设计的几个主要概念:类继承与派生继承性多态性,9,1.1面向对象的概念,classCarintcolor_number;intdoor_number;intspeed;voidbrake()voidspeedUp();voidslowDown(),数据抽象类型,10,1.1面向对象的概念,什么是类?类是描述对象的“基本原型”,它定义一种对象所能拥有的数据和能完成的操作,在面向对象的程序设计中,类是程序的基本单元。,程序中的对象是类的一个实例,是一个软件单元,它由一组结构化的数据和在其上的一组操作构成。变量:即指对象的所知道的状态方法:指对象的功能单元。,11,1.1面向对象的概念,一个例子在程序中操作对象是类的一个实例:即对象创建一个对象Helloobj=newHello();调用方法obj.showString(“HelloWorld!”),classHello,privateStrings;,publicvoidshowString(s)System.out.println(s);publicvoidchangeString(Stringstr)s=str;returns;,12,1.1有关面向对象的概念,什么是子类?子类是作为另一个类的扩充或修正所定义的一个类.,自行车,(superclass),Mountainbikes,Racingbikes,Tandem(双人)bikes,subclass,13,1.1有关面向对象的概念,什么是继承?继承是子类利用父类中定义的方法和变量就像它们属于子类本身一样.,classCarintcolor_number;intdoor_number;intspeed;push_break()add_oil(),classTrash_CarextendsCardoubleamount;fill_trash(),14,1.1有关面向对象的概念,什么是方法的覆盖?在子类中重新定义父类中已有的方法。,classCarintcolor_number;intdoor_number;intspeed;push_break()speed=0;add_oil(),classTrash_CarextendsCardoubleamount;fill_trash()push_break()speed=speed-10;,15,1.1有关面向对象的概念,什么是方法的重载(多态性)?在同一个类中至少有两个方法用同一个名字,但有不同的参数。,类,voidshow(intint_num),voidshow(doubledouble_num),voidshow(intint_um,floatfloat_um),123,1.23,123,1.23,16,1.2Java语言的特点,Java是什么?Java=“C+”-“复杂性”+“安全性和可移植性”Java由那些特性?(1)面向对象封装性、多态性、继承性、动态加载(2)操作平台无关性Java可以实现“一次编写,到处运行”,反映了java语言的平台无关性,可以跨平台使用,不依赖于具体的硬件环境,更适合于网络应用。,17,1.2Java语言的特点,(3)安全问题Java是在网络环境下使用的语言一个安全的网络至少要防止以下几种破坏的可能性:毁灭系统资源消耗系统资源挖掘系统或个人机密骚扰正常工作的进行,18,1.2Java语言的特点,(4)多线程多线程程序允许在同一时刻同时做多件事情(C、C+不支持)。Java提供现成的类Thread,只要继承这个类就可以编写多线程的程序。(5)Java与C及C+的区别不再有#include和#define等处理功能不再有structure,union,typedef及goto语句不再有函数、不再有指针、不再有多重继承不再有操作符重载(OperatiorOverloading)取消自动类型转换,要求强制转换,19,Java与C+比较,20,Java程序的运行机制,传统语言的运行机制,Java语言的运行机制,21,Java程序类型,Java应用程序(JavaApplication)(1)是独立完整的程序(2)在命令行调用独立的解释器软件即可运行。(3)主类必须有main方法,既程序的入口。Java小程序(1)JavaApplet:指在客户端运行的Java小程序,一般来说客户端是指用户所使用的浏览器。(2)JavaServlet:指在服务器端运行的Java小程序,为了能够支持Servlet的运行,服务器端必须安装包含Java虚拟机的服务器软件,这种能够支持服务端小程序的服务器一般被称为应用服务器。,22,1.3Java的开发环境,Java开发环境通常指Java的编程环境与运行环境运行环境由开发工具包JDK提供,它提供了运行Java程序的Java虚拟机以及将Java源代码编译成Java程序的编译器。Java集成开发环境(IDE):BorlandJBuilder、IBMWebSphere较小的软件如:JCreator、Ant开源软件:Eclipse、NetBean,23,1.3Java的开发环境,JDK目录结构javabin的目录下包含以下主要文件:javac:Java编译器,用来将java程序编译成Bytecodejava:Java编译器,执行已经转换成Bytecode的java应用程序jdb:Java调试器,可以逐行的执行程序、设置断点和检查变量Javadoc:文档生成器,根据Java源代码及其说明语句生成HTML文档。Appletviewer(小程序浏览器):一种执行HTML文件上的Java小程序类的Java浏览器。,24,1.3Java的开发环境,设置JDK运行环境参数如果是Win2000/xp,使用鼠标右击“我的电脑”-属性-高级-环境变量系统变量-新建-变量名:JAVA_HOME变量值:c:j2sdk1.4.1(安装路径)系统变量-新建-变量名:CLASSPATH变量值:.;%JAVA_HOME%lib系统变量-编辑-变量名:Path在变量值的最前面加上:%JAVA_HOME%bin;,25,Java程序的开发过程,编辑源代码编译源代码文件运行程序一般情况下,可以使用系统平台下的任何文本编辑器进行源代码的编辑,在Windows平台下常用的是“记事本”程序或“写字板”程序。Java源代码区别大小写;Java源码文件的扩展名:.java;Java源程序文件名必须与程序中的主类的类名完全一致。,26,1.4简单Java程序,编辑存盘:主类名(含有main方法)和文件名要一致性HelloWorldApp.java编译程序:javacHelloWorldApp.java运行程序:javaHelloWorldApp运行结果:Hello,World!,publicclassHelloWorldApppublicstaticvoidmain(Stringargs)System.out.println(Hello,World!);,Java应用程序和Java小应用程序,27,1.4简单Java程序,1.声明一个类:publicclassHelloWorldApp,类名的第一个字母要大写2.一个类中可有很多方法,main方法是运行程序的第一个方法,方法名的第一个字母要小写.3.System.out.println是向屏幕输出,相当于C中的printf();,publicclassHelloWorldApppublicstaticvoidmain(Stringargs)System.out.println(Hello,World!);,28,1.4你的第一个Java程序,Java小应用程序不能直接执行和使用,必须要在浏览器中执行,importjava.applet.Applet;importjava.awt.*;publicclassHelloAppletextendsAppletpublicvoidpaint(Graphicsg)g.drawString(HelloWorld,0,50);,编辑存盘:主类名(extendsApplet)和文件名一致编译代码:javacHelloApplet.java编写HTML文件:HelloApplet.html,29,1.4你的第一个Java程序,运行applet程序:1.appletviewerHelloApplet.html2.在浏览器中运行运行结果:,HelloWorld!,30,1.4你的第一个Java程序,理解程序1.import语句相当于C语言中的include2.每一个applet都是java.applet.Applet的子类用extends继承3.applet中没有main方法,importjava.applet.Applet;importjava.awt.*;publicclassHelloAppletextendsAppletpublicvoidpaint(Graphicsg)g.drawString(HelloWorld,0,50);,31,1.4你的第一个Java程序,4.当applet被浏览器运行时,paint语句自动执行5.在applet中与屏幕输出有关的操作通过Graphics对象来实现6.一个Java源文件内最多只能有一个public类,称为主类,且必须和文件名同名,importjava.applet.Applet;importjava.awt.*;publicclassHelloAppletextendsAppletpublicvoidpaint(Graphicsg)g.drawString(HelloWorld,0,50);,32,1.5Java数据类型,33,类型转换,各类型所占用的位数从短到长依次为:byteshortcharintlongfloatdouble,不同类型数据的转换规则,34,类型转换,当位数多的类型向位数少的类型进行转换时,需要用户明确指明,即进行强制类型转换一般地,高级类型(即位数较多的数据类型)转为低级类型(即位数较少的数据类型)时,截断高位内容,因此会导致精度下降或数据溢出,inti=3;byteb=(byte)i;,35,复合数据类型,早期的程序设计语言把变量看作是孤立的东西如果我们在一个程序中需处理日期,则往往定义三个独立的整数分别代表日、月、年。如下所示:intday,month,year;,36,复合数据类型,这种方法的不足:如果程序需要处理多个日期,则需要更多的说明。例如要保存两个生日,需如下说明:因使用了多个变量而变得混乱,容易出错。同时,又占用了过多的命名空间。更重要的是每个值都是独立的变量,intmyBirthDay,myBirthMonth,myBirthYear;intyourBirthday,yourBirthMonth,yourBirthYear;,37,复合数据类型,有两种办法来解决这个问题:提供日期类型,并为这个类型定义了相应的函数,通过调用这些函数就可以得到所需要的结果定义复合数据类型。复合数据类型为我们提供了更强大的类型定义工具,设计程序时也更加灵活,38,classMydateintyear;intmonth;intday;,MydatemyBirth,yourBirth;myBirth=newMyDate();myBirth.day=22;myBirth.month=3;myBirth.year=1990;,10008,yourBirth,39,复合数据类型,定义:用户定义的新类型为复合数据类型Java是面向对象的程序设计语言,它为用户提供的复合数据类型就是我们在前面提到的复合数据类型,即类、接口和数组,40,Java程序的结构,package语句:可以没有,或可以有多个,但必须放在文件开始的地方import语句:可以没有,或可以有多个,如果有import语句的话,必须放在所有类定义之前public型的类定义:每个文件中最多有一个类定义:每个文件中包含的类定义的个数没有限制接口定义:每个文件中包含的接口定义个数没有限制,41,Java的基本语法单位,空白、注释及语句空白换行符及回车键、空格键、水平定位键(tab)都是空白。Java程序的元素之间可插入任意数量的空白,编译器将忽略掉多余的空白程序中除了加入适当的空白外,还应使用缩进格式,使得同一层语句的起始列位置相同,增加程序的可读性。,42,不提倡的程序风格,一种不好的风格,classPointintx,y;Point(intx1,inty1)x=x1;y=y1;Point()this(0,0);voidmoveto(intx1,inty1)x=x1;y=y1;,43,提倡的程序风格,classPointintx,y;/点的x轴、y轴坐标Point(intx1,inty1)/构造方法x=x1;y=y1;Point()/构造方法this(0,0);voidmoveto(intx1,inty1)/点移动到(x1,y1)x=x1;y=y1;,44,注释,程序中适当地加入注释,会增加程序的可读性程序中允许加空白的地方就可以写注释。注释不影响程序的执行结果,编译器将忽略注释Java中的三种注释形式:,/在一行的注释/*一行或多行的注释*/*文档注释*/,45,语句、分号和块,Java中的语句是最小的执行单位Java各语句间以分号“;”分隔。一个语句可写在连续的若干行内花括号“”和“”包含的一系列语句称为语句块,简称为块语句块可以嵌套即语句块中可以含有子语句块。在词法上,块被当作一个语句看待,46,Java关键字,47,标识符,标识符是以字母、下划线(_)或美元符($)开头,由字母、数字、下划线(_)或美元符($)组成的字符串标识符区分大小写,长度没有限制,48,标识符例,合法的标识符IdentifierusernameUser_name_sys_var1$changesizeof非法标识符2Sun/以数字2开头class/是Java的关键字,有特殊含义#myname/含有其他符号#,49,Java编码体制,Java中的一些命名约定:类类名应为名词,含有大小写,每个字的首字母大写接口接口是一种特殊的类,接口名的命名约定与类名相同方法方法名应是动词,含有大小写,首字母小写,其余各字的首字母大写,尽量不要在方法名中使用下划线常量简单类型常量的名字应该全部为大写字母,字与字之间用下划线分隔,对象常量可使

温馨提示

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

评论

0/150

提交评论