Java语言程序设计ppt课件(完整版).ppt

上传人:知****量 文档编号:77248531 上传时间:2023-03-13 格式:PPT 页数:266 大小:5.96MB
返回 下载 相关 举报
Java语言程序设计ppt课件(完整版).ppt_第1页
第1页 / 共266页
Java语言程序设计ppt课件(完整版).ppt_第2页
第2页 / 共266页
点击查看更多>>
资源描述

《Java语言程序设计ppt课件(完整版).ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计ppt课件(完整版).ppt(266页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1 121世纪高等院校规划教材世纪高等院校规划教材Java语言程序言程序设计(第二版)(第二版)JAVAJAVA语言概述语言概述第第1章章3 3目标目标了解了解JavaJava语言的言的发展展历史史了解了解JavaJava语言的特点言的特点了解了解JavaJava语言与言与C+C+语言的不同之言的不同之处掌握安装并掌握安装并设置置JavaJava开开发平台平台掌握掌握JavaJava程序的程序的组成成结构构掌掌握握使使用用集集成成开开发环境境编写写JavaJava程程序序的方法的方法 4 41.1.1 Java语言的发展语言的发展19911991年由年由James GoslingJames G

2、osling负责开开发的一个分的一个分布式代布式代码系系统(OakOak),),最初是最初是为家用消家用消费电子子产品(品(电冰箱、冰箱、电视机等)机等)进行行编程控程控制制 。19931993年年Sun Sun 公司将目公司将目标市市场转向向 Internet Internet。19941994年将年将OakOak语言更名言更名为JavaJava。19951995年年JavaJava被正式被正式发布,之后立即引起极大布,之后立即引起极大的的轰动。5 5Java目前的主要应用目前的主要应用许多大公司多大公司购买了了JavaJava的的许可可证。众多众多软件开件开发商开始支持商开始支持JavaJ

3、ava软件件产品。品。面向面向对象的象的应用开用开发。Intranet(Intranet(企企业内部网内部网)上的上的软件开件开发。动态画面的画面的设计,包括,包括图形形图像的像的调用。用。与各与各类数据数据库连接接查询的的SQLSQL语句句实现。其他其他应用用类型的程序。型的程序。6 61.1.2 Java语言的特点语言的特点2-1简单性性面向面向对象象分布式分布式处理理健壮性健壮性结构中立构中立安全性安全性v系统精简,但功能齐备。系统精简,但功能齐备。v风格类似于风格类似于C+C+,对对C+C+程程序员而言非常容易掌握。序员而言非常容易掌握。vJavaJava摒弃了摒弃了C+C+中容易引发

4、中容易引发程序错误的地方,如指针操程序错误的地方,如指针操作和内存管理;作和内存管理;v提供丰富的类库。提供丰富的类库。完全是面向对象的,完全是面向对象的,它不支持类似它不支持类似C C语言那语言那样的面向过程的程序样的面向过程的程序设计技术。设计技术。支持支持TCP/IPTCP/IP协议。协议。JavaJava应应用程序可通过一个特定的用程序可通过一个特定的URLURL来打开并访问对象,来打开并访问对象,就像访问本地文件系统那就像访问本地文件系统那样简单。样简单。v提供面向对象的异常处理机制,提供面向对象的异常处理机制,在编译时能对在编译时能对NullNull指针检测、数指针检测、数组边界检

5、测、异常出口字节代码组边界检测、异常出口字节代码校验等。校验等。v自动垃圾收集来进行内存管理。自动垃圾收集来进行内存管理。将源程序编译成一种结构将源程序编译成一种结构中立的中间文件格式。只中立的中间文件格式。只要有要有JavaJava运行系统的机器运行系统的机器都能执行这种中间代码。都能执行这种中间代码。vJavaJava语言提供的安全。语言提供的安全。v编译器提供的安全。编译器提供的安全。v字节码校验。字节码校验。v类装载。类装载。7 71.1.2 Java语言的特点语言的特点2-2可移植性可移植性解解释性性高性能高性能多多线程程动态JavaJava应用程序可以在配备了应用程序可以在配备了J

6、avaJava解释器和运行环境的任解释器和运行环境的任何计算机系统上运行,而与何计算机系统上运行,而与体系结构无关。体系结构无关。JavaJava编译器将编译器将javajava源文件生源文件生成类文件成类文件.classclass,类文件可类文件可通过通过javajava命令解释执行,将命令解释执行,将JavaJava字节码转换为机器码。字节码转换为机器码。JITJIT编译器。可编译器。可以提高以提高 Java Java 代代码的执行速度。码的执行速度。内置多线程功能,使得在一内置多线程功能,使得在一个程序里可同时执行多个小个程序里可同时执行多个小任务。带来的好处是更好的任务。带来的好处是更

7、好的交互性和实时控制性。交互性和实时控制性。允许程序动态地装入运行过允许程序动态地装入运行过程中所需要的类,这是程中所需要的类,这是C+C+语言进行面向对象程序设计语言进行面向对象程序设计所无法实现的。所无法实现的。8 81.1.3 Java与与C+的比较的比较项目项目JavaJavaC+C+全局变量全局变量 不存在全局变量不存在全局变量 存在存在数据类型和转换数据类型和转换 无结构、枚举或者联合,无结构、枚举或者联合,转换时进行类型相容检查转换时进行类型相容检查 通过指针进行任意的类通过指针进行任意的类型转换,带来不安全性型转换,带来不安全性 范围运算符范围运算符 无作用域范围运算符:无作用

8、域范围运算符:有有数组数组 对象,有只读的对象,有只读的lengthlength 无无lengthlength内存管理内存管理可创建不属于基本数据类可创建不属于基本数据类型的对象型的对象 不能不能提前声明提前声明不必进行提前声明不必进行提前声明 必须必须预处理预处理 没有预处理机制没有预处理机制 有有头文件头文件 import import includeinclude指针指针 无无有有gotogoto和和virtual virtual 无无有有注释文档注释文档 对注释文档的内建支持对注释文档的内建支持 无无9 91.1.4 Java程序工作机制程序工作机制4-110101、Java虚拟机虚拟

9、机4-2实现平台无关性的基平台无关性的基础就是就是JavaJava虚虚拟机,机,是以是以JavaJava字字节码为指令指令组的的软CPUCPU。负责对本地本地*.*.classclass文件解文件解释执行。行。包含包含类加加载器、字器、字节确确认器、以及器、以及JITJIT实时编译器。器。类加加载器:器:用来取得从网用来取得从网络或本地的或本地的类文件。文件。字字节确确认器:器:确确认类文件是否有正确的格式。文件是否有正确的格式。JITJIT:使虚使虚拟机能提高到机能提高到编译式的运行效率。式的运行效率。11112、字节码字节码4-3*.*.classclass文件与机器文件与机器码不同,不是

10、真正的不同,不是真正的CPUCPU可运行的指令代可运行的指令代码,故又称,故又称伪代代码。通通过JVMJVM以及以及JREJRE将其将其转成本地机器代成本地机器代码,达,达到一次撰写,到到一次撰写,到处运行的效益。运行的效益。(Write OnceWrite Once,Run AnywhereRun Anywhere)12123、垃圾收集、垃圾收集4-4虚虚拟机使用两个独立的堆内存,分机使用两个独立的堆内存,分别用于用于静静态内存分配内存分配和和动态内存分配内存分配。非垃圾收集堆内存,用于存非垃圾收集堆内存,用于存储所有所有类定定义、常量池和方法表。常量池和方法表。另一个堆内存,用于垃圾收集的

11、算法适用于另一个堆内存,用于垃圾收集的算法适用于存放在存放在动态堆内存中的堆内存中的对象。象。垃圾收集器在收集垃圾收集器在收集对象前象前调用用finalizefinalize方法。方法。显式式调用垃圾收集用垃圾收集(System.gc()System.gc()方法,不方法,不能保能保证立即运行,因立即运行,因为其其优先先级很低。很低。13131.2.1 Java应用程序举例应用程序举例2-1/这是文件名是文件名为“HelloWorld.java”的的简单应用程序用程序import java.io.*;/引入包引入包class HelloWorld /定定义类public static void

12、 main(String args)/main方法方法 System.out.println(“欢迎迎来来到到Java世世界界!”);/输出数据出数据 定义类的定义类的关键字关键字 类名类名 必须这必须这么写么写 1414保存并运行保存并运行2-2以以javajava为扩展为扩展名,保存时注名,保存时注意类型。意类型。15151.2.2 Java小应用程序举例小应用程序举例2-1/*HelloToJava.java*/import java.awt.Graphics;import java.applet.*;public class HelloToJava extends Applet pub

13、lic String sHello;public void init()sHello=欢迎来到迎来到Java世界!世界!;public void paint(Graphics g)g.drawString(sHello,50,50);文档注释,可以文档注释,可以使用使用javadocjavadoc命命令生成令生成HTMLHTML帮助帮助文件。文件。装入系统装入系统类库。类库。1616保存并运行保存并运行2-2将上将上页文件保存文件保存为HelloToJava.java(必必须)。将文件保存将文件保存为*.htm或或*.html文件。文件。首先将首先将HelloToJava.java文件文件进行

14、行编译(javac命令)。命令)。javac HelloToJava.java然后使用然后使用appletviewer*.htm 查看效果。看效果。17171.2.3 Java程序结构程序结构(1 1)至多有一个)至多有一个publicpublic类,文件名必,文件名必须与与类名相同。名相同。(2 2)程序可以有一个或多个其它)程序可以有一个或多个其它类。(3 3)当当需需要要从从某某个个类继承承或或使使用用某某个个类及及其其方方法法时,使用使用importimport引入引入该类的定的定义。(4 4)JavaJava程序程序组成成结构构 package/0个或个或1个,必须放在文件开始个,必

15、须放在文件开始 import/0个或多个,必须放在所有类定义之前个或多个,必须放在所有类定义之前 public classDefinition/0个或个或1个,文件名必须与类名相同个,文件名必须与类名相同 classDefinition /0个或多个个或多个 interface Definition /0个或多个个或多个 18181.3 开发工具与开发步骤开发工具与开发步骤 安装安装Java 2 SDKJava 2 SDK开开发工具工具 。设置置环境境变量:量:pathpath=javac=javac和和javajava命令所在的目命令所在的目录。classpathclasspath=存放字存

16、放字节码文件的目文件的目录。Java2 SDKJava2 SDK简介及使用。介及使用。JavaJava程序的集成开程序的集成开发环境。境。JCreator JCreator的安装配置及使用。的安装配置及使用。1919总结:总结:了解了解JavaJava程序程序设计语言的特性。言的特性。区分区分JavaJava与与C+C+两种两种语言的不同。言的不同。掌握掌握JavaJava程序包含程序包含应用程序用程序和和小小应用程用程序序两种不同两种不同类型。型。熟熟练掌握每种掌握每种程序的基本程序的基本结构构。了解了解J2SDKJ2SDK和和JCreatorJCreator两种开两种开发环境,及境,及它它

17、们开开发JavaJava程序的程序的过程程。JAVAJAVA语言基础语言基础第第2章章回顾回顾了解了解Java语言的言的发展展历史史了解了解Java语言的特点言的特点了解了解Java语言与言与C+语言的不同之言的不同之处掌握安装并掌握安装并设置置Java开开发平台平台掌握掌握Java程序的程序的组成成结构构掌掌握握使使用用集集成成开开发环境境编写写Java程程序序的方法的方法 2121目标目标掌握掌握标识符的定符的定义规则了解常用的保留字和分隔符了解常用的保留字和分隔符 掌握各种掌握各种简单数据数据类型的使用型的使用掌握运算符和表达式的使用掌握运算符和表达式的使用 掌握掌握Java程序程序简单

18、的的输入入输出方法出方法22222.1.1 Java标识符标识符2323用来表示用来表示变量、方法或量、方法或类等的名字。定等的名字。定义的的规则如下:如下:只能使用字母、数字、下划只能使用字母、数字、下划线和美元符。和美元符。只能以字母、下划只能以字母、下划线和美元符开和美元符开头。严格区分大小写,没有格区分大小写,没有长度限制。度限制。应该具有特定的意具有特定的意义。合法标识符:合法标识符:$Programe,_java,$Programe_Java1,Programe2_1等。等。非法标识符:非法标识符:12Programe,&_java,$Programe Java1,%Program

19、e21等。等。2.1.2 保留字保留字 2424abstractabstractbreakbreakbytebytebooleanbooleancatchcatchcasecasecharcharclassclasscontinuecontinuedefaultdefaultdododoubledoubleelseelseextendsextendsfalsefalsefinalfinalfloatfloatforforfinallyfinallyififimportimportimplementsimplementsintintinterfaceinterfaceInstanceofInst

20、anceoflonglonglengthlengthnativenativenewnewnullnullpackagepackageprivateprivateprotectedprotectedpublicpublicreturnreturnswitchswitchsynchronizedsynchronizedshortshortstaticstaticsupersupertrytrytruetruethisthisthrowthrowthrowsthrowsthreadsafethreadsafetransienttransientvoidvoidvolatilevolatilewhil

21、ewhile2.1.3 分隔符(分隔符(Seprators)有:空格、有:空格、圆括号、花括号、分号等。括号、花括号、分号等。每条每条语句无句无论一行一行还是多行都以分号是多行都以分号结束。束。块(BlockBlock)是包含在是包含在 里面的多条里面的多条语句,句,块可以嵌套。空白插在代可以嵌套。空白插在代码的元素中的元素中间:由一个或多个空格由一个或多个空格组成成,也可以由一个或也可以由一个或多个多个tabtab空格空格组成多个空行成多个空行。25252.1.4 注释(注释(Comments)(1 1)单行)单行 :/(2 2)多行)多行 :/*/*/*/(3 3)文档注释)文档注释 :/

22、*/*/*/2626单行注释,以单行注释,以换行符为结束。换行符为结束。多行注释,注多行注释,注释内容较多。释内容较多。使用使用javadocjavadoc工具从工具从源代码和文档注释中源代码和文档注释中将信息取出,然后转将信息取出,然后转换为换为HTMLHTML文件。文件。2.2.1 数据类型划分数据类型划分 2727Java数据类型数据类型基本数据类型基本数据类型字符型字符型(char)布尔类型布尔类型(boolean)复合数据类型复合数据类型 类类(class)接接口口(interface)数组数组空类型空类型(null)数值类型数值类型 整数类型整数类型 实数类型实数类型 短整型短整型

23、(short)整型整型(int)单精度浮点型单精度浮点型(float)双精度浮点型双精度浮点型(double)长整型长整型(long)字节型字节型(byte)2.2.2 常量和变量常量和变量 1.1.常量有常量有字面(字面(LiteralLiteral)常量常量和和符号常量符号常量两种。两种。符号常量定符号常量定义的一般格式如下:的一般格式如下:final =;例如:例如:final double PI=3.141593;final int COUNT=1000;2.2.变量量定定义的一般格式如下:的一般格式如下:=,=,;例如:例如:double x=1.2345;2828其数值意义如其数值

24、意义如同字面所表示同字面所表示的一样的一样。用用JavaJava标识符标识符表示的一个常表示的一个常量量。用于标识数据用于标识数据的存储单元,的存储单元,各种类型的变各种类型的变量创建后都有量创建后都有默认值默认值。2.3.1 整型数据整型数据2-1 1 1整型常量整型常量 (1)整整型型多多为为十十进进制制数数形形式式,也也可可为为八八进进制制或或十十六进制形式六进制形式。(2)Java整型数都为带符号数。整型数都为带符号数。(3)整整型型缺缺省省为为int型型,若若为为长长整整型型需需在在数数据据后后加加字母字母l 或或 L。29292.3.1 整型数据整型数据2-2 2.2.整型变量整型

25、变量按照长度分为:按照长度分为:bytebyte、shortshort、intint、longlong。intint类型常用,基本满足需要,再大的整数类型常用,基本满足需要,再大的整数longlong。bytebyte类型范围很小,类型范围很小,-255-255到到+255+255之间。之间。shortshort类型很少用,限制数据的存储为先高字节,类型很少用,限制数据的存储为先高字节,后低字节,在某种及其中会出错。后低字节,在某种及其中会出错。例如:例如:byte b;short s;byte b;short s;int i;long l;int i;long l;30302.3.2 实型数

26、据实型数据2-1 1.1.实型常量型常量(1)(1)用十进制数形式表示,由数字和小数点用十进制数形式表示,由数字和小数点组成,例如,组成,例如,3.253.25。(2)(2)用科学计数法形式表示,例如,用科学计数法形式表示,例如,123123E-3E-3。(3)(3)数后加数后加f f或或F F为为floatfloat,加加d d或或D D为为doubledouble,没有后缀修饰的则缺省为没有后缀修饰的则缺省为doubledouble类型。类型。31312.3.2 实型数据实型数据2-2 2.2.实型型变量量实型型变量按量按长度分度分为:floatfloat和和doubledouble。双精

27、度浮点型双精度浮点型doubledouble比单精度浮点型比单精度浮点型floatfloat的精的精度更高,表示数据的范围更大。度更高,表示数据的范围更大。例如,例如,float float;double d;double d;32322.3.3 字符型数据字符型数据2-1 字符常量是用单引号括起来的一个字符,字符常量是用单引号括起来的一个字符,如:如:JJ、*。Java Java中有以反斜杠(中有以反斜杠()开头的字符,反)开头的字符,反斜杠将其后面的字符转变为另外的含义,斜杠将其后面的字符转变为另外的含义,称为转义字符。称为转义字符。33332.3.3 字符型数据字符型数据2-2 Java

28、Java中的字符型数据是中的字符型数据是1616位的位的UnicodeUnicode字符,字符,汉字和英文字母占的内存空间相同。汉字和英文字母占的内存空间相同。“JAVAJAVA你好你好”共共1212个字节。个字节。变量的定义如下:变量的定义如下:char ch=char ch=c c;34342.3.4 字符串数据字符串数据 字符串常量是使用双引号括起来的字符序字符串常量是使用双引号括起来的字符序列,注意:最后字符不是列,注意:最后字符不是00。例如例如:LetLets learn Java!s learn Java!。字符串变量作为对象来处理,通过字符串变量作为对象来处理,通过String

29、String和和StringBufferStringBuffer类的构造方法来定义。类的构造方法来定义。String s=new String();String s=new String();35352.3.5 布尔型数据布尔型数据布布尔型常量型常量值只有:只有:truetrue和和falsefalse。布布尔型型变量量为boolean类型,去型,去值为truetrue和和falsefalse。例如,例如,boolean b=true;boolean b=true;36362.3.6 类型转换类型转换自自动类型型转换:低:低优先先级的数据自的数据自动会会转换为高高优先先级的数据。的数据。低低

30、高高bytebyte、shortshort、char int long float doublechar int long float double强制制类型型转换:优先先级高的数据高的数据转换为优先先级低的数据。低的数据。例如,例如,double d=3.14159d;int a=(int)d;37372.4.1 算术运算符算术运算符包括:包括:+,-,*,/,%,+,-等。等。前前缀+:变量首先量首先进行操作在自身行操作在自身进行加。行加。例如,例如,int a=2;int b=a+;(a=3,b=2)后后缀+:变量自身首先加然后再量自身首先加然后再进行操作。行操作。例如,例如,int a

31、=2;int b=+a;(a=3,b=3)38382.4.2 关系运算符关系运算符完成操作数的比完成操作数的比较运算,运算,结果果为布布尔类型型值。包括:包括:=,!,!=,=,instanceof。优先先级低于算低于算术运算符,运算符,执行行顺序自作向右。序自作向右。39392.4.3 布尔逻辑运算符布尔逻辑运算符4040包括:包括:&,|,!,&,|。注意区注意区别简洁与与&(或(或|)和非)和非简洁与与&(或(或|)例如,例如,int a=6,b=8,c=10,d=12;boolean x=+ab+&c+d-;&,如果其前面的,如果其前面的表达式为假,则不表达式为假,则不再计算其后面的表

32、再计算其后面的表达式达式(a=7,b=9,c=10,d=12,x=false)boolean b=+ab+&c+d-;(a=7,b=9,c=10,d=12,x=false)&,不管其前面的,不管其前面的表达式为什么,都表达式为什么,都计算其后面表达式计算其后面表达式2.4.4 位运算符位运算符按位取反按位取反,01010101=1010101001010101=10101010。按位与按位与&,11111001&10001111=1000100111111001&10001111=10001001。按位或按位或|,11111001|10001111=1111111111111001|10001

33、111=11111111。按位异或按位异或,1111100110001111=011101101111100110001111=01110110。左移左移,10101010112=101011101011,10101010101011112=2=1111101010101010。无符号右移无符号右移,10101010101011112=2=0000101010101010。41412.4.5 赋值运算符赋值运算符包括:包括:=,+=,-=,*=,/=,%=。例如,例如,int a=b=c=3;42422.4.6 条件运算符条件运算符为(?:)一般形式(?:)一般形式为:表达式表达式1?表达式?

34、表达式2:表达式:表达式3;例如,例如,double salary=(x intanceof teacher)?2000:200;2.4.7 运算符的运算符的优先先级如如书p35表表2-10所示。所示。43432.5 表达式表达式由操作数和运算符按照一定的语法格式组成表达由操作数和运算符按照一定的语法格式组成表达式。式。例如,例如,(a+b)*(c-d)。)。44442.6 简单的输入输出简单的输入输出输出:使用出:使用System.out对象象进行行输出。出。Println():输出文本并换行。Print():输出文本不换行。输入:入:1、使用、使用System.in对象象输入。入。try-

35、catch与read或readLine方法。throws IOException与read或readLine方法。2、使用命令行参数、使用命令行参数main()方法的方法的args。4545输入输出示例输入输出示例import java.io.*;class inout public static void main(String args)throws IOException byte buf=new byte50;double mul=1d;int n=Integer.parseInt(args0);for(int i=0;i0)System.out.println(intx+is +;)

36、;else if(intx0)System.out.println(intx+is -;);else System.out.println(intx+is 0;);3.1.2 switch语句语句5353 switch(表达式表达式)case 常量值常量值 1:语句语句(组组);break;case 常量值常量值 2:语句语句(组组);break;case 常量值常量值 N:语句语句(组组);break;default:语句语句(组组);表达式必须为表达式必须为bytebyte,shortshort,intint或或charchar类型类型 常量值必须是与表常量值必须是与表达式类型兼容,且达式

37、类型兼容,且不能重复,不能重复,breakbreak跳跳出出casecase语句段语句段若所有的若所有的casecase都都不匹配,则可去不匹配,则可去执行执行defaultdefault语句语句3.2 循环结构循环结构1、while 循循环 while(条件条件)语句句组;2、do-while循循环do 语句组语句组;while(条件条件);3、for 循循环 for(变量初始化量初始化;条件条件;递增或增或递减减变量的量的值)语句组语句组;5454注意:两者的区别,注意:两者的区别,1 1先判断条件,成立先判断条件,成立才执行。才执行。2 2先执行在先执行在判断条件。判断条件。3.3 其他

38、语句其他语句 label:语句块语句块:用于:用于给程序程序块取名字。取名字。break:语句在循句在循环中用于立即从当前循中用于立即从当前循环终止止执行,行,结束当前循束当前循环的的执行。行。continue:语句句则是从其是从其调用用处跳至循跳至循环的的开始开始处,结束本次循束本次循环,继续执行下一次循行下一次循环,continue 语句之后的句之后的语句将不再句将不再执行。行。5555综合实例综合实例 public class BreakDemopublic static void main(String args)for(int i=1;i10)break;System.out.pri

39、ntln(i=+i);System.out.println(循循环终止。止。);56563.4.1 方法的定义与调用方法的定义与调用2-11、方法定、方法定义格式如下:格式如下:修修饰符符 类型型 方法名称方法名称(参数行参数行)throws异常名称异常名称 方法体方法体 return(返返回回值值);5757可为可为privateprivate、publicpublic、protectedprotected和和defaultdefault 与与return语句返语句返回值类型相同。回值类型相同。符合标识符符合标识符定义规则。定义规则。若方法的类型为若方法的类型为void,则无则无return

40、语句。语句。int min3(int x,int y,int z)int small;/Math.min(x,y)返回返回x,y中较小数中较小数 small=Math.min(x,y);small=Math.min(small,z);return(small);3.4.1 方法的定义与调用方法的定义与调用2-22、方法的、方法的调用用(1)创建方法所在建方法所在类对象,使用此象,使用此对象象“.”操作符操作符调用。方法有返回用。方法有返回值,方法,方法调用当用当作一个数作一个数值来来处理,方法无返回理,方法无返回值,可由,可由对象直接象直接调用。用。s.study();(2)使用修使用修饰符符

41、static修修饰的方法可以使用的方法可以使用类名名直接直接调用,若在同一个用,若在同一个类中,可直接中,可直接调用。用。58583.4.2 方法调用时的参数传递方法调用时的参数传递 1方法的参数方法的参数传递 2传值调用与用与传引用引用调用用 59593.4.3 方法和变量的作用域方法和变量的作用域 1局部局部变量量 指定指定义在在语句句块或方法内的或方法内的变量。量。2实例例变量和量和类变量量 定定义在在类内、方法外的内、方法外的变量是量是实例例变量或量或类变量,其中使用修量,其中使用修饰符符static修修饰的的变量量是静是静态变量,也称量,也称为类变量。量。实例例变量和量和类变量的作用

42、域量的作用域为类。60603.4.4 方法的嵌套和递归调用方法的嵌套和递归调用 1嵌套嵌套调用用 2递归调用用 61613.4.5 方法的重载方法的重载 方法重方法重载指同一个指同一个类中多个方法的名字中多个方法的名字相同,参数的相同,参数的类型不同、参数的个数不同型不同、参数的个数不同或参数的排列或参数的排列顺序不同的序不同的现象。象。6262总结总结主要介主要介绍了了选择结构、循构、循环结构的方法。构的方法。掌握掌握实现选择结构的构的ifif、switchswitch语句和句和实现重复重复结构的构的whilewhile、dowhiledowhile及及forfor语句。句。掌握在掌握在选择

43、结构和重复构和重复结构中的跳构中的跳转语句:句:breakbreak、continuecontinue语句和在方法中使句和在方法中使用的用的returnreturn语句。句。掌握方法的定掌握方法的定义与引用,方法中参数的与引用,方法中参数的传递及方法的重及方法的重载等。等。6363类与对象设计类与对象设计第第4章章目标目标面向面向对象的基本概念。象的基本概念。类的的声声明明以以及及成成员变量量、方方法法的的声声明明和和访问权限。限。对象的生成和使用。象的生成和使用。65654.1.1 对象对象 对象象是是具具有有某某些些特特殊殊属属性性(数数据据)和和行行为方式(方法)的方式(方法)的实体。体

44、。可可以以是是有有生生命命的的个个体体,比比如如一一个个人人或或一一只只老老虎虎。也也可可以以是是无无生生命命的的个个体体,比比如如一一辆汽汽车或或一一台台计算算机机。也也可可以以是是一一个个抽抽象象的的概概念念,如如天天气气的的变化化或或鼠鼠标所所产生生的的事事件。件。6666两个特征:两个特征:属性属性(Property)和和行为行为(Behavior)如:一个人的属性有:姓名、性别、年龄、身高、体重等如:一个人的属性有:姓名、性别、年龄、身高、体重等行为有:唱歌、打球、骑车、学习等。行为有:唱歌、打球、骑车、学习等。4.1.2 消息消息 单一一对象的存在并没有多大的作用,只有多象的存在并

45、没有多大的作用,只有多个个对象相互作用才会完成复象相互作用才会完成复杂的行的行为。对象和象和对象之象之间是通是通过传递消息来完成相互消息来完成相互通信的。通信的。一个消息由三方面内容一个消息由三方面内容组成:成:1 1)消息的接收者,即消息的目)消息的接收者,即消息的目标对象;象;2 2)接收)接收对对象采用的方法象采用的方法;3 3)执执行方法所需用的参数行方法所需用的参数(Parameters)Parameters)。6767例如:一辆自行车放在车棚中并没有什么用,当我们人骑例如:一辆自行车放在车棚中并没有什么用,当我们人骑上它,并加速时才体现它的作用,其中接收者(自行车),上它,并加速时

46、才体现它的作用,其中接收者(自行车),采用的方法(加速),所需的参数(上升到更高的档位)。采用的方法(加速),所需的参数(上升到更高的档位)。4.1.3 类类 类是具有共同类是具有共同属性和行为的属性和行为的对象的抽象。对象的抽象。类可以定义为类可以定义为数据和方法的数据和方法的集合集合。对象具有特殊对象具有特殊属性和行为方属性和行为方式的实体。式的实体。6868类对象抽抽象象实实例例化化封装的实体封装的实体=数据数据+方法方法操作或行为操作或行为属性或状态属性或状态方法方法数据或变量数据或变量4.1.4 面向对象的基本特征面向对象的基本特征1.1.封装:将数据成封装:将数据成员(Data M

47、emberData Member)和和属于此数据的操作方法(属于此数据的操作方法(Operating Operating MethodMethod),),放在同一个放在同一个实体(体(EntityEntity)或或对象中。象中。2.2.继承:父承:父类定定义(DefineDefine)一些通用的一些通用的属性与行属性与行为,其孩子,其孩子继续使用。使用。3.3.多多态:在同一个:在同一个类中可有中可有许多同名的方多同名的方法,但其参数数量与数据法,但其参数数量与数据类型不同,而型不同,而且操作且操作过程与返回程与返回值也可能会不同。也可能会不同。6969(1 1)模块化)模块化 (2 2)信息

48、隐藏信息隐藏 (1 1)实现代码复用)实现代码复用 (2 2)简化设计过程)简化设计过程 解决其他语言中解决其他语言中不能重名的问题不能重名的问题 4.2.1 类的定义类的定义 类的定的定义格式格式为:7070类修饰符类修饰符class name type variable1;type variableN;type methodname1(parameter-list)/方法体方法体 type methodnameN(parameter-list)/方法体方法体 成员变量(对象属性)成员变量(对象属性)成员方法成员方法(对象行为(对象行为或操作)或操作)4.2.2 成员变量成员变量 作用范作用

49、范围是整个是整个类。与局部。与局部变量不同。量不同。可以使用修可以使用修饰符来控制符来控制变量的作用范量的作用范围。格式:格式:(=)修修饰符可以符可以为:static:定定义类变量,区分量,区分实例例变量。量。final:用来声明常量,:用来声明常量,值只能用不能改。只能用不能改。transient:定:定义暂时性性变量,串行化量,串行化时不能不能保存。保存。volatile:定:定义共享共享变量,用于多量,用于多线程共享。程共享。71714.2.3 成员方法成员方法 定定义方法的一般格式:方法的一般格式:access type methodname1(parameter-list)/方法体

50、方法体7272public void setdt(int day,int month,int year)day=23;month=7;year=2003;方法名称方法名称返回类型返回类型修饰符,修饰符,可选可选参数列表,参数列表,可选可选4.2.4 类的对象类的对象(1)对象的声明和象的声明和创建建 类名名 对象名;象名;/声明声明 对象名象名=new 类名(参数);名(参数);/创建建(2)对象的使用象的使用 对象名象名.成成员变量名;量名;对象名象名.成成员方法名(参数列表);方法名(参数列表);(3)对象的象的销毁自自动垃圾回收机制周期性的垃圾回收机制周期性的释放无用的放无用的对象。象。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com