Day05 Java方法

方法的定义

修饰符 返回值类型 方法名(参数类型 参数名){
    方法体
    return 返回值;
}
  • 修饰符: 可选,定义方法的访问类型

  • 返回值类型: 方法返回值的数据类型。当返回值类型(returnValueType)是void时,该方法执行所需的操作,但没有返回值。

  • 方法名: 方法的实际名称。

  • 参数类型: 当方法被调用时,传递值给参数,这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。

    • 形式参数: 在方法被调用时用于接收外界输入的数据。
    • 实参: 调用方法时实际传给方法的数据。
  • 方法体: 包含具体的语句,定义该方法的功能。

方法重载

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

方法重载的规则:

  • 方法名称必须相同
  • 参数列表必须不同(个数不同/类型不同/参数排列顺序不同等)
  • 方法的返回值可以相同也可以不相同
  • 只有返回类型不同不足以成为方法重载

可变参数

在方法声明中,在指定参数类型后面加一个省略号(…)

一个方法中只能指定一个可变参数,他必须是方法的最后一个参数。任何普通参数必须在它之前声明。

递归

递归结构包括两个部分:

  • 递归头: 判断何时结束递归,避免递归进入死循环
  • 递归体

当递归无限运行时,会出现StackOverflowError错误

示例:计算阶乘

import java.util.Scanner;

public class Factorial {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("输入一个整数: ");
        int n=input.nextInt();
        System.out.println(n+"的阶乘是: "+f(n));
        input.close();
    }
    //递归计算阶乘的方法
    public static long f(int n){
        if(n==1)
            return 1;
        else
            return n*f(n-1);
    }
}

运行结果:

在这里插入图片描述

流程图:

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值