• Java:方法


    学习资料

    b站狂神说: ps://www.bilibili.com/video/BV12J41137hu

    方法

    一个方法只实现一个功能,一处定义,多处调用

    定义语法: 修饰符 返回值类型 方法名(参数类型 参数名){

    ....方法体...

    return 返回值

    }

    package com.zy7y.method;
    
    /**
     * @ProjectName: JavaSE
     * @PackageName: com.zy7y.method
     * @Author: zy7y
     * @Date: 2020/8/14 下午5:44
     * @Description:
     */
    public class method01 {
        public static void main(String[] args) {
            int a = 13;
            int b = 1;
            // 此处的a,b是实际参数
            add(a, b);
    
        }
        
        // 定义一个add的方法,返回值是int类型
        public static int add (int a, int b){
            // a , b形式参数
            return a + b;
        }
    }
    

    方法的重载

    同一个类中,有相同的函数名称,但是形参不同的方法(函数).

    重载的规则:

    • 方法名称必须相同
    • 参数列表必须不同(个数不同/类型不同/参数排列顺序不同等)
    • 方法的返回类型可以相同/不同/
    • 仅仅返回类型不同不不足以成为方法的重载。
    package com.zy7y.method;
    
    /**
     * @ProjectName: JavaSE
     * @PackageName: com.zy7y.method
     * @Author: zy7y
     * @Date: 2020/8/14 下午5:44
     * @Description:
     */
    public class method01 {
        public static void main(String[] args) {
            int a = 13;
            int b = 1;
            // 此处的a,b是实际参数
            int result = add(13, 12,13);
            System.out.println(result);
    
        }
    
        // 定义一个add的方法,返回值是int类型
        public static int add (int a, int b){
            // a , b形式参数
            return a + b;
        }
    
        // 重载add方法: 参数个数不同
        public static int add (int a, int b, int c){
            return b + a + c;
        }
        // 重载add方法: 参数类型不同
        public static double add (double a, double b){
            return a + b;
        }
    }
    

    命令行传参

    可变参数

    可以是一个,也可以是多个

    定义语法: 修饰符 返回值类型 方法名(参数类型... 参数名){

    ....方法体...

    return 返回值

    }

        public static void sum (int... numbers){
            for (int number:numbers) {
                System.out.println(number);
            }
        }
    

    main方法

            sum(new int[]{1,3,4,5}); // 1 3 4 5
            sum(1); // 1
    

    递归

    自己调用自己

    package com.zy7y.method;
    
    /**
     * @ProjectName: JavaSE
     * @PackageName: com.zy7y.method
     * @Author: zy7y
     * @Date: 2020/8/14 下午6:26
     * @Description: 递归
     */
    public class Recursion {
        public static void main(String[] args) {
            // 阶乘
            System.out.println(recursion(5));
        }
    
        public static int recursion(int number){
            if (number == 1) {
                return 1;
            }else{
                // 1的阶乘是1, 5的阶乘:5*4*3*2*1
                return number * recursion(number-1);
            }
        }
    }
    

    计算器作业

    课程上是要求只用循环和switch,但是我没有好的实现方法所以加了个if

    package com.zy7y.method;
    
    import java.util.Scanner;
    
    /**
     * @ProjectName: JavaSE
     * @PackageName: com.zy7y.method
     * @Author: zy7y
     * @Date: 2020/8/14 下午6:32
     * @Description: 计算器
     */
    public class Topic {
        // 加
        public static int add(int a, int b){
            return a + b;
        }
        // 减
        public static int less(int a, int b){
            return a - b;
        }
        // 乘
        public static int product(int a, int b){
            return a * b;
        }
        //  除
        public static int consult(int a, int b){
            return a / b;
        }
    
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            for (;;){
                System.out.println("请选择运算方式: 1 加法, 2 减法, 3 乘法, 4 除法");
                int choice = scanner.nextInt();
                if (choice != 1 && choice != 2 && choice != 3 && choice != 4){
                    System.out.println("程序已退出!");
                    System.exit(0);
                }
                System.out.print("输入第一个数字:");
                int a = scanner.nextInt();
                System.out.print("输入第二个数字:");
                int b = scanner.nextInt();
                switch (choice){
                    case 1:
                        System.out.println(add(a,b));
                        break;
                    case 2:
                        System.out.println(less(a,b));
                        break;
                    case 3:
                        System.out.println(product(a,b));
                        break;
                    case 4:
                        System.out.println(consult(a,b));
                        break;
                }
            }
        }
    }
    
    作者:zy7y
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    计算机基础-day1
    Day3:Spring-JDBC、事务管理
    Day2:Spring-AOP
    Android------Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER
    Day1:Spring-IoC、DI
    Spring MVC的一例低级错误:Element 'mvc:annotation-driven' must have no character or element information item [children]
    Java阶段小总结
    Day20:DOM(Document Object Model)
    Day13:IO流(补充内容:特殊流对象)
    Android自学路线
  • 原文地址:https://www.cnblogs.com/zy7y/p/13504143.html
Copyright © 2020-2023  润新知