java基础

java基础-day05-方法

2021-06-25  本文已影响0人  触手不可及

方法【重点】

1. 方法

1.1 方法的引入

    代码中存在大量复用功能代码,如果只使用循环以及CV大法,会导致代码出现以下问题
    1. 代码过于臃肿
    2. 代码阅读性极差
    3. 代码维护性极差
1.2 Java中定义方法的格式
比葫芦画瓢
    public static void main(String[] args) {
        
    }
    
格式分析:
    public static: 
    void: 返回值类型,void表示当前方法没有返回值。
    main: 方法名,当前方法的名字,调用方法使用的名字。
    (): 形式参数列表,当前方法运行所需参数。
    {}: 方法体,需要封装复用功能代码
        
Java中定义方法的格式:
    public static 返回值类型 方法名(形式参数列表) {
        方法体
    }
    
    public static returnType methodName(Arguments) {
        Method Body
    }
1.3 返回值和形式参数列表
生活化的场景:
    中午吃黄焖鸡米饭,标价16元
    付款 16RMB 做好黄焖鸡米饭 吃

标价16元就是形式参数,付款16元实际参数
店家做好的黄焖鸡米饭就是返回值
1.4 无参数无返回值方法
需求:
    展示一句话
        无规矩,不成方圆
    整个方法的功能就是一个打印功能。

方法分析:
    public static:
        固定格式 不要问
    返回值类型:
        该方法只完成打印展示功能,不需要返回值,这里使用 void
    方法名:
        【见名知意,动宾结构】
        showRule
    形式参数列表:
        当前方法仅做展示功能,并且已指定展示内容,所以不需要形式参数列表
        当前方法是不依赖于外来数据作为当前方法的必要内容。

方法声明:
    public static void showRule();
class Method1 {
    public static void main(String[] args) {
        /* 
        方法是条狗,哪里需要那里吼,需要使用方法的名字
        Java中所有的方法必须有小括号。
        */
        showRule();
        showRule();
        showRule();
        showRule();
        showRule();
        showRule();
    }
    
    /* 自定义方法是在class大括号以内,其他方法之外 */
    /**
    * 对应展示无规矩,不成方圆
    */
    public static void showRule() {
        System.out.println("路见不平一声吼");
    }
}
1.5 有参数无返回值方法
需求
    展示用户提供的整数数据

方法分析:
    public static 
        固定格式,不要问
    返回值类型:
        当前方法的功能是用于展示用户提供的整数数据
        不需要返回值,消耗性方法
        void
    方法名:
        【见名知意,动宾结构】
        printInt
    形式参数列表:
        这里需要让用户提供一个int类型数据,该方法需要参数为int类型
        (参数类型 形式参数名字) ==> (int num)

方法声明:
    public static void printInt(int num);
class Method2 {
    public static void main(String[] args) {
        printInt(10);
        // 当前方法需要int类型参数,这里不赋值参数
        // printInt();
        /*
        Method2.java:5: 错误: 无法将类 Method2中的方法 printInt应用到给定类型;
                printInt();
                ^
        需要: int
        找到: 没有参数
        原因: 实际参数列表和形式参数列表长度不同
        */
        
        // printInt(3.14);
        /*
        Method2.java:15: 错误: 不兼容的类型: 从double转换到int可能会有损失
                printInt(3.14);
        当前方法所需参数是int类型,这里无法传入其他数据类型,数据类型一致化
        要求
        */
    }
    
    /**
    * 展示用户提供的int类型数据
    *
    * @param num 需要用户传入的int类型数据 
    */
    public static void printInt(int num) {
        System.out.println("用户传入的数据 : " + num);
    }
}

image.png
1.6 无参数有返回值方法
需求:
    give Me Five
    给我一个数值5

方法分析:
    public static:
    返回值类型:
        这里需要方法返回一个数值5,这是一个整数,这里需要返回值类型
        为 int
    方法名:
        【见名知意,动宾结构】
        giveMeFive
    形式参数列表:
        这里不要任何的参数
        ()

方法声明:
    public static int giveMeFive();
class Method3 {
    public static void main(String[] args) {
        int ret = 0;
        System.out.println("Before Method Called... " + ret);
        
        // ret这里是保存了giveMeFive方法的返回值数据
        ret = giveMeFive();
        System.out.println("After Method Called... " + ret);
    }
    
    /**
    * 返回一个数值5
    *
    * @return 返回一个数值5
    */
    public static int giveMeFive() {
        /*
        方法如果需要使用返回值,这里必然需要使用关键字
        return
        作用:
            1. 将return关键字之后的数据,返回到方法之外
            2. 一旦方法运行到return,方法运行结束,之后代码不在运行。
        */
        return 5;
    }
}
image.png
1.7 有参数有返回值方法
需求:
    计算两个整数之后,通过返回值返回

方法分析:
    public static:
    返回值类型:
        这里需要返回两个整数之后,所以这里需要的数据类型
        int
    方法名:
        【见名知意,动宾结构,小驼峰命名法】
        getSumOfTwoNumber
    形式参数列表:
        这里需要求两数之后,所需参数为int类型,也就是需要两个int类型参数
        多参数情况下,使用逗号隔开
        (int num1, int num2)
        
方法声明:
    public static int getSumOfTwoNumber(int num1, int num2)
class Method4 {
    public static void main(String[] args) {
        int sum = getSumOfTwoNumber(10, 20);
        System.out.println("Sum : " + sum);
        
        // getSumOfTwoNumber(10);
        /*
        Method4.java:6: 错误: 无法将类 Method4中的方法 getSumOfTwoNumber应用到给定类型;
                getSumOfTwoNumber(10);
                ^
        需要: int,int
        找到: int
        原因: 实际参数列表和形式参数列表长度不同
        方法执行需要参数类型,个数,必须一一对应。
        */
    }
    
    /**
    * 计算两个int类型数据之和,通过返回值返回到方法之外
    *
    * @param num1 int类型数据
    * @param num2 int类型数据
    * @return 返回值为int类型,是两个整数之和
    */
    public static int getSumOfTwoNumber(int num1, int num2) {
        return num1 + num2;
    }
}
image.png
上一篇 下一篇

猜你喜欢

热点阅读