06_方法的声明和使用
1、方法的使用原因
循环处理复用代码问题
1、代码冗余,需要多次复制完整的循环;
2、代码阅读性差;
3、代码维护性极差。
2、通过main方法分析Java定义方法的格式和要求
public static void main(String[] args) {
//方法体
}
/*
void
当前方法的返回值类型 void 表示当前方法没有返回值
main
方法名 使用/调用方法的名称 方法名的定义要求见名知意 动宾结构 小驼峰命名法
(String[] args)
方法参数列表 (参数类型 参数名)
*/
3、声明方法的形式
public static 返回值类型 方法名(形式参数列表) {
方法体
}
public static returnType methodName(ParamterTypes) {
metohod body;
}
4、无参数无返回值方法
4.1 需求
方法执行,在命令行展示 中午吃炒米粉
4.2 方法分析
方法分析
返回值类型:
当前方法 封装 的目标是展示中午吃炒米粉 方法的功能没有数据返回 有的只是打印结果展示
标准
如果方法体内容/方法执行目标,最终是在控制台打印方法执行结果
打印展示不等于方法返回值
当前方法没有返回值 为 void 类型
方法名:
要求:见名知意 动宾结构 小驼峰命名法
方法功能是展示中午吃什么
showLunch 展示午饭
形式参数列表:
当前方法执行所需的内容 不受外来数据约束 当前方法没有参数
4.3 方法声明
public static void showLunch();
4.4 方法实现
/**
* 展示中午吃炒米粉
*/
public static void showLunch() {
//方法体
System.out.println("中午吃炒米粉");
}
4.5 方法调用
//main方法是目前阶段代码执行的入口
public static void main(Stirng[] args) {
/*
调用方法 Java调用方法使用方法名
*/
showLunch();
}
4.6 方法执行流程图
5、有参数无返回值方法
5.1 需求
展示用户提供给该方法的 int 类型数据
方法功能:展示 展示内容是用户在调用该方法的时候提供的 该方法需要外部数据
5.2 方法分析
方法分析
返回值类型:
当前方法执行目标是展示用户提供的数据,没有数据返回。
标准
如果方法体内容/方法执行目标,最终是在控制台打印方法执行结果
打印展示不等于方法返回值
方法名:
要求:见名知意 动宾结构 小驼峰命名法
方法功能是展示用户提供的数据
showIntData 展示整型数据
形式参数列表:
当前方法需要外来数据支撑 要求提供 int 类型的参数
在方法声明中 需要定义形式参数 (int num)
5.3 方法声明
public static void showIntData(int num);
5.4 方法实现
/*
@param 变量名 变量解释,使用概述,注意事项
解释当前方法所需参数的使用方式,描述方法参数情况
*/
/**
* 该方法用于在控制台展示用户提供的int类型数据
*
* @param num 要求用户提供的int类型数据内容
*/
public static void showIntData(int num) {
/*
+ 拼接使用 不是算术运算符 仅用于拼接内容
num是方法声明对应的参数变量 方法体可以直接使用
*/
System.out.println("用户提供的数据为:" + num);
}
5.5 方法调用
public static void main(String[] args) {
/*
调用一个带参数的方法 必须按照方法声明要求 给予符合数据类型的实际参数
方法声明位置是 形式参数 调用方法给予的数据内容是 实际参数
*/
showIntData(10);
/*
给予方法的实际参数类型必须符合方法声明的参数类型 如果不符编译报错
showIntData(10.5);
*/
/*
没有给予当前方法所需的参数 编译报错
showIntData();
*/
/*
参数类型和参数个数 必须符合方法声明要求 如果不符编译报错
showIntData(10,20,30);
*/
}
5.6 方法执行流程
6、无参数有返回值方法
6.1 需求
调用目标方法,返回一个整数10
6.2 方法分析
方法分析
返回值类型:
当前方法执行目标是展示整数10,相当于当前方法的返回值类型为 int 类型
调用当前方法可以得到一个 int 类型数据
方法名:
要求:见名知意 动宾结构 小驼峰命名法
方法功能是返回一个整数类型数据 10
展示整型数据 getIntData getIntNumber
形式参数列表:
当前方法执行不需要外部数据 无参数
6.3 方法声明
public static int getIntNumber();
6.4 方法实现
/*
@return 解释当前方法返回值类型 返回值含义和情况概述
*/
/**
* 调用当前方法 可以得到一个int类型数据10
*
* @return
*/
public static int getIntNumber() {
/*
需要方法对外返回一个结果
关键字:
return 返回 主要有两个作用:
1、终止方法运行 一旦方法运行到return关键字 方法执行结束
2、返回return关键字之后的数据内容 返回到方法调用位置
*/
return 10;
}
6.5 方法调用
public static void main(String[] args) {
int num = 0;
System.out.println("方法调用之前:" + num);
/*
调用getIntNumber()
给予num int类型变量赋值操作
*/
num = getIntNumber();
System.out.println("方法调用之后:" + num);
}
6.6 方法执行流程
7、有参数有返回值方法
7.1 需求
传递两个 int 类型参数,计算两数之和
7.2 方法分析
方法分析
返回值类型:
两个 int 类型数据相加的和可能超出 int 类型的数据范围
考虑当前方法返回值类型为 long 类型
方法名:
要求:见名知意 动宾结构 小驼峰命名法
方法功能是返回两数之和
getSum
形式参数列表:
当前方法需要外部数据,提供两个 int 类型数据
在方法声明中 需要定义两个形式参数 (int num1, int num2)
7.3 方法声明
public static long getSum(int num1, int num2);
7.4 方法实现
/**
* 计算两个整型变量的和 通过方法返回值返回结果
*
* @param num1 用户提供的 int 类型数据
* @param num2 用户提供的 int 类型数据
* @return 返回两个 int 类型数据
* 考虑到有可能 int 类型相加超出 int 类型数据范围
* 定义返回值类型为 long型
*/
public static long getSum(int num1, int num2) {
return num1 + num2;
}
7.5 方法调用
public static void main(String[] args) {
//L 告知编译器 当前常量为 long 型
long sum = 0L;
System.out.println("方法调用之前:" + sum);
//调用getSum方法 把实参 10 20 传递给形参 num1 num2
sum = getSum(10,20);
System.out.println("方法调用之后:" + sum);
}