为什么使用方法
一般来说,我们使用方法是为了解决代码过于臃肿,阅读性差,维护性差的问题,把代码封装成一个工具类,是为了我们后期开发的便利。
那么我们最常见的方法,也是第一个看到的方法就是main方法,那么我们就以main方法为例,讲一下方法结构的组成。
main方法
public static void main(String[] args) {
// 方法体
}
/*
public static :访问权限公共的,静态修饰符
void: 返回值类型,这里void表示没有返回值
main: 方法名,需要符合小驼峰命名法,见名知意,动宾结构
(String[] args): 形式参数列表
{
方法体
}
方法的模版:
public static ReturnTypeMethodName(Arguments) {
Method Body
}
方法定义的位置,是在class大括号以内,其他方法之外
*/
无参数无返回值方法
/*
需求
展示一个烤羊排~~~
方法分析
public static 固定格式
返回值类型: void
方法名: bbq
形式参数列表: ()
方法声明:
public static void bbq()
*/
/**
* 打印烤羊排~~~
*/
public static void bbq() {
System.out.println("烤羊排!!!");
}
有参数无返回值方法
/*
什么是参数
当前方法执行所需的外部数据
例如: 登陆时需要的账号和密码,取现金时银行卡和密码
需求
展示一个int类型数据
方法分析:
public static 固定格式
返回值类型:
void 没有返回值,Sysout不是一个返回值,是一个展示数据的方式,是一种反馈
方法名:
printIntNumber 见名知意,动宾结构,小驼峰命名法
形式参数列表:
这里需要打印int类型数据
(int num)
方法声明:
public static void printIntNumber(int
num);
*/
/**
* 展示一个int类型数据
*
* @param num 要求用户传入一个int类型数据
*/
public static void printIntNumber(int num) {
System.out.println("用户提供的int类型数据为:" + num);
}
/*
需求
打印两个int类型数据之和
方法分析:
public static 固定格式,不要问
返回值类型:
功能是展示数据,打印数据,这里不需要返回
值。
方法名:
printSumOfTwoNumber 见名知意,动宾结构,小驼峰命名法
形式参数列表:
这里需要两个int类型数据
(int num1, int num2)
方法声明:
public static void
printSumOfTwoNumber(int num1, int num2)
*/
/**
* 打印两个int类型数据的和
*
* @param num1 需要用户提供的int类型数据
* @param num2 需要用户提供的int类型数据
*/
public static void printSumOfTwoNumber(int
num1, int num2) {
System.out.println("Sum : " + (num1 +num2));
}
/*
调用时注意事项:
1. 带有参数的方法一定要提供对应的数据类型,实际参数
2. 调用调用带有参数的方法,给予实际参数时,数据类型一致化
3. 多参数方法中,需要在调用的过程给予方法对应的参数,个数不允许缺少
4. 多参数方法中,形式参数列表中声明的参数类型和实际参数类型必须完成一致,一一对应,不允许一锅乱炖
*/
无参数有返回值方法
return关键字:
- 结束当前方法的运行,方法运行到return之后,方法运行结束,return之后的代码不再执行。
- 可以返回到方法之外,数据在return关键字之后的数据,可以返回到方法之外,利用返回值。
- 什么是返回值:
返回值是当前方法对于方法之外提供的数据和表现。这里需要对应返回的数据,声明对应的返回值类型。
【注意】
方法中如果需要返回值,必有有一个明确的return
方法需要返回值,没有retrun报错
方法需要返回值,return存在于一个非必须执行代码中,会报错。
方法中返回值类型是void,那么可以使用return作为方法的结束,return之后不能有任何数据。
/*需求:
give Me Five
需要返回一个int类型数据5
方法分析:
public static 固定格式
返回值类型: int
这里需要返回的数值为5,是一个int类型
方法名:
giveMeFive
形式参数列表:
不需要参数()
方法声明:
public static int giveMeFive()
*/
/**
* 返回一个int类型数据5
*
* @return 返回值为int类型数据5
*/
public static int giveMeFive() {
// return之后的数据会被返回到方法之外
return 5;
}
有参数有返回值方法
/*
需求:
计算两个int类型数据之和,返回结果
方法分析:
public static: 固定格式
返回值类型:int
方法名:
getSumOfTwoNumber √
returnSumOfTwoNumber 见名知意,动宾结构,小驼峰命名法
形式参数列表:
需要两个int类型数据
(int num1, int num2)
方法声明:
public static int getSumOfTwoNumber(int
num1, int num2);
*/
/**
* 计算两个int类型数据,并且通过返回值返回
* * @param num1 int类型数据
* @param num2 int类型数据
* @return 两个int类型数据的之后,返回值类型为int
类型
*/
public static int getSumOfTwoNumber(int num1,
int num2) {
return num1 + num2;
}
方法的三要素:返回值、方法名、形式参数列表。返回值类型根据具体的需求分析,一个方法有且只能有一个返回值
方法名:
- 见名知意,动宾结构,小驼峰命名法!!!
- 不允许简拼,不允许出现拼音
形式参数列表:
- 整个方法运行过程中,需要的必要外来数据!
- 调用方式时,形式参数列表和实际参数列表数据类型是完全一致!顺序也是一致的!
- 考虑好对应的数据类型
方法的封装过程
需求分析:
- 分析需求的作用是什么?
- 考虑方法的名字,见名知意,动宾结构,小驼峰命名法
- 形式参数列表
- 返回值类型的选择和对应含义解释
方法封装小技巧
- 功能单一化!!!考虑后期的复用性,可移植性,模块化…
- 减少代码中return的使用,提高代码阅读性
- 找出特定的情况优化代码,提高效率
方法在我们的开发中是及其重要的,可以说离不开方法,各种各样的方法完善着我们的功能,所以这一块是基础,要好好掌握,以后才能更好的调用,什么用对象调用啊,用类调用啊,学好方法,自己封装各种工具类,对我们开发是有很大帮助的