Java 方法

方法的定义

方法是语句的集合,它们在一起执行一个功能,一个方法只完成一个功能(原子性)

方法命名规则:首字母小写(驼峰命名规则)

方法的重载

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

方法重载的规则

方法名称必须相同

参数列表必须不同(个数不同、类型不同、参数排列顺序不同)

方法的返回类型可以相同也可以不相同

仅返回类型不同不足以成为方法的重载

命令行传参

image-20250726102938994

可变参数

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

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

递归

递归结构包括两个部分:

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

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

public class Demo01 {
    public static void main(String[] args) {
        System.out.println(f(5));
    }
    /*阶乘
    1!=1
    2!=2*1
    3!=3*2*1
    */
    public static int f(int n){
        if(n==1){
            return 1;
        }else{
            return n*f(n-1);
        }
    }
}

递归比较适用于基数小的操作

简易的计算器程序

import java.sql.SQLOutput;
import java.util.Scanner;

public class calculator {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        while(true){
            System.out.println("请输入第一个数:");
            double num1 = scanner.nextDouble();

            System.out.println("请输入运算符(+,-,*,/)");
            char operator = scanner.next().charAt(0);

            System.out.println("请输入第二个数");
            double num2 = scanner.nextDouble();

            double result;

            //根据用户输入的运算符来判断用哪个运算方法
            switch(operator){
                case '+':
                    result=add(num1,num2);
                    break;

                case '-':
                    result=minus(num1,num2);
                    break;

                case '*':
                    result=ride(num1,num2);
                    break;

                case '/':
                    result=divide(num1,num2);
                    break;

                default:
                    System.out.println("无效的运算符!");
                    continue;
            }
            System.out.println("结果:" + num1 + " " + operator + " " + num2 + " " + "=" + result);
            
            System.out.println("是否继续(y/n)");
            char choice = scanner.next().charAt(0);
            //如果输入的结果不等于y或者Y则退出循环
            if(choice != 'y' && choice != 'Y'){
                break;
            }

        }
        scanner.close();
    }
    //加法
    public static double add(double num1 ,double num2){
        return num1+num2;
    }
    
    //减法
    public static double minus(double num1 ,double num2){
        return num1-num2;
    }
    
    //乘法
    public static double ride(double num1 ,double num2){
        return num1*num2;
    }
    
    //除法
    public static double divide(double num1 ,double num2){
        if(num2==0){
            System.out.println("除数不能为0");
            return 0;
        }
        return num1/num2;
    }

}

posted @ 2025-07-31 11:05  神也忧伤  阅读(9)  评论(0)    收藏  举报