Java 第五天(纯干货)(带你14天了解并掌握Java SE)

今日内容

  • 方法的概述
  • 方法的练习
  • 方法的重载
  • 方法参数类型详解

01. 方法的概述和定义格式

  • 什么是方法?
  • 为什么要有方法?
  • 方法的定义格式为?
总结:
    1. 方法就是一段独立特性的小程序,不调用就不执行
    2. 方法的出现可以提高代码
            1. 可阅读性
            2. 复用性

        注意:方法不能提升程序的执行效率


    3. 
        修饰符 返回值类型 方法名(参数1, 参数2...){
            方法体;
            return 返回值;
        }


        修饰符 : 目前来说就是public static

        返回值类型: 跟返回值相关

        方法名:合法的标识符即可

        参数列表:方法运行之前所需要的材料       

        方法体:方法运行的过程,真正的代码逻辑 

        return : 
                    1. 将结果提交给调用者
                    2. 结束方法

02. 方法案例之定义求和方法

  • 定义方法之前的两个明确是?

    总结: 1. A : 参数列表
    B: 返回值类型

    2. 
        /*
         * 需求:求两个小数的和
         * 1,返回值类型  double
         * 2,参数列表       double a, double b
         */
        public static double getSum(double a, double b){
            return a + b;
        }

03. 方法调用之有明确返回值的方法调用

  • 带有返回值的方法有几种调用方式?
总结:
    1. 赋值调用(推荐)
        使用变量接受方法运行后的结果,接受到了之后,就可以随意操作数据了
    2. 输出调用
        仅仅是对数据做一个展示,无法进行后续的逻辑操作
    3. 单独调用(没有意义)


炒菜案例

04. 方法调用之方法调用图解

  • 看图说话

05. 方法练习之求两个数据较大值

  • 分析两个明确, 案例演示

06. 方法练习之比较两个数据是否相等

  • 分析两个明确, 案例演示
(4分钟)
    定义一个方法判断两个整数是否相等
    要求:   1.在注释中写明需求
              2.在注释中明确返回值类型是什么
              3.在注释中明确参数列表是什么

    调用该方法返回结果,打印结果
    要求:
            1.使用键盘录入两个int数做为参数,调用方法时传入
            2.打印输出结果

07. 方法调用之void修饰的方法调用

  • 需求: 定义方法, 在控制台打印10句HelloWorld
  • 方法什么时候需要用void修饰, 重点!
总结:
        如果方法要完成的逻辑,仅仅是在控制台完成输出的话,就不需要返回值
            (方法要完成的逻辑,方法内部就可以处理好)


        例如: 求两个整数的和, 并将结果打印在控制台  -> 不需要返回值,因为仅仅是一个打印

              求两个整数的和,根据结果决定在控制台输出几次HelloWorld

结论:
        方法什么时候定义void?
            就看该方法运行后的结果,是否有后续的逻辑操作
  • void修饰的方法有几种调用方式?
总结:

    只能单独调用
  • return的作用:
 1. 结束方法
    注意:
        1. 如果方法的返回值类型是void, 那么return后面不能跟上具体的值.
        2. 如果方法的返回值类型是void, 那么return语句可以省略不写.
 2. 用于将方法的返回值携带给调用者.

08. 方法练习之在控制台打印所有的水仙花数

09. 方法练习之在控制台打印1到n的数据

  • 需求: 定义一个方法传递一个整数(该整数大于1),在控制台打印1到该数据的值
  • 分析两个明确, 案例演示

  • 练习

(4分钟)
定义一个方法传递一个整数(该整数大于1),在控制台打印1到该数据的值
要求:1.注释中写明需求
       2.注释中明确返回值类型和参数列表

调用该方法,可以在控制台显示打印结果

10. 方法重载的概述和特点

  • 什么是方法的重载?
总结: 

    概念:在同一个类中,方法名相同,参数列表不同,与返回值无关

                参数列表不同 :  1. 类型不同   2. 个数不同 3. 顺序不同(没有意义)

     Override和Overload的区别

            Override : 重写

            Overload : 重载
  • 问题:
已知函数 : void show(int a, int b, float c){ },
哪个答案和show不是函数重载?

    A.  void show(int a,float c,int b){ 

        }  

    B.  void show(int x,int y,float z){ 
            // 不能构成重载,因为类型完全一样
        }  

    C.  int show(int a, float c, int b){
            return a;
        }
  
    D.  int show(int a, float c){
            return a;
        }

11. 方法重载练习之比较两个数据是否相等

  • 需求: 定义重载的两个方法实现比较两个数据是否相等。
  • 问题:
    1. 参数类型为int的方法能否接受byte的数据?
        可以,因为底层有默认的隐式转换

2. 有两个方法,参数列表为byte 和 int类型,
    如果想要调用参数类型为byte的方法需要怎么做

        手动加入强制类型转换


            public class Test5_Overload {
                /*
                 * 重载练习之比较两个数据是否相等
                 */
                public static void main(String[] args) {
                    boolean check = check((byte)10,(byte)10);
                    System.out.println(check);
                }

                public static boolean check(int a, int b){
                    System.out.println("int........");
                    return a == b;
                }

                public static boolean check(byte a, byte b){
                    System.out.println("byte.......");
                    return a == b;
                }
            }

12. 方法参数是基本类型的情况和图解

  • 方法的形参是基本数据类型, 传递的是?
总结:
    1: 具体的值

结论:
    方法的形式参数是基本数据类型的时候, 形式参数的改变(  不会影响 )实际参数

    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        System.out.println("a:" + a + ",b:" + b);       
        change(a, b);                                   
        System.out.println("a:" + a + ",b:" + b);       

    }

    public static void change(int a, int b) {
        System.out.println("a:" + a + ",b:" + b);       
        a = b;                      
        b = a + b;                                          
        System.out.println("a:" + a + ",b:" + b);       
    }
  • 转ppt问答题

13. 方法参数是引用类型的情况和图解

  • 方法的形参是引用数据类型, 传递的是?
总结:
    1:  地址值

结论:
    方法的形参是引用数据类型的时候, 形式参数的改变(直接影响)实际参数

        public static void main(String[] args) {
            int[] arr = { 1, 2, 3, 4, 5 };
            for (int x = 0; x < arr.length; x++) {
                System.out.println(arr[x]);             
            }
            change(arr);
            System.out.println("--------------");
            for (int x = 0; x < arr.length; x++) {
                System.out.println(arr[x]);             
            }                                           
        }

        public static void change(int[] arr) {
            for (int x = 0; x < arr.length; x++) {
                if (arr[x] % 2 == 0) {
                    arr[x] *= 2;
                }
            }
        }
  • 转ppt问答题

14. 方法练习之数组遍历

15. 方法练习之数组获取最值

  • 思考: 我能不能一个方法就可以完成求最大值和最小值的逻辑?

猜你喜欢

转载自blog.csdn.net/weixin_42261489/article/details/88091319