ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java方法

2022-07-01 15:35:02  阅读:132  来源: 互联网

标签:Java 递归 形参 参数 实参 方法


Java方法

设计方法的原则:一个方法只完成一个功能,这样有利于后期的扩展

方法定义

方法包含一个方法头和一个方法体。下面是一个方法的所有部分:

  • 修饰符

  • 返回值类型

  • 方法名

  • 参数类型

    • 形参
    • 实参

    注:Java中实参到形参的传递都是“值传递”,基本数据类型的实参将其具体的值复制一份给形参,而引用类型的实参将其地址复制给形参

    • 值传递:会创建副本,方法无法改变原始对象
    • 引用传递:不创建副本,方法可以改变原始对象
  • 方法体

方法重载

重载就是在一个类中,有相同名称,但形参不同的函数

方法名称相同时,编译器根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败则报错。

重载的规则

  • 方法名必须相同
  • 参数列表不同(个数不同、或类型不同、参数排列顺序不同等)
  • 方法的返回类型可以相同也可以不同

命令行传参

在cmd中,以如下形式可以给main函数的args数组传参

java xxx 参数

可变参数

  • JDK 1.5开始,Java支持传递同类型的可变参数给一个方法
  • 在方法声明中,在指定参数类型后加一个省略号(...)
  • 一个方法中只能指定一个可变参数,必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
    Demo2 demo2 = new Demo2();
    demo2.test(1,2,3,4,5,6,34,234);
}
public void test(int x,int ... i){    //可变参数必须放在最后
    for (int j : i) {
        System.out.println(j);        //输出2,3,4,5,6,34,234
    }

递归

递归就是自己调用自己

利用递归来解决一些复杂问题,在大的问题层层转化为与原问题相似的小问题来求解。使用递归只需要少量的程序就可以描述出解题过程所需要的多次重复计算。

递归结构包含两个部分:

  • 递归头:什么时候不调用自身方法。没有递归头就会死循环
  • 递归体:什么时候需要调用自身方法

比如写一个阶乘函数f(n),n==0则return 1 否则 return n*f(n-1)

Java使用栈机制,所以对一些需要多次递归的问题,太占内存。比如之前阶乘的例子,如果要让程序算200的阶乘,直接输出0了,内存崩溃

能不用递归就不用递归了,除非问题递归次数少

标签:Java,递归,形参,参数,实参,方法
来源: https://www.cnblogs.com/csw6562/p/16434771.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有