方法

方法【重点】

1. 为什么用方法

代码中有可能出现重复功能的代码在不同的位置反复使用,多次出现,如果按照基本的 CV 大法,会导致以下问题:
	1. 代码冗余!!!
	2. 代码阅读性极差!!!
	3. 代码维护性极差!!!

方法可以解决以上问题!!!

2. 比葫芦画瓢 main 方法

public static void main(String[] args) {
	// 方法体
}
/*
public static:
	不要问!!!
	
void:	
	方法返回值类型【核心】
	表示当前方法运行之后,对外的数据返回。
	void 表示当前方法没有返回值

main:
	方法名【伪核心】
	当前方法的名称,要求满足【见名知意,动宾结构】
	main 方法名称是一个特殊名称,JVM会将 main 方法作为程序的入口
	
(形式参数列表):
	形式参数列表【核心】
	当前方法执行所需的外来数据,表明方法所需参数类型,个数和顺序。
总结:
	public static 返回值类型 方法名(形式参数列表) {
		方法体
	}
	
	public static returnType methodName(parameterTypes) {
		method body
	}
	
*/

3. 无参数无返回

3.1 需求
完成方法 功能 展示 hello World
3.2 方法分析:
public static:
 	不要问!!!固定格式!!!
返回值类型:
	当前方法没有返回值 void
方法名:
	printHelloWorld
	方法名要求,见名知意,动宾结构,小驼峰命名法
形式参数列表:
	当前方法运行无需任何外来数据,没有参数!!!
    ()
3.3 方法声明
public static void printHelloWorld();
3.4 方法实现和调用
/*
无参数无返回值方法演示
	1. 自定义方法和main方法平级,在 class 大括号以内,其他方法大括号之外 
	2. 方法在完成代码之前,首先标注完整的文档注释
	3. 方法是条狗,哪里需要哪里吼,吼【方法名】
	4. 方法和变量的最大区别,方法名后面有小括号。首字母小写标识符,有小括号为方法,无小括号为变量
	5. 方法无参数,小括号无任何内容
 */
class Method1 {
	public static void main(String[] args) {
		printHelloWorld();
		printHelloWorld();
		printHelloWorld();
		printHelloWorld();
		printHelloWorl();
	}
	
	/**
	* 展示 hello world
	*/
	public static void printHelloWorld() {
		System.out.println("烤羊排!!!");
	}
}
3.5 无参数无返回方法执行流程

4. 有参数无返回

4.1 需求
展示用户提供的 int 类型数据内容
4.2 方法分析
public static:
	不要问!!!固定格式!!!
返回值类型:
	方法为展示方法,没有返回值
	void
方法名:
	见名知意,动宾结构,小驼峰命名法
	printIntValue 
形式参数列表:
	当前方法需要展示的 int 类型数据是由用户提供的!!!当前方法有参数
	(int num)
    	int 表示参数数据类型为 int 类型
    	num 是参数变量,也可以认为是方法内部的【局部变量】,可以在方法中直接使用
4.3 方法声明
public static void printIntValue(int num);
4.4 方法实现
/*
有参数无返回值方法
	1. 文档注释中 @param 是参数解释,需要对应参数名和解释内容
		例如 @param num 用户提供的 int 类型数据
	2. 一个方法有参数,需要按照当前方法参数数据类型,提供对应的
	【实际参数】
*/
class Method2 {
	public static void main(String[] args) {
		// 调用方法,所需参数为 int 类型,给予 实际参数 100 符合数据类型要求
		printIntValue(100);
		/*
		Method2.java:16: 错误: 不兼容的类型: 从double转换到int可能会有损失
                printIntValue(5.5);
		*/
		// printIntValue(5.5);
	
	}
	
	/**
	* 展示用户提供的 int 类型数据
	*
	* @param num 用户提供的 int 类型数据
	*/
	public static void printIntValue(int num) {
		System.out.println("用户提供的数据为:" + num);
	}
} 
4.5 执行流程图

5. 无参数有返回

5.1 需求
给我一个 5 
5.2 方法分析
public static:
	不要问!!!固定格式!!!
返回值类型:
	返回值内容为 整数 5 为 int 类型
	返回值类型为 int 类型
方法名:
	见名知意,动宾结构,小驼峰命名法
	giveMeFive
形式参数列表:
	方法执行无需外来数据,没有参数
	()
5.3 方法声明
public static int giveMeFive();
5.4 方法实现
/*
无参数有返回值方法
	1. @return 是用于描述带有返回值方法的返回内容解释
		解释返回值情况,状态,对应的效果
*/
class Method3 {
	public static void main(String[] args) {
		int num = 0;
		
		System.out.println("未调用方法:" + num);
		// 利用 giveMeFive 方法返回值给予 num 进行赋值操作
		num = giveMeFive();
		
		System.out.println("调用方法之后:" + num);
	}
	
	/**
	* 返回整数数据 5
	*
	* @return 返回一个整数 int 类型的数值 5
	*/
	public static int giveMeFive() {
		/*
		return 关键字
			1. 返回 return 之后的数据
			2. 终止当前方法的运行
				return; 适用于无返回值方法(void),终止方法运行。
		*/
		return 5;
	}
}
5.5 执行流程图

6. 有参数有返回

6.1 需求
计算两个整数之和,通过方法返回值返回
6.2 方法分析
public static:
	不要问!!!固定格式!!!
返回值类型:
	两个整数相加,结果依然是 整数 
	int
方法名:
	见名知意,动宾结构,小驼峰命名法
	getSumOfTwoNumber
形式参数列表:
	要求用户提供的两个 int 类型
	(int num1, int num2)
	方法所需参数为多个参数,需要按照参数数据类型1 参数名1, 参数数据类型2 参数名2
6.3 方法声明
public static int getSumOfTwoNumber(int num1, int num2);
6.4 方法实现
/*
有参数有返回值方法
	1. 给予方法实际参数,要求和形式参数列表数据类型,参数个数,参数顺序
	完全一致
	2. 方法数据返回和方法内部执行数据展示操作完全不同。
 */
class Method4 {
	public static void main(String[] args) {
		int sum = 0;
		
		System.out.println("方法调用之前:" + sum);
		
		// 给予方法实际参数 10, 20 将方法的返回值内容赋值给变量sum
		sum = getSumOfTwoNumber(10, 20);
		
		System.out.println("方法调用之后:" + sum);	
	}
	
	/**
	* 计算用户提供的两个整数之和,通过方法返回值返回给用户
	* 
	* @param num1 用户提供的 int 类型数据
	* @param num2 用户提供的 int 类型数据
	* @return 两个 int 类型数据之和
	*/
	public static int getSumOfTwoNumber(int num1, int num2) {
		System.out.println("方法调用之后:" + (num1 + num2));	
		return num1 + num2;
	}
}
6.5 执行流程图

posted @ 2022-03-10 17:48  qtyanan  阅读(63)  评论(0编辑  收藏  举报