欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第6章-方法--Java程序设计语言教学课件.ppt

    • 资源ID:73605690       资源大小:2.01MB        全文页数:36页
    • 资源格式: PPT        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第6章-方法--Java程序设计语言教学课件.ppt

    第6Java程序设计程序设计2学习目标l学习如何在类中建立方法l理解方法调用、参数传递和重载方法6.1 定义方法Java语言定义方法的语法结构如下:1.返回值 方法的返回值是指方法运行结束时产生的一个结果,返回值类型说明了方法返回值的数据类型。如果一个方法只是执行某些特定的操作,不产生返回值,则返回值类型为关键字void,该类方法称为void方法。2.方法名 方法名使用Java语言标识符命名。建议方法名用一个动词或动词短语,命名时采用小写字母,当由多个单词构成时,从第二个单词开始首字母大写。6.2 调用方法 定义方法的目的是在程序中使用它,在程序中使用方法称为调用方法。根据方法是否有返回值可以把方法调用分成两类:方法调用表达式和方法调用语句。1.方法调用表达式 方法调用表达式形式用于对有返回值方法的调用,将方法调用作为一个表达式或表达式的一部分。这种调用的目的就是要使用方法调用产生的返回值。举例:int big=max(10,100);/max方法调用的值被赋值给变量 System.out.println(max(10,100);/max方法调用的值被输出 int sum=max(x,y)+200;/max方法调用的值参与算术运算 2.方法调用语句 void方法的调用必须采用语句形式。例如:System.out.println(welcome to java);/调用void方法的语句 注意事项:方法调用时出现在括号内的常量、变量或表达式称为实际参数,简称实参。其作用是向形参提供数据。Java语言也允许以语句形式调用有返回值的方法,此时方法的返回值被忽略了。如果程序对某个方法的返回值不感兴趣,可以采用语句形式调用。方法调用的执行流程 一个方法中调用另一个方法时,程序的流程从发生方法调用的位置离开转移到被调用的方法,当被调用方法中碰到return或执行完最后一条语句时,程序流程重新回到调用者方法继续后面操作的执行6.3 参数的值传递 在调用定义了形参的方法时需要把实参的值传递给形参,Java语言规定:实参必须与方法定义中的形参在次序和数量上匹配,在数据类型上兼容。数据类型兼容是指实参与形参的数据类型相同或者实参不必经过强制类型转换就可以将值赋给形参。实参向形参的传递数据是单向值传递。只能是实参将值传递给形参,在被调用方法的执行过程中,无论形参的值发生怎样变化都不会反过来影响实参的值。举例:/文件名:ParameterPass.javapublic class ParamterPass public static void main(String args)int x=10,y=100;System.out.printf(调用swap方法之前:x=%d,y=%dn,x,y);s);System.out.printf(调用swap方法之前:x=%d,y=%dn,x,y);public static void s a,int b)int temp;System.out.println(t在swap方法内:);System.out.printf(tt交换a,b之前:a=%d,b=%dn,a,b);temp=a;a=b;b=temp;System.out.printf(tt交换a,b之后:a=%d,b=%dn,a,b);6.4 方法重载 Java语言允许在一个类中的两个或更多的方法具有相同的方法名称但有不同的形式参数列表,称为方法重载。首先实参和形参的数量必须相同,然后考虑以下几种情况:(1)如果找到1个形参与实参的类型完全相同的方法,则调用该方法;(2)否则,如果找到1个需要通过自动类型类型转换可以进行参数传递的方法,则调用该方法;(3)否则,如果找到多个需要通过自动类型类型转换可以进 行参数传递的方法,并且其中一个方法的形参与实参最接近,则调用该方法;(4)否则,如果找到多个需要通过自动类型类型转换可以进 行参数传递的方法,但其中形参与实参最接近的方法多于1个,则无法调用,编译出错。/返回2个int数据的大值 public static int max(int a,int b)return a b?a:b;/返回2个double数据的大值 public static double max(double a,double b)return a b?a:b;/返回3个double数据的大值 public static double max(double a,double b,double c)return max(max(a,b),c);方法重载可以使程序清晰易读,并减少记忆方法名称的难度。定义完成相似任务的方法时应该使用重载,即给予相同的方法名和不同的形参列表。需要注意的是,方法的返回值类型和修饰符不能作为重载方法时区别方法的依据。/文件名:ReverseArray.java public class ReverseArray public static void main(String args)int list1=1,2,3,4,5,6,7,8,9,0;System.out.print(调用reversInSameArray前,list1:);outputArray(list1);reverseInSameArray(list1);System.out.print(调用reversInSameArray后,list1:);outputArray(list1);int list2=1,2,3,4,5,6,7,8,9,0;int list3=null;System.out.print(调用reverseInNewArray前,list2:);outputArray(list2);list3=reverseInNewArray(list2);System.out.print(调用reverseInNewArray后,list2:);outputArray(list2);System.out.print(调用reverseInNewArray后,list3:);outputArray(list3);/输出一个数组所有元素的方法,本方法没有改变数组变量array的值,/也没有改变数组的内容 public static void outputArray(int array)for(int value:array)System.out.print(value+);System.out.println();/在原数组中进行元素逆序的方法,本方法没有改变数组变量的值,但改变了数组的内容 public static void reverseInSameArray(int array)for(int i=0,j=array.length-1;i j;i+,j-)int temp=arrayi;arrayi=arrayj;arrayj=temp;/产生一个与原数组元素逆序的新数组,本方法改变了数组变量的值,/但没有改变原数组的内容 public static int reverseInNewArray(int array)int old=array;array=new intold.length;for(int i=0,j=array.length-1;i 2/文件名:Fibonacci.javaimport java.util.Scanner;public class Fibonacci public static void main(String args)Scanner input=new Scanner(System.in);long n=input.nextLong();System.out.println(fibonacci(+n+)=+fibonacci(n);public static long fibonacci(long n)if(n=1)return 1;else if(n=2)return 1;else return fibonacci(n-1)+fibonacci(n-2);例6-7:汉诺塔问题。这个问题目标是把若干个大小互不相同的盘子从一个柱子移动到另一个柱子,移动时遵循的规则:有n个编号从1到n的盘子,三个命名为A、B、C的柱子;任何时候只能把较小的盘子放在较大的盘子上面;开始时所有盘子都在A柱上面;每次只能移动柱子最上面的一个盘子。目标是将所有的盘子借助C柱从A柱移到B柱。要求输出移动盘子的过程。解题思路:汉诺塔问题初看起来非常复杂,但使用递归方法的思路解决却又非常直观。汉诺塔问题的终止状态是n=1,此时直接将盘子从A移到B即可。当n1时,把问题分解为以下三个步骤解决:第1步:借助B把n-1个盘子从A移到C。第2步:把盘子n从A移到B。第3步:借助A把n-1个盘子从C移到B。/文件名:HanoiTower.javaimport java.util.Scanner;public class HanoiTower public static void main(String args)Scanner input=new Scanner(System.in);System.out.print(输入盘子的个数:);int n=input.nextInt();System.out.println(从A移动+n+个盘子到B的步骤如下:);move(n,A,B,C);/形式参数:n-盘子个数,from-起始柱,to-目标柱,mid-借助的柱 public static void move(int n,char from,char to,char mid)if(n=1)/终止状态 System.out.printf(盘子%d从%c移到%cn,n,from,to);else move(n-1,from,mid,to);System.out.printf(盘子%d从%c移到%cn,n,from,to);move(n-1,mid,to,from);课后工作l复习本章内容l课后做本章后面的练习。Java程序设计程序设计36

    注意事项

    本文(第6章-方法--Java程序设计语言教学课件.ppt)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开