字节架构师:关于Java方法和调用,看完这篇,带你不迷路!

在这里插入图片描述

字节架构师:关于Java方法和调用,看完这篇,带你不迷路!

Java方法和调用

什么是方法

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

  • 包含于类或对象中

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

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

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

把开门和进门,出门分开成为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);
        }
    }
}

它的原理:

网图

分类: [javaSE]
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值