方法
目录
方法【重点】
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;
}
}