码迷,mamicode.com
首页 > 其他好文 > 详细

方法总结

时间:2021-05-03 12:02:31      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:add   pre   lse   eth   参数类型   static   dem   src   int   

方法其本质是为了实现某种功能的工具,有些功能一样,仅仅因为参数不同,这时候可以使用方法的重载,而不用起一堆方法,同时多个相同数据类型的参数,即使使用重载也没有解决,使用可变参数。

递归方法,其实有点类似高中的通项式和数学归纳法。

方法定义

  1. 修饰符
  2. 返回值类型
  3. 方法名
  4. 参数类型
  5. 方法体

形式参数,实际参数

java是值传递

方法的重载

规则

  • 方法名必须相同
  • 参数列表必须不同(参数个数,数据类型,顺序)
  • 方法的返回值类型可以相同,可以不同
  • 仅仅返回值的不同不足以成为方法的重载

可以应用于功能相同,只是参数不同的时候的情况。

进一步:

  • 对于参数个数不同,可以使用可变参数。

  • 对于参数类型不同,可以使用泛型

命令行传参

用于程序运行是需要参数的情况,在代码后面添加参数,传递给main()

注意:

对于package com.guang.method下的Demo01.java

编译的时候,可以在Demo01.java当前目录编译。

运行的时候,需要在com上级目录例如src下运行。

java Demo01.java    
javac com.guang.method.Demo01 hello world

--hello
--world

package com.guang.method;
public class Demo01 {
    public static void main(String[] args) {
        for (String s : args) {
            System.out.println(s);
        }
    }
}

可变参数

使用

在指定参数类型后加一个省略号(...)

一个方法中必能有一个可变参数且在最后定义。

本质是一个数组。

public static void add(int... i){
    if (i.length==0){
    	return;
    }
    int sum=0;
    for (int num : i) {
       sum +=num;
    }
    System.out.println(sum);
}

add(1,2,3);
add(new int[]{1,2,3})

递归

结构

  • 递归头:什么时候不调用自身方法。
  • 递归体:什么时候需要调用自身方法。
阶乘
public static int f(int n){
    if(n==1){
        return 1;
    }else {
        return n*f(n-1);
    }
}

方法总结

标签:add   pre   lse   eth   参数类型   static   dem   src   int   

原文地址:https://www.cnblogs.com/marhuman/p/14722994.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!