葵花宝典:JavaSE-day05

发布于:2022-11-29 ⋅ 阅读:(177) ⋅ 点赞:(0)

05_基础语法_方法

学习目标

  • 方法

一:方法概述介绍

方法概述背景

  • 导入

    先观察一段代码
    public static void main(String[] args){
    	//请计算10和20的和
    	int a = 10;
    	int b = 20;
    	int sum1 = a + b;
    	System.out.println(a + "+" + b + "=" + sum1);
    	
    	//请计算100和200的和
    	int x = 100;
    	int y = 200;
    	int sum2 = x + y;
    	System.out.println(x + "+" + y + "=" + sum2);
    	
    	//请计算666和888的和
    	int i = 666;
    	int j = 888;
    	int sum3 = m + n;
    	System.out.println(m + "+" + n + "=" + sum3);
    }
    
    如果还...
    

二:方法的定义和调用

  • 能够参考资料定义方法 和 调用方法

方法的定义和调用练习

  • 需求

    对上面的代码进行优化, 抽取成方法
    
    public static int getSum(int x, int y){
    	int sum = x + y;
    	return sum;
    }
    
  • 练习

    • 练习十分钟

总结

  • 方法就是对代码的抽取

  • 提高代码的阅读性

  • 提高代码的复用性

三:参数、返回值 详解

参数、返回值 背景

  • 导入

       看一看刚才编写的代码
        ```
    
    
    

对于方法的解读

方法调用的过程目标

  • 能够理解 什么是参数 和 返回值

总结

  • 在这里插入图片描述

  • 方法就像是一个榨汁机

  • 各种水果就是参数

    • 思考一个问题
      • 水果只能放一种?
  • 果汁就是返回值

四:方法调用的过程

方法调用的过程 背景

  • 导入

    针对刚才的代码截图演示即可
    

方法调用的过程 目标

  • 能够理解方法调用的过程

方法调用的过程 练习

  • 需求

    定义一个方法,模拟判断用户在 "登陆" 的时候 "密码" 是否正确
    
    假定 "用户的密码" 为: 123456
    请在主方法中提示输入密码,然后定义方法对用户输入的密码进行校验
    密码正确方法返回 true, 否则返回 false
    

在这里插入图片描述

总结

  • 练习十分钟

五:不带返回值方法的定义和调用

不带返回值方法的定义和调用 背景

  • 导入

    大家思考一下, 有没有这样一种可能, 榨汁机里面的果汁 咱们忘记去取了
    比如我们忙其它的时候去了, 忘记了
    有这个可能性不?
        
    ...
    

不带返回值方法的定义和调用目标

  • 能够理解不带返回值方法的 定义 和 调用

不带返回值方法的定义和调用练习

  • 练习十分钟

总结

  • 需求

    打印 n 次 我爱Java
    

六:不带参数方法的定义和调用

不带参数方法的定义和调用背景

  • 导入

    大家再思考一下, 有没有这样一种可能, 榨汁机没有放 "水果"
    ...
    

不带参数方法的定义和调用目标

  • 能够理解 不带参数方法的定义和调用

不带参数方法的定义和调用练习

  • 练习十分钟

总结

  • 定义方法 打印 10 次 敲代码的时候身边总有个人烦我,怎么办?

七:方法的注意事项

总结

  • 方法不能嵌套定义

    • 示例

      public class MethodDemo {
          public static void main(String[] args) {
      
          }
      
          public static void methodOne() {
      		public static void methodTwo() {
             		// 这里会引发编译错误!!!
          	}
          }
      }
      
  • void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据

    示例

八:方法重载

方法重载背景

  • 导入

    //看一段代码
    public class Demo1 {
        
        public static void main(String[] args) {
        }
    
        public static boolean compare (int a, int b){
            return a == b;
        }
    
        public static boolean compare (short a, short b){
            return a == b;
        }
    }
    
    定义了两个方法,且名字一样,大家觉得这个代码是否有问题?
    ...
    对,这是一种比较特殊的情况,叫做方法重载
    有什么好处呢?
    大家注意看,这两个方法虽然方法的名字是一样的,但是参数却不一样
    因此,在调用方法的时候,如果传递的参数是 int,就这个方法执行,否则参数是 short 类型 就下面这个方法执行。而这种重载的方法,其实在学习编程的第一天咱们就接触过,看 println() 的源代码[主要是看重载存在的形式]    
    

方法重载目标

  • 能够分辨什么是方法重载

方法重载练习

总结

  • 方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载

    • 多个方法在同一个类中
    • 多个方法具有相同的方法名
    • 多个方法的参数不相同,类型不同或者数量不同

九:方法重载练习

方法重载练习背景

  • 导入

    做个练习,看需求
    使用方法重载的思想,设计比较两个整数是否相同的方法,兼容全整数类型(byte,short,int,long

方法重载练习目标

  • 能够独立编写

方法重载练习练习

  • 需求

  • 步骤

    ①定义比较两个数字的是否相同的方法compare()方法,参数选择两个int型参数
    ②定义对应的重载方法,变更对应的参数类型,参数变更为两个long型参数
    ③定义所有的重载方法,两个byte类型与两个short类型参数 
    ④完成方法的调用,测试运行结果 
    

总结

十:方法参数传递基本数据类型

方法参数传递基本数据类型背景

  • 导入

    看需求
    public class Test1 {
        public static void main(String[] args) {
            int number = 100;
            System.out.println("调用change方法前:" + number);
            change(number);
            System.out.println("调用change方法后:" + number);
        }
    
        public static void change(int n) {  
            n = 200;
        }
    }
    

方法参数传递基本数据类型目标

  • 能够知道基本数据类型作为形参的特点

方法参数传递基本数据类型练习

总结

十一:方法参数传递引用数据类型

方法参数传递引用数据类型背景

  • 导入

    看代码,分析结果
    public class Test2 {
    
        public static void main(String[] args) {
            int[] arr = {10, 20, 30};
            System.out.println("调用change方法前:" + arr[1]);
            change(arr);
            System.out.println("调用change方法后:" + arr[1]);
        }
    
        public static void change(int[] a) {
            a[1] = 200;
        }
    }
    

方法参数传递引用数据类型目标

  • 能够知道引用数据类型作为形参的特点

方法参数传递引用数据类型练习

总结

十二:练习 - 数组遍历

数组遍历背景

  • 导入

    看需求
    设计一个方法用于数组遍历,要求遍历的结果是在一行上的。例如:[11, 22, 33, 44, 55] 
    

数组遍历目标

  • 能够参考资料写出数组遍历

数组遍历练习

  • 步骤

    1.定义一个数组,用静态初始化完成数组元素初始化
    2.定义一个方法,对数组进行遍历
    3.遍历打印的时候,数据不换行
    4.调用遍历方法
    

总结

十三:练习 - 方法同时获取数组最大值和最小值

方法同时获取数组最大值和最小值 背景

  • 导入

    设计一个方法,该方法能够同时获取数组的最大值,和最小值
    

方法同时获取数组最大值和最小值 目标

  • 能够参考资料完成案例

方法同时获取数组最大值和最小值 练习

  • 步骤
  public class Test3 {
      /*
          需求:设计一个方法,该方法能够同时获取数组的最大值,和最小值

          注意: return语句, 只能带回一个结果.
       */
      public static void main(String[] args) {

          int[] arr = {11,55,33,22,44};

          int[] maxAndMin = getMaxAndMin(arr);

          System.out.println(maxAndMin[0]);
          System.out.println(maxAndMin[1]);

      }

      public static int[] getMaxAndMin(int[] arr){
          int max = arr[0];
          for (int i = 1; i < arr.length; i++) {
              if(max < arr[i]){
                  max = arr[i];
              }
          }

          int min = arr[0];
          for (int i = 1; i < arr.length; i++) {
              if(min > arr[i]){
                  min = arr[i];
              }
          }

          int[] maxAndMin = {min, max};

          return maxAndMin;
      }
  }

本文含有隐藏内容,请 开通VIP 后查看

网站公告


今日签到

点亮在社区的每一天
去签到