5.Java方法

Java方法

方法

  • 方法是语句的集合,它们在一块执行一个功能

  • 命名规则:首字母小写的驼峰命名规则

  • 方法包含于类或对象中

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

方法的定义

一段用来完成特定功能的代码片段

方法包含一个方法头和一个方法体:

  1. 修饰符
  2. 返回值类型
  3. 方法名
  4. 参数类型:形式参数,实参,无参数
  5. 方法体 :(return)
public class Demo01 {
    //main方法
    public static void main(String[] args) {
        //实际参数:实际调用传递给他的参数
        int sum = add(1,2);
        System.out.println(sum);
        //test();
    }
    //加法
    //形式参数,用来定义作用的
    public static int add(int a,int b)
    {
        return a+b;
    }
    public static void test()
    {
        for (int i = 1; i <= 100; i++) {
            if(i%5==0)
            {
                System.out.print(i+"\t");
            }
            if(i%(5*3)==0){
                System.out.println();
            }
        }
    }
}

方法调用

Java是值传递

方法重载

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

规则:

  1. 方法名相同
  2. 参数列表必须不同
  3. 方法的返回类型可以相同也可以不相同
  4. 仅仅返回类型不同不足以成为方法的重载

public class Demo02 {
    public static void main(String[] args) {
        double res=max(10,20);
        System.out.println(res);
    }
    //比大小 //方法重载--参数类型不同
    public static double max(double num1,double num2)
    {
        double result=-1;
        if(num1==num2){
            System.out.println("num1==num2");
            return 0;//终止方法
        }
        if(num1>num2){
            result=num1;
        }else{
            result=num2;
        }
        return result;
    }
    //比大小 //方法重载--参数数量不同
    public static int max(int num1,int num2,int num3)
    {
        int result=-1;
        if(num1==num2){
            System.out.println("num1==num2");
            return 0;//终止方法
        }
        if(num1>num2){
            result=num1;
        }else{
            result=num2;
        }
        return result;
    }
    //比大小
    public static int max(int num1,int num2)
    {
        int result=-1;
        if(num1==num2){
            System.out.println("num1==num2");
            return 0;//终止方法
        }
        if(num1>num2){
            result=num1;
        }else{
            result=num2;
        }
        return result;
    }

}

命令行传参

public class Demo03 {
    public static void main(String[] args) {
        //args.length 数组长度
        //命令行传参
        for (int i = 0; i < args.length; i++) {
            System.out.println("args["+i+"]:"+args[i]);
        }
    }
}

可变参数

也叫 不定项参数

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

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

public class Demo04 {
    public static void main(String[] args) {
        //可变参数
        Demo04 demo04 = new Demo04();
        demo04.test(1,2,3,4);
    }
    public void test(int x,int... i)
    {
        System.out.println(x);
        System.out.println(i[0]);
        System.out.println(i[1]);
        System.out.println(i[2]);
    }
}

递归

自己调用自己

递归头:什么时候不调用自身方法。如果没有头,则会死循环

递归体:什么时候需要调用自身方法。

public class Demo06 {
    //递归思想
    //阶乘体现递归
    public static void main(String[] args) {
        System.out.println(f(3));
    }

    public static int f(int n)
    {
        if(n==1){
            return 1;
        }
        return n*f(n-1);
    }
}
posted @   火星的南瓜  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示