目录
方法概述
方法就是若干语句的功能集合,是一段具有独立功能的代码块,当我们调用它时它就会执行,不调用它时不执行。
打个比方,方法就好比是蒙牛的牧场,牧场的原料就是奶牛,奶牛需要吃饲料,喝水等等,而牧场可以产出牛奶。
在这个比喻中,奶牛吃的饲料和水也就是原料是进去的数据,也就是方法中的参数,而产出的牛奶也就是从方法中出来的数据就是方法的返回值。
1、方法的作用是什么呢?
方法可以帮助我们减少很多重复性的代码
public class Test01 {
public static void main(String[] args) {
// 小明 需要计算10+20的结果
int xiaoming = 10+20;
// 小红也要计算10+20的结果
int xiaohong = 10+20;
// 小赵也要计算10+20的结果
int xiaozhao = 10+20;
}
}
如上面的代码一样,来一个人进行计算10+20的结果,就得写一遍int xiaozhao = 10+20;要是有100个人呢?那就需要写100次重复的代码。
为了解决这样的问题,我们把重复的代码放到一个程序块里面,这个程序块就是方法。
2、方法的定义和调用
例如定义一个两个int数字相加的方法,三要素
2.1方法的定义
返回值类型:int
方法名称:sum(可以随便命名,符合要求即可)
参数列表:(
可以没有
、可以有一个或者多个) 包括参数的类型、个数、参数的顺序
public static int sum(int a,int b 仅定义,不能在此处进行赋值 ){
int result = a +b;
return result;
}
2.2方法体中写重复定义的代码的格式如下
修饰符 返回值类型 方法名称(参数类型 参数名称,… ){
方法体 上面多个参数用逗号分割
return 返回值;
}
2.3方法的调用
情况一:如果一个方法被static修饰了,则该方法可以直接在main方法里面调用
情况二:如果此方法没有被static修饰,则需要创建对象,用==对象.方法名();==进行调用
3、带参数的方法和不带参数的方法
当我们调用完方法之后,需要方法执行完的那个结果,此时我们可以把方法定义成有返回值的,通过
return关键字把值返回出去。
public class Test01 {
public static void main(String[] args) {
Test01 t = new Test01();
// 小明 需要计算10+20的结果
int sum=t.add();//方法调用
// 小红也要计算10+20的结果扩大10倍
int endR = sum*10;
// 小赵也要计算10+20的结果
t.add();
}
/**
* 定义了一个最简单的版本的方法
*/
public int add(){
int res=10+20;
System.out.println(res);
return res;
}
}
4、方法的重载
4.1什么是方法的重载呢?
d当方法名相同,参数列表不同时,就构成了方法重载的关系。
4.2方法重载的作用是什么呢?
方法重载可以让我们的程序更加灵活
/**
* 参数列表包括:参数的类型,参数的个数,参数的顺序
*/
public class Test03 {
public static void area(){
System.out.println("求面积的方法");
}
public static void area(int r){
System.out.println("求圆形面积的方法");
double res = 3.14*r*r;
}
public static void area(int len,int w){
System.out.println("求长方形面积的方法");
double res = len*w;
}
public static void area(double d,double h){
System.out.println("求三角形面积的方法");
double res = 0.5*d*h;
}
public static void main(String[] args) {
// 求圆形的面积
area(10);
// 求长方形面积
area(20,30);
// 求三角形面积
area(3.78,12.13);
}
5、注意事项
修饰符现阶段的固定写法:public static
返回值类型:方法最终产生的数据结果是什么类型
方法名称:方法的名字,小驼峰命名参数类型:进入方法的数据是什么类型
参数名称:进入方法的数据对应的变量名称
方法体:方法需要做的事情
return:两个作用 1、停止当前方法 2、将后面的结果数据(返回值)还给调用处
return后面的“返回值”必须和方法名称前面的返回值类型保持一致