第9讲 方法的定义与重载_第1页
第9讲 方法的定义与重载_第2页
第9讲 方法的定义与重载_第3页
第9讲 方法的定义与重载_第4页
第9讲 方法的定义与重载_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、1JavaJava程序设计程序设计 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢n 循环应用案例穷举法u鸡兔同笼u百钱百鸡找规律u特殊累加和u猴子吃桃u弹跳球 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢public class HuYueJie83 public static void main(String args) double x=0;double a,b,c;a=1;b=2;for (int i=1;i=20;i+)c=b/a;x=x+c;System.out.println(x=+x); 河南经贸职业学院河南经贸职业学院 信息管理系信息

2、管理系武俊琢武俊琢for(t=a/b;t=20;t+)x=a/b;s=x+s;v=b;b=a;a=v+a;public class zhaoyu83 public static void main(Stringargs)double s=0; double a,b,t; a=2; b=1; for(int i=1;i=20;i+) t=a/b; s=s+t; a=b; b=a; s=s+a; System.out.println(s=+s); 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢public class SunLuLu071 public static void

3、main(String args) int a,b,c,d,x;for(int i=4;i=100;i+)x=i*i;a=x/1000;b=x%1000/100;c=x%1000%100%10;d=x%1000%100%10;if(a=b&c=d)System.out.println(这个车牌号是:+x); 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【要点要点】u方法的定义u方法调用u方法重载【教学目标教学目标】u掌握静态方法的定义,掌握方法的调用,掌握方法的重载,掌握方法的递归调用 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【概念导入概

4、念导入】 假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹。发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这重复地编写这100行代码行代码,这样程序会变得很臃肿,可读性非常差很臃肿,可读性非常差。 为了解决代码重复编写的问题,可以将发射炮弹的代码提将发射炮弹的代码提取出来放在一个取出来放在一个中,并为这段代码起个名字中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。 上述过程中,提取出来的这段代码就是程序中定义的一个提取出来的这段代码就是程序中定义的一个方法方法。程序在需要发射炮弹时调用该方法即可。 河南经贸职业学

5、院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢例1:阅读分析程序,了解方法在程序中起到的作用。在不使用方法时实现打印三个长宽不同的矩形。 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【分析分析】本例中,本例中,分别使用3个嵌套for循环完成了三个矩形的打印,仔细观察会发现,这3个嵌套for循环的代码是重复的,都在做一样的事情。此时,可以将使用可以将使用“*”打印矩形的功能定义为方法,在程打印矩形的功能定义为方法,在程序中调用三次即可。序中调用三次即可。 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢例例2:使用方法的程序:使用方法的程序 河南经贸

6、职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢n 在Java中,声明一个方法的具体语法格式如下:修饰符修饰符 返回值类型 方法名方法名(参数类型1 参数名1 ,参数类型2 参数名2 , )执行语句;return 返回值;格式符格式符说明:说明:方括号方括号“ ”表示在格式中是可选项,即可以没表示在格式中是可选项,即可以没有该项内容。有该项内容。 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法定义说明方法定义说明】基础格式(必选项):返回值类型 方法名方法名( )方法体方法体;方法定义的位置:与主方法main一样,必须在类体中定义,即在class定义的一对内

7、部定义,但是方法不能嵌套定义。 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法定义说明方法定义说明】(1)返回值类型:)返回值类型:必选项,定义返回值的数据类型u如果该方法有返回值,则必须定义返回值数据类型,同时在方法体内必须有一条return 语句,格式如下: return 表达式表达式; 说明:说明:表达式的数据类型必须与返回值类型一致u如果该方法没有返回值,则使用void类型,此时方法体中可以没有return语句,如果有return,只能是以下格式: return; 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法定义说明方法定义说明】(

8、2)方法名:)方法名:必选项,符合标识符规范的方法名称如果多个单词构成,则首单词首字母小写,其它单词首字母大写,如:isTure、printNum等 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法定义说明方法定义说明】/定义方法定义方法isTrue()boolean isTrue() /返回值类型为 boolean boolean flag=true; return flag; /对应的return语句/定义方法定义方法printNum()void printNum() /返回值类型为void int num=10; System.out.println(num);

9、/可以没有return语句 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法定义说明方法定义说明】(3)修饰符:)修饰符:可选项,根据需要设置,常用修饰符有public、static等upublic用于设定方法的访问权限为公有权限,公有权限的方法可以在任何包的任何类中调用。ustatic用于设定方法是静态方法静态方法,静态方法可以在其他方法中直接调用、也可以通过“类名.方法名()”直接调用。u其它修饰符在后续章节中学习。 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法定义说明方法定义说明】(4)参数类型1 参数名1 ,参数类型2 参数名2 ,

10、:可选项,称为参数变量列表参数变量列表。u参数变量列表中可以定义多个参数变量,参数之间以逗号“,”间隔,每个参数的定义格式如下: 参数数据类型参数数据类型 参数名参数名 说明:参数名也是符合变量名规范的标识符u参数变量的作用域是方法体 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法定义说明方法定义说明】/定义方法定义方法printRectangle ()void printRectangle(int w, int h) /定义2个整型参数w,h for (int i = 0; i h; i+) /方法体中使用h for (int j = 0; j w; j+) /方法

11、体中使用方法体中使用wSystem.out.print(*); System.out.println(); 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法定义说明方法定义说明】参数变量的意义:参数变量的意义:调用方法时,可以给参数变量传值,不同的调用可以传递调用方法时,可以给参数变量传值,不同的调用可以传递不同的值,但是不同的值,但是传递的数值类型必须与参数类型一致传递的数值类型必须与参数类型一致。如:如:printRectangle(5,3); 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法的调用】方法名方法名(参数值1,参数值2,)【方法

12、调用说明】(1)方法名,即方法定义中的名字(2)参数值列表,即参数值1,参数值2,,参数值列表与方法定义中的参数变量列表要按顺序一一匹配。如:定义定义 void printRectangle(int w, int h) 调用调用printRectangle(6,3); 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法调用说明】(3)返回值类型为void时,方法调用没有返回值,因此以方法调用语句形式进行调用(语句调用语句调用),如: printRectangle(5,3);(4)返回值类型不是void时,方法调用有返回值,因此调用方法时可以获取方法的返回值的,此时方法调用

13、一般出现在表达式中(表达式调用表达式调用)。(5)方法调用的位置:方法调用可以作为语句使用,也可以作为表达式使用,而无论哪种都必须在一个方法体中使用。初学初学时一般放在时一般放在main()方法中调用。方法中调用。 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法的调用】例3:定义一个求矩形面积的方法,并且调用该方法计算长为3,宽为5的矩形面积。 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法调用方法调用】u调用过程 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法的重载方法的重载】Java允许在一个程序中定义多个名称相

14、同,但是参数的类型或个数必须不同的方法,这就是方法的重载。在调用方法时Java根据参数值的类型及个数自动匹配确定执行哪一个方法。 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【例4】编写一个程序,定义3个重载方法,分别计算圆形、矩形、梯形面积,并在主方法中分别调用这些方法。【分析】u计算圆形面积只需要一个半径,定义1个参数u计算矩形面积需要长和宽,定义2个参数u计算梯开面积需要上底、下底和高,定义3个参数 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢【方法的重载说明方法的重载说明】方法的重载与返回值类型无关,它只有两个条件,一是方法名相同,二是参数个数或参数类型不相同。 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊琢n 方法的递归是指在一个方法的内部调用自身的过程n 递归必须要有结束条件,不然就会陷入无限递归的状态,永远无法结束调用。 河南经贸职业学院河南经贸职业学院 信息管理系信息管理系武俊琢武俊

温馨提示

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

评论

0/150

提交评论