Day6-方法封装

1. 方法封装

1.1 秘籍

一框    二看   三封装

一框:找核心代码

二看:上看找参数,下看找返回

三封装:完成代码封装操作,完成方法声明,完成文档注释

1.2 案例 - 1

1.2.1 未封装代码功能实现

/*
完成30位以内的斐波那契数列

    1 1 2 3 5  8 13 21 34 55 89 144 ...
*/

public class Demo1 {
    public static void main(String[] args) {
    
        int count = 50;

        int n1 = 1;
        int n2 = 1;
        System.out.println(1);
	    System.out.println(1);
		
	    // count 是目标所需的数据总个数; - 2是因为斐波那契数列前两位确定
	    for (int i = 1; i <= count - 2; i++) {
		    int temp = n2;
		    n2 += n1;
		    n1 = temp;
			
		    System.out.println(n2);
	    }    
    }
}

方法封装案例分析: 

1.2.2 封装之后的代码结果

public class Demo1 {
    public static void main(String[] args) {
        int count = 50;
        fibonacci(count);
    }

   /**    
    * 根据用户指定数据个数展示,展示对应个数斐波那契数列
    *
    * @param count 用户指定的斐波那契数列数据个数
    */
    public static void fibonacci(int count) {
        int n1 = 1;
        int n2 = 1;
        System.out.println(1);
        System.out.println(1);
        // count 是目标所需的数据总个数;- 2是因为斐波那契数列前两位确定
        for (int i = 1; i <= count - 2; i++) {
            int temp = n2;
            n2 += n1;
            n1 = temp;
            System.out.println(n2);
        }
    }
}

 1.3 案例 - 2

1.3.1 未封装代码功能实现

/*
 例如:
    输入 5  8;
    计算 5 + 6 + 7 + 8;
    输出 26.
*/

public class Demo2 {
    public static void main(String[] args) {
        int num1 = 15;
        int num2 = 8;

        int sum = 0;

        if (num1 > num2) {
            /*1 好懂
            temp 临时变量
            int temp = num1;
            num1 = num2;
            num2 = temp;
            */


            // 2 省空间

            num1 += num2;  // num1 = 23 num2 = 8
            num2 = num1 - num2;  // num1 = 23 num2 = 15
            num1 = num1 - num2;  // num1 = 8  num2 = 15
        }

        for (int i = num1; i <= num2; i++) {
            sum += i;

        }

        System.out.println(sum);
    }
}

 1.3.2 封装之后代码结果

/*
例如:
	输入 5  8;
	计算 5 + 6 + 7 + 8;
	输出 26.
*/

public class Demo2 {
	public static void main(String[] args) {
		int num1 = 15;
		int num2 = 8;
		
		int sum = getSumBetweenTwoNumber(num1, num2);
		
		System.out.println(sum);
	}
	
	/**
	* 计算用户指定的两个整数之间所有数据之和
	*
	* @param num1 用户指定的第一个数据,建议 num1 < num2 
	* @param num2 用户指定的第二个数据
	* @return 两个数据之间的所有整数之和
	*/

	public static int getSumBetweenTwoNumber(int num1, int num2) {
		int sum = 0;
		
		if (num1 > num2) {
			// 2 省空间
			num1 += num2;       // num1 = 23 num2 = 8
			num2 = num1 - num2; // num1 = 23 num2 = 15
			num1 = num1 - num2; // num1 = 8  num2 = 15
		}
		
		for (int i = num1; i <= num2; i++) {
			sum += i;
		}
		
		// 复制粘贴代码,需要补充返回值操作
		return sum;
	}
}

 1.4 案例 - 3

1.4.1 未封装代码功能实现

public class Demo3 {
	public static void main(String[] args) {
		int num1 = 10;
		int num2 = 5;

		// 【思路】
		int ret = num1 - num2;
		
		// 数据处理模块
		if (ret < 0) {
			ret = -ret;
		}
		
		// 数据结果展示模块
		System.out.println(ret);		
	}
}

 1.4.2 封装之后代码结果

public class Demo3 {
	public static void main(String[] args) {
		int num1 = 10;
		int num2 = 5;
		
		int ret = getAbs(num1, num2);
	
		// 数据结果展示模块
		System.out.println(ret);
		
	}
	
	/**
	* 获取两数之差的绝对值
	*
	* @param num1 int 类型数据
	* @param num2 int 类型数据
	* @return 两个整数之差的绝对值
	*/

	public static int getAbs(int num1, int num2) {
		int ret = num1 - num2;
		
		return ret >= 0 ? ret : -ret;
	}
}

多学、多练、多敲

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

外呼小胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值