20230322——java方法的学习day04

01-方法介绍

  • 介绍 : 方法 | 函数 (method) 一段具有独立功能的代码块, 不调用就不执行

  • 好处 :

    • 提高了代码的可阅读性

      • 体现 : 将原本挤在一起的臃肿代码, 按照功能进行分类管理

    • 提高了代码的复用性

      • 体现 : 写好的一个方法, 是可以进行多次调用

  • 问题 : 方法的出现是否可以提高程序的执行效率 ?

    • 不能 !

02-方法的通用定义格式

public static 返回值类型 方法名 (参数列表) {
    方法体;
    return 结果数据;
}

public static : (修饰符)目前来说, 暂时记忆
返回值类型 : 跟return返回的结果有关
方法名 : 见名知意, 小驼峰命名法
参数列表 : 方法运行之前, 需要的材料
方法体 : 方法中真正执行的逻辑代码
return :
            1. 用于结束方法
            2. 用于将结果返还给调用者.


        思考: 自己这个方法, 内部使用的数据, 是否有灵活性的要求?
                有 : 声明参数
                没有 : 不需要声明参数

2. 返回值

        先正常编写方法逻辑
        
        观察: 自己这个方法是否有结果产生
                
                有 : 通过return语句返回, 并将void修改为对应的数据类型
                
                没有 : 返回值类型写void (标识此方法没有结果返回)

03-方法的调用

赋值调用 (推荐)

拿到了真实的数据, 数据在手, 干什么都行

04-方法的常见问题

1. 方法不调用就不执行
    
2. 方法与方法之间是平级关系, 不允许嵌套定义
    
3. 方法的编写顺序和执行顺序无关, 要想梳理执行顺序, 就看调用顺序
    
4. 方法的返回值类型如果是void, 表示此方法没有返回值, 可以省略return语句不写
        如果非要写的话, 只能写成return;

5. return语句下面不能写代码, 因为执行不到, 属于无效代码
    
6. 如果一个方法有具体的返回值类型, 一定要通过return语句带回结果, 无论什么情况下

05-方法重载 (Overload)

  • 介绍 : 方法与方法之间的一种关系

  • 目标1 : 能够独立识别出方法与方法之间是否是正确的重载

  • 在同一个类中, 方法名相同, 参数不同, 与返回值无关
        参数不同: 1. 个数不同  2. 类型不同  3. 顺序不同

06-方法练习

package com.wanxi;

import java.util.Scanner;

public class AddOrEven {
    public static void main(String[] args) {

        int num = getNumber("请输入一个整数: ");

        judgement(num);


    }


    /**
     * 得到键盘输入的一个整数
     *
     * @return
     */
    private static int getNumber(String tips) {
        Scanner scanner = new Scanner(System.in);
        System.out.print(tips);
        int num = scanner.nextInt();

        return num;
    }

    /**
     * 判断奇数偶数,输出结果
     *
     * @param num
     */
    private static void judgement(int num) {
        if (num % 2 == 0) {
            System.out.println("偶数");
        }
        if (num % 2 != 0) {
            System.out.println("奇数");
        }
    }


}
package com.wanxi;

import java.util.Scanner;

public class GetEven {
    public static void main(String[] args) {
        int start = getNumber("请输入开始数字:");
        int end = getNumber("请输入结束数字:");

        getEven(start,end);


    }



    /**
     * 得到键盘输入的一个整数
     *
     * @return
     */
    private static int getNumber(String tips) {
        Scanner scanner = new Scanner(System.in);
        System.out.print(tips);
        int num = scanner.nextInt();

        return num;
    }


    /**
     * 等到n~m之间的所有偶数
     * @param n
     * @param m
     */
    private static void getEven(int n, int m) {
        for (int i = n; i <= m; i++) {
            if (i % 2 == 0) {
                System.out.println(i);
            }
        }

    }

}
package com.wanxi;

import java.util.Scanner;

public class GetMax {
    public static void main(String[] args) {
        int num1 = getNumber("请输入第一个数字: ");
        int num2 = getNumber("请输入第一个数字: ");
        getMax(num1, num2);
    }


    /**
     * 得到键盘输入的一个整数
     *
     * @return
     */
    private static int getNumber(String tips) {
        Scanner scanner = new Scanner(System.in);
        System.out.print(tips);
        int num = scanner.nextInt();

        return num;
    }

    /**
     * 得到2个数的最大值,并输出
     *
     * @param n
     * @param m
     */
    private static void getMax(int n, int m) {
        int max = n > m ? n : m;
        System.out.println(max);

    }

}
package com.wanxi;

import java.util.Scanner;

public class MaxOfArray {
    public static void main(String[] args) {
        int length = getNumber("请输入数组长度: ");
        int[] array = getOneArray(length);
        assignmentArray(array, length);
        runArray(array);
        int max = getMaxOfArray(array);
        System.out.println("数组元素的最大值是: " + max);

    }

    /**
     * 得到键盘输入的一个整数
     *
     * @return
     */
    private static int getNumber(String tips) {
        Scanner scanner = new Scanner(System.in);
        System.out.print(tips);
        int num = scanner.nextInt();

        return num;
    }

    /**
     * 得到一个数组
     *
     * @param length
     * @return
     */
    private static int[] getOneArray(int length) {
        int[] array = new int[length];

        return array;
    }


    /**
     * 为数组的元素赋值,赋值内容键盘输入
     *
     * @param array
     * @param length
     */
    private static void assignmentArray(int[] array, int length) {
        for (int i = 0; i < length; i++) {
            int num = getNumber("请输入索引为" + i + "的元素数据: ");

            array[i] = num;
        }
    }


    /**
     * 遍历数组,并打印数组元素
     *
     * @param array
     */
    private static void runArray(int[] array) {
        System.out.print("[");
        for (int i = 0; i < array.length; i++) {
            if (i != array.length - 1) {
                System.out.print(array[i] + " ");
            }
            if (i == array.length - 1) {
                System.out.println(array[i] + "]");
            }
        }
    }

    /**
     * 找出数组的最大元素
     *
     * @param array
     */
    private static int getMaxOfArray(int[] array) {
        int max = 0;
        for (int i = 0; i < array.length; i++) {
            max = max > array[i] ? max : array[i];
        }
        return max;

    }


}
package com.wanxi;

import java.util.Scanner;

public class RunArray {
    public static void main(String[] args) {
        int length = getNumber("请输入数组长度: ");
        int[] array =getOneArray(length);
        assignmentArray(array, length);
        runArray(array);
    }



    /**
     * 得到键盘输入的一个整数
     *
     * @return
     */
    private static int getNumber(String tips) {
        Scanner scanner = new Scanner(System.in);
        System.out.print(tips);
        int num = scanner.nextInt();

        return num;
    }


    /**
     * 得到一个数组
     *
     * @param length
     * @return
     */
    private static int[] getOneArray(int length) {
        int[] array = new int[length];

        return array;
    }




    /**
     * 为数组的元素赋值,赋值内容键盘输入
     * @param array
     * @param length
     */
    private static void assignmentArray(int[] array, int length) {
        for (int i = 0; i < length; i++) {
            int num = getNumber("请输入索引为" + i + "的元素数据: ");

            array[i] = num;
        }
    }

    /**
     * 遍历数组,并打印数组元素
     * @param array
     */
    private static void runArray(int[] array) {
        System.out.print("[");
        for (int i = 0; i < array.length; i++) {
            if (i != array.length - 1) {
                System.out.print(array[i] + " ");
            }
            if (i == array.length - 1) {
                System.out.println(array[i] + "]");
            }
        }
    }



}
package com.wanxi;

import java.util.Scanner;

public class RunChenMing {
    public static void main(String[] args) {
        String information = getInformation("请输入打印的信息: ");
        int num = getNumber("请输入打印次数: ");
        soutIfon(num, information);

    }


    /**
     * 得到键盘输入的一个整数
     *
     * @return
     */
    private static int getNumber(String tips) {
        Scanner scanner = new Scanner(System.in);
        System.out.print(tips);
        int num = scanner.nextInt();

        return num;
    }

    /**
     * 得到键盘输入的信息
     *
     * @param tips
     * @return
     */
    private static String getInformation(String tips) {
        Scanner scanner = new Scanner(System.in);
        System.out.print(tips);
        String information = scanner.next();

        return information;

    }

    /**
     * 打印n次信息
     *
     * @param n
     * @param information
     */
    private static void soutIfon(int n, String information) {
        for (int i = 0; i < n; i++) {
            System.out.println(information);

        }

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值