05Java学习day(5)

方法

方法的定义类似 c++中的函数,格式为

java 复制代码
修饰符 返回值类型 方法名(参数1.参数2,...){//参数列表可以为空,这里的参数是形参
	方法体
	return 返回值;
}
在函数的调用处参数为实参,形参和实参要一一对应。

这里写一个求阶乘的例子:

java 复制代码
import java.util.Scanner;

public class Main{
    public static int fact(int n){
        int res=1;
        for(int i=2;i<=n;i++)
        {
            res*=i;
        }
        return res;
    }
    public static void main(String[] args)
    {
        int n;
        Scanner sc=new Scanner(System.in);
        n=sc.nextInt();
        System.out.printf("%d",fact(n));
    }
}

参数传递

  1. 将实参的初始值拷贝给形参。此时,对形参的改动不会影响实参的初始值。
  2. 将实参的引用(地址)传给形参,通过引用找到变量的真正地址,然后对地址中的值修改。所以此时对形参的修改会影响实参的初始值。

方法重载

方法重载是指:在同一个类中存在多个方法,方法名称相同但参数列表不同。

编译器会根据实参的类型选择最匹配的方法来执行。

比如对取最值函数进行重载:

java 复制代码
import java.util.Scanner;
public class Main{
    public static int max(int a,int b)
    {
        System.out.println("INT最大值:");
        if(a>b)return a;
        else return b;
    }
    public static double max(double a,double b)
    {
        System.out.println("DOUBLE最大值:");
        if(a>b)return a;
        else return b;
    }
    public static void main(String[] args)
    {
        System.out.println(max(3,4));
        System.out.println(max(8.8888,6.5454));
    }
}

输出

java 复制代码
INT最大值:
4
DOUBLE最大值:
8.8888

方法递归调用

比如在方法内部去调用这个方法。

比如递归求斐波那契数列:

java 复制代码
import java.util.Scanner;
public class Main{
    public static int fib(int n)
    {
        if(n<=2)return 1;
        return fib(n-1)+fib(n-2);
    }
    public static void main(String[] args)
    {
        int n;
        Scanner sc=new Scanner(System.in);
        n=sc.nextInt();
        System.out.println(fib(n));
    }
}
相关推荐
_Evan_Yao8 小时前
Redis 缓存穿透、击穿、雪崩,一次讲清!
java·spring·mybatis
梓豪csd8 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
秋饼8 小时前
Spring AI 2.1 Message Parts 深度实战:推理签名回放与跨轮记忆持久化的源码级落地
java·ai·技术分享·后端开发
宝绿特塑业再生科技9 小时前
改性HDPE再生颗粒在户外家具挤出发泡板材中的色差控制与高品质价值重构
经验分享·科技·学习·生活·1024程序员节·户外家具
thefool1122669 小时前
TCP 1
java·1024程序员节
andrsted11 小时前
练题簿在线免费刷题:让整理过的资料,变成能反复练习的题库
学习·微信小程序·小程序·学习方法·刷题·1024程序员节
金銀銅鐵11 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(下)
java·后端·ai编程
AI人工智能+电脑小能手12 小时前
一次请求打几个下游,这个Java并行任务工具类6个方法按序聚合
java·线程池·并发编程·1024程序员节·批量处理·并行任务
Alsn8612 小时前
Windows 安装 Ollama 及本地模型部署
学习·1024程序员节
欣欣之王来了13 小时前
原始HTML插值:v-html指令的使用与安全风险
前端·学习·架构·项目·vue3教程