《Java程序设计》课程电子教案(PPT课件讲稿)第3章 方法

第3章方法 ava 3.1定义方法 3.2调用方法 3.3参数传递 34递归 3.5方法重载 3.6习题
第3章 方法 3.1 定义方法 3.2 调用方法 3.3 参数传递 3.4 递归 3.5 方法重载 3.6 习题

3.1定义方法 ava 返回值类型方法名(形式参数表) 方法体 Jaa语言中的方法与其他语言中的函数或 过程类似。它用于实现类的行为,只能作为 类的一部分存在
3.1 定义方法 返回值类型 方法名(形式参数表) { 方法体 } Java语言中的方法与其他语言中的函数或 过程类似。它用于实现类的行为,只能作为 类的一部分存在

3.1定义方法(续) ava 返回值类型方法名形式参数 Sint area(int d, int b) 方法体 return a*b 返回值
3.1 定义方法(续) int area(int a,int b) { return a*b; } 返回值类型 方法名 形式参数 返回值 方法体 方法头

3.1定义方法(续) ava return语句的一般使用方式如下: return表达式; 其作用是首先计算出表达式的值,并返回这个值,然 后结束该方法的执行。 如果某个方法没有返回值, return语句就可有可无 如果没有 return语句,该方法在被调用时,执行方法 的最后一条语句后,就自动结束方法的执行。如果有 return语句,这时, return语句应表示为: return 个方法中允许出现多个 return语句,分别用于不同 条件下的方法返回
3.1 定义方法(续) return语句的一般使用方式如下: return 表达式; 其作用是首先计算出表达式的值,并返回这个值,然 后结束该方法的执行。 如果某个方法没有返回值,return语句就可有可无。 如果没有return语句,该方法在被调用时,执行方法 的最后一条语句后,就自动结束方法的执行。如果有 return语句,这时,return语句应表示为: return; 一个方法中允许出现多个return语句,分别用于不同 条件下的方法返回

3.2调用方法 ava 方法调用的一般形式如下 方法名(实际参数表) 方法调用是一个表达式,其中的括号是方 法调用运算符。表达式的值是被调用方法 的返回值,它的类型就是方法定义中指定 的方法返回值的类型。 例3-3调用方法 源代码
3.2 调用方法 方法调用的一般形式如下: 方法名(实际参数表) 方法调用是一个表达式,其中的括号是方 法调用运算符。表达式的值是被调用方法 的返回值,它的类型就是方法定义中指定 的方法返回值的类型。 例3-3 调用方法 源代码 运 行

3.3参数传递 ava 是指实参与形参的结合过程。 按值传递时,系统首先为被调用方法 的形参分配内存空间,并将实参的值 按位置一一对应复制给形参,此后, 被调用方法中形参值的任何改变都不 会影响到实参。 例3-4传值调用 源代码
3.3 参数传递 是指实参与形参的结合过程。 按值传递时,系统首先为被调用方法 的形参分配内存空间,并将实参的值 按位置一一对应复制给形参,此后, 被调用方法中形参值的任何改变都不 会影响到实参。 例3-4 传值调用 源代码 运 行

34递归 ava 递归过程分两个阶段: 第1个阶段为“递推” 4=4*3!→3!=3*2!→21=2*11→11=1*0!→0!=1(已知) 第2个阶段为“回归” 0=1(已知)-小11=1*0=12-=2*11=2-3!=3*2=6+4=4*3!=24 例3-5用递归方法求 bonacci数列的第n项 Fibonacci数列的定义为 F(m)= F(n-1)+F(n-2)当n>2时 源代码
3.4 递归 递归过程分两个阶段: – 第1个阶段为“递推”。 4!=4*3! 3!=3*2! 2!=2*1! 1!=1*0! 0!=1(已知) – 第2个阶段为“回归”。 0!=1(已知) 1!=1*0!=1 2!=2*1!=2 3!=3*2!=6 4!=4*3!=24 例3-5 用递归方法求Fibonacci数列的第n项 Fibonacci数列的定义为: − + − = = = 当 时 当 时 当 时 ( 1) ( 2) 2 1 2 1 1 ( ) F n F n n n n F n 源代码 运 行

34递归(续) ava 使用递归调用编写的程序简洁清晰,容易理解 不过,时间和空间的开销比较大,有时甚至会 引起栈溢出 例3-6 Hanoi塔问题的求解 有三根针,设为A、B、C。A针上从大到小套着大小互不相等n个 金片,大的在下,小的在上。要求把这n个金片从A针移到C针,在移动 过程中只能借助B针,每次只允许移动一个金片,同时要求无论在哪根 针上都只允许小的金片压在大的上面。 源代码
3.4 递归(续) 使用递归调用编写的程序简洁清晰,容易理解。 不过,时间和空间的开销比较大,有时甚至会 引起栈溢出。 例3-6 Hanoi塔问题的求解 有三根针,设为A、B、C。A针上从大到小套着大小互不相等n个 金片,大的在下,小的在上。要求把这n个金片从A针移到C针,在移动 过程中只能借助B针,每次只允许移动一个金片,同时要求无论在哪根 针上都只允许小的金片压在大的上面。 源代码 运 行

3.5方法重载 ava 是指建立多个同名的方法,但方法的形参表 互不相同。 调用方法时,Java系统优先选择与实参完全匹 配的方法,如果找不到完全匹配者,就进行 自动类型转换以使实参与形参匹配。 例3-7方法重载 源代码
3.5 方法重载 是指建立多个同名的方法,但方法的形参表 互不相同。 调用方法时,Java系统优先选择与实参完全匹 配的方法,如果找不到完全匹配者,就进行 自动类型转换以使实参与形参匹配。 例3-7 方法重载 源代码 运 行

3.5方法重载(续) ava 獒虿柒閤券滢粉婴表都个是剁仅仅是返 例 class A tatic int f(int a) return 1 static double f(int a) public static void main(string[] arg f(1);//无法判断调用哪个方法
3.5 方法重载(续) 重载方法的返回类型可以相同,也可以不同。但如果仅仅是返 回类型不同,而方法名和形参表都相同,则是非法的。 例: class A { static int f(int a) { return 1; } static double f(int a) { return 1.0; } public static void main(String[] args) { f(1); //无法判断调用哪个方法 } }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《Java程序设计》课程电子教案(PPT课件讲稿)第1章 Java语言概述.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第2章 Java语言编程基础.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第4章 类和对象.ppt
- 人民邮电出版社:教育部高职高专规划教材:《计算机网络基础》课程电子教案(PPT课件讲稿)第9章 Internet.ppt
- 人民邮电出版社:教育部高职高专规划教材:《计算机网络基础》课程电子教案(PPT课件讲稿)第8章 网络的互连.ppt
- 人民邮电出版社:教育部高职高专规划教材:《计算机网络基础》课程电子教案(PPT课件讲稿)第7章 网络的计算模式.ppt
- 人民邮电出版社:教育部高职高专规划教材:《计算机网络基础》课程电子教案(PPT课件讲稿)第6章 网络操作系统与网络结构.ppt
- 人民邮电出版社:教育部高职高专规划教材:《计算机网络基础》课程电子教案(PPT课件讲稿)第5章 结构化布线系统.ppt
- 人民邮电出版社:教育部高职高专规划教材:《计算机网络基础》课程电子教案(PPT课件讲稿)第4章 计算机局域网络.ppt
- 人民邮电出版社:教育部高职高专规划教材:《计算机网络基础》课程电子教案(PPT课件讲稿)第3章 计算机网络体系结构.ppt
- 人民邮电出版社:教育部高职高专规划教材:《计算机网络基础》课程电子教案(PPT课件讲稿)第2章 数据通信基础.ppt
- 人民邮电出版社:教育部高职高专规划教材:《计算机网络基础》课程电子教案(PPT课件讲稿)第1章 计算机网络概论(主编:杜煜、姚鸿).ppt
- 人民邮电出版社:教育部高职高专规划教材:《计算机网络基础》课程电子教案(PPT课件讲稿)第10章 计算机网络安全.ppt
- 湖北经济学院:《计算机图形学》第九章 三维形体的表示.ppt
- 湖北经济学院:《计算机图形学》第七章 投影变换.ppt
- 湖北经济学院:《计算机图形学》第六章 图形变换.ppt
- 湖北经济学院:《计算机图形学》第五章 二维图形裁剪.ppt
- 湖北经济学院:《计算机图形学》第四章 基本图形生成算法.ppt
- 湖北经济学院:《计算机图形学》第二章 CG标准.ppt
- 湖北经济学院:《计算机图形学》第十一章 真实感图形技术.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第5章 继承与多态.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第6章 基础类.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第8章 集合与泛型.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第7章 数组.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第9章 异常处理.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第10章 IO系统.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第11章 图形用户界面.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第12章 Applet及绘图.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第13章 多线程.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第14章 多媒体编程.ppt
- 《Java程序设计》课程电子教案(PPT课件讲稿)第15章 网络编程.ppt
- 西北工业大学:《Internet实用技术》第8章 FrontPage高级应用.ppt
- 西北工业大学:《Internet实用技术》第9章 网络安全与法律.ppt
- 西北工业大学:《Internet实用技术》第10章 计算机网络的分类协议与体系结构.ppt
- 西北工业大学:《Internet实用技术》第11章 局域网与广域网.ppt
- 西北工业大学:《Internet实用技术》复习.ppt
- 西北工业大学:《Internet实用技术》重点内容.ppt
- 莆田高等专科学校:《网络管理基础》课程教学资源(讲义)第八章 WINDOWS NT 网络操作系统.doc
- 莆田高等专科学校:《网络管理基础》课程教学资源(讲义)第二章 LAN组网技术(增补).doc
- 莆田高等专科学校:《网络管理基础》课程教学资源(讲义)第二章 LAN组网技术续.doc