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;
}
}
多学、多练、多敲