首页 > 编程语言 > 详细

java方法和调用

时间:2021-06-09 17:54:43      阅读:9      评论:0      收藏:0      [点我收藏+]

什么是方法

  • 是语句的集合,组合在一起执行一个功能

  • 包含于类或对象中

  • 在程序中被创建,其他地方被引用

在设计方的时候最好是一个方法完成一个功能,这样有利于后期拓展

比如你要出门,就要开门再出去,你要进门也要开门,再进来。

把开门和进门,出门分开成为3个功能,当你要出门的时候就调用开门和出门方法。

方法的定义和调用

public static 返回类型 方法名称([参数类型 变量, ......]) {
	方法体代码;
	[return [返回值];]
}

这个返回值可以是int,String,Map等等

参数也可以是多个,用逗号隔开

public class TestDemo {
    public static void main(String[] args) {
        print();	//主方法里面直接调用方法
    }
    public static void print() {
        System.out.println("Hello	World!"); //定义方法
    }
    public int sumMoney(int money1,int money2){
        int money = money1+money2;
        return money;
    }
}

方法重载

方法重载指的是:方法名称相同,参数的类型和个数不同,或者参数的排列顺序不同

public class TestDemo {
	public static void main(String[] args) {
		//此时将根据参数的类型和个数的不同执行不同的方法体
		System.out.println(add(10, 20));
		System.out.println(add(30, 40, 50));
		System.out.println(add(1.1, 2.1));
	}
	public static int add(int x, int y) {
		return x + y;
	}
	//此时方法名称相同,参数的个数不同
	public static int add(int x, int y, int z) {
		return x + y + z;
	}
	public static double add(double x, double y) {
		return x + y;
	}
}

可变参数

参数类型…(三个点) 参数名

可变参数必须写在参数列表的最后面

无法仅通过改变 可变参数的类型,来重载方法。

//可变参数本质上可变参数就是一个数组。所以,数组拥有的方法、属性,可变参数一样拥有。
public void varArgMethod(int b,int... arr) {
	//和数组一样,拥有属性length
	int lenth = arr.length;
	//索引遍历
	for(int i=0;i<arr.length;i++) {
		System.out.println(arr[i]);
	}
	//forEach循环遍历
	for(int ele:arr) {
		System.out.println(ele);
	} 	
}

方法递归调用

所谓递归就是自己调用自己。

分类
  • 直接递归:方法自身调用自己。
  • 间接递归:A方法调用B方法,B方法调用C方法,C方法再调用A方法。
注意事项
  • 递归一定要有条件限定,保证递归能够停止下来,否则会形成死循环并发生栈内存溢出(StackOverflowError)。
  • 递归中虽然限定了停止下来的条件,但是递归次数不能太多,否则也会发生栈内存溢出。
  • 禁止构造方法递归。
//使用递归计算10的阶乘
public class FactorialRecursion {
    public static void main(String[] args) {
        System.out.println(Factorial(5));
    }
    public static int Factorial(int n){
        if (n==1){
            return 1;
        }else{
          return  n*Factorial(n-1);
        }
    }
}

它的原理:

技术分享图片

java方法和调用

原文:https://www.cnblogs.com/doms-xiang/p/14866669.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!