发布时间:2023-01-09 文章分类:编程知识 投稿人:王小丽 字号: 默认 | | 超大 打印

方法

方法的定义

方法调用

Java方法

方法重载

package Method;
import java.util.Scanner;
public class Demo_1 {
    public static void main(String[] args) {
        //System.out.println("比谁大");
        //System.out.print("Input Number_1: ");
        //Scanner Input = new Scanner(System.in);//创建一个名字"Input"的扫描器
        //int Number_1 = Input.nextInt();//用next方法接收
        ////nextInt()接收int类型的数值
        //
        //System.out.print("Input Number_2: ");
        //int Number_2 = Input.nextInt();
        //System.out.println("\t两个数中这个最小: " + Max(Number_1, Number_2));
        //Input2.close();
        //Input.close();
        //System.out.println("==============================================");
        //System.out.println("比谁小");
        //System.out.print("Input Number_3: ");
        //Scanner Input = new Scanner(System.in);//创建一个名字"Input"的扫描器
        //int Number_3 = Input.nextInt();//用next方法接收
        ////nextInt()接收int类型的数值
        //
        //System.out.print("Input Number_4: ");
        //int Number_4 = Input.nextInt();
        //System.out.println("\t两个数中这个最小: " + Min(Number_3, Number_4));
        //Input_Num3.close();
        //Input_Num4.close();
        ///////////////////
        System.out.println("比谁大");
        System.out.print("Input Number_1: ");
        Scanner Input = new Scanner(System.in);//创建一个名字"Input"的扫描器
        double Number_1 = Input.nextDouble();//用next方法接收
        //nextInt()接收int类型的数值
        System.out.print("Input Number_2: ");
        double Number_2 = Input.nextDouble();//若nextDouble变为nextInt不会出崔,但最后结果会跟随最开头的Double
        System.out.println("\t两个数中这个最小: " + Max(Number_1, Number_2));
        Input.close();
        Input2.close();
    }
    //两个数比大小,输出大的
    public static int Max(int a, int b) {
        if (a == b) {
            System.out.println("\tNumber_1 == Number_2");
            //return 0; //终止方法
            return a;
        } else if (a > b) {
            System.out.println("\t两个数中Number_1最大");
            return a;
        } else {
            System.out.println("\t两个数中Number_2最大");
            return b;
        }
    }
    public static double Max(double a, double b) {//针对Max()方法的重载;返回double类型
        if (a == b) {
            System.out.println("\tNumber_1 == Number_2");
            //return 0; //终止方法
            return a;
        } else if (a > b) {
            System.out.println("\t两个数中Number_1最大");
            return a;
        } else {
            System.out.println("\t两个数中Number_2最大");
            return b;
        }
    }
    //
    //两个数比大小,输出大的
    public static int Min(int x, int y) {
        if (x == y) {
            System.out.println("\tNumber_3 == Number_4");
            return x;
        } else if (x < y) {
            System.out.println("\t两个数中Number_3最小");
            return x;
        } else {
            System.out.println("\t两个数中Number_4最小");
            return y;
        }
    }
    //
}

命令行传参(可以简单了解)

package Method;//注意自己的包名
public class CmdTran {//注意自己的文件名
    public static void main(String[] args) {
        //命令行传参
        for (int i = 0; i < args.length; i++) {
            System.out.println("args[" + i + "] = " + args[i]);
        }
    }
}

Java方法

可变参数(不定项参数)

package Method;
public class ChangeData {
    public static void main(String[] args) {
        ChangeData cd = new ChangeData();//创建类的对象
        cd.test(1.5F, 222, 3, 2);//创建一个对象cd, 并使用类中的test方法
    }		  //x:1.5 i:222, 3, 2
    public void test(float x, int... i) {
        //不知道要传入多少参数
        System.out.println(x + " " + i[0] + " " + i[2]);
    }
}
package Method;
public class ChangeData {
    public static void main(String[] args) {
        printMax(21, 25, 2, 56);
        printMax(new double[]{1, 2, 5, 6, 7, 8, 9});//本质是数组因此可以用数组形式
    }
    public static void printMax(double... number) {
        if (number.length == 0) {//当数组长度=0
            System.out.println("No argument passed");
            return;
        }
        double max = number[0];//初始化
        //找出最大值
        for (int i = 1; i < number.length; i++) {
            if (number[i] > max) {
                max = number[i];
            }
        }
        System.out.println("The Max value is " + max);
    }
}

Java方法

递归

package Method;
public class InterJava {
    public static void main(String[] args) {
        InterJava inter = new InterJava();
        // 没有递归头, 写会错误(栈溢出)
        System.out.println(inter.f(5));
    }
    //5! = 1*2*3*4*5
    public static int f(int n) {
        if (n == 1) {//递归头
            return 1;
        } else {//递归体
            return n * f(n - 1);
        }
    }
}

计算器实现

package Method;//注意包名
import java.util.Scanner;//创建输入对象需要的包
public class Counter {//注意类名
    public static void main(String[] args) {
        //计算器,实现加减乘除,并能循环接收新数据,通过交互实现
        /*
        写4个方法:
        加减乘除
        利用循环+ switch进行用户交互
        传递需要操作的两个数
        输出结果
         */
        Scanner scanner = new Scanner(System.in);//创建输入
        String m = "Y";//初始化循环条件
        while (m.equals("Y")) {
            System.out.print("请输入第一个数:");//输入数值
            int x = scanner.nextInt();
            System.out.print("请输入运算符:");//输入运算符,作为switch条件
            String o = scanner.next();
            System.out.print("请输入第二个数:");//输入数值
            int y = scanner.nextInt();
            int result = 0;//初始化结果变量
            switch (o) {//根据运算符变量,选择一个case
                case "+":
                    result = Add(x, y);
                    break;
                case "-":
                    result = Sub(x, y);
                    break;
                case "*":
                    result = Mul(x, y);
                    break;
                case "/":
                    result = Div(x, y);
                    break;
                default:
                    System.out.print("输入错误");
            }
            System.out.println(x + o + y + "=" + result);
            System.out.print("是否继续下一组计算(Y/N): ");
            m = scanner.next();//重新定义循环条件;输入N就跳出while
        }
        scanner.close();//关闭IO
        System.out.println("老子写的计算器牛逼吧!!!");
    }
    //加减乘除的方法定义
    public static int Add(int a, int b) {
        return a + b;
    }
    public static int Sub(int c, int d) {
        return c - d;
    }
    public static int Mul(int e, int f) {
        return e * f;
    }
    public static int Div(int g, int h) {
        return g / h;
    }
}

Java方法