6.方法

MODULE 6 方法

All

一、方法的使用

(一)方法介绍以及简单方法定义(无参数返回值)

1.问题描述:

之前所有的代码都在main方法中,如果我们将来将所有的代码都放在main 方法中,会使得main方法代码太多 -> 不好维护

解决:将不同功能的代码梵高不同的方法中,想执行某个功能,直接调用方法 名就行了,对应的代码就自动执行起来,将来维护的时候,直接找到对应的方 法,就可以对其直接修改维护

2.方法:(功能就是方法)

拥有功能性相同的代码块

将不同的功能放在不同的方法中,给每个方法取个名字,直接调用方法名,对 应的方法就执行起来了,好维护

3.通用的定义格式:

修饰符 返回值类型 方法名(参数){

方法体

return 结果

}

4.通过通用格式,分成四种方法来学习:

(1)无参无返回值方法

(2)有参无返回值方法

(3)无参有返回值方法

(4)有参有返回值方法

(二)方法定义各部分解释

1.通用格式:

修饰符 返回值类型 方法名(参数){

方法体

return 结果

}

2.各部分解释:

(1)修饰符:public static

(2)返回值类型:

该方法最终返回结果的数据类型

如果没有返回值,不要写具体的返回值类型,写void

(3)方法名:见名知意(小驼峰式)

(4)参数:进入到方法内部参与执行的数据(数据类型 变量名,数据类型 变 量名)

(5)方法体:实现该方法的具体代码

(6)return 结果:如果有返回值,可以利用return将结果返回

(三)无参无返回值方法

1.格式:

public static void 方法名(){

方法体 -> 实现此方法的具体代码

}

2.调用:(直接调用)

在其它方法中:方法名()

3.注意事项:

(1)void关键字代表无返回值,写了void,就不要在方法中写return 结果

(2)方法不调用不执行,main方法是jvm调用的

(3)方法之间不能互相嵌套,方法之间是平级关系

(4)方法的执行顺序只和调用顺序有关

(四)有参无返回值方法

1.格式:

public static void 方法名(数据类型 变量名){

方法体

}

2.调用:(直接调用)

方法名(具体的值)-> 调用的时候要给参数赋值

(五)无参有返回值方法

1.格式:

public static 返回值类型 方法名(){

方法体

return 结果

}

2.调用:返回值返回给谁?哪里调用返回值给哪里

(1)打印调用:sout(方法名())-> 不推荐

(2)赋值调用:调用完之后用一个变量接收返回值结果 -> 极力推荐

数据类型 变量名 = 方法名()

(六)有参有返回值方法

1.格式:

public static 返回值类型 方法名(参数){

方法体

return 结果

}

2.调用:

(1)打印调用:

sout(方法名(具体的值))

(2)赋值调用:(力推)

数据类型 变量名 = 方法名(具体的值)

(七)形参和实参的区别

1.形参:在定义方法的时候形式上定义的参数,此参数还没有值

2.实参:在调用方法的到时候给形参赋予具体的值

(八)参数和返回值使用时机

1.参数:

当想将方法A的数据传递到方法B时,那么定义方法B时就需要带个参数, 在方法A中调用方法B时,可以将方法A中的数据通过参数传递到方法B中

2.返回值:

调用方法A时,想要方法A的结果,去参与其他的操作,那么方法A就需要将 自己的结果返回

三层架构思想:

(1)Controller接受的请求参数需要一层一层传递到service层,service 层需要将请求参数再传递到dao层,此时service的方法以及dao的方法都需 要参数去接收

(2)dao层的结果需要传递给service,再传递给controller层,此时 dao 层和service方法需要返回值

(九)变量作为实参使用

package com.shujia.a_method;

/*

变量作为实参使用

*/

public class Demo06Method {

public static void main(String[] args) {

int i = 27;

int j = 97;

boolean b = myMethod(i, j);

System.out.println("b = " + b);

}

public static boolean myMethod(int a,int b){

if (a>b){

return true;

}else {

return false;

}

}

}

二、方法注意事项终极版

1.方法不调用不执行

2.方法的执行顺序只和调用顺序有关

3.方法之间不能互相嵌套

4.void不能和【return 结果】共存,但是void能和【return】共存

(1)void:代表没有返回值

(2)return 结果:就代表有返回值了

先将结果返回,然后结束方法

(3)return:仅代表结束方法,不代表有返回值

5.一个方法中,不能连续写多个return(也就是说一个方法不能有多个返回值)

6.调用方法的时候要看看下面有没有这个方法,没有的方法直接调用会报错

初写:

(1)先定义,再调用

(2)如果没有返回值的方法,直接在调用的方法内部输出结果

(3)如果是带返回值的方法,就调用完毕之后,用一个变量去接收结果,输 出这个变量

(4)调用方法:

直接调用:方法名() 或者 方法名(实参) -> 只针对无返回值的 方法

打印调用:sout(方法名())或者sout(方法名(实参)) -> 不 推荐

赋值调用数据类型 变量名 = 方法名() 或者 数据类型 变量名 = 方法名(实参) -> 针对有返回值的方法 -> 推荐

如何练习:

(1)如果定义的方法没有返回值,写个void不要return结果

(2)如果定义的方法有返回值,就将void改成具体的返回值类型,在方法中 最后写一个return结果,将结果返回

(3)如果方法有返回值,调用的时候推荐使用赋值调用,如果没有返回值, 使用直接调用

(4)练习四种方法,如两个整数相加

三、方法的练习

1.数组本身是引用数据类型,引用数据类型做方法参数传递,传递的是地址值

2.返回值为引用数据类型时,返回的也是地址值

四、方法的重载(Overload)

1.概述:方法名相同,参数列表不同的方法

2.什么叫参数列表不同:

(1)参数个数不同

(2)参数类型不同

(3)参数类型顺序不同

3.判断两个方法是否为重载方法,和什么无关:

(1)和参数名无关

(2)和返回值无关

如果定义方法功能一样,只不过实现细节不一样,就可以考虑定义成重载的方法

posted @ 2024-09-05 19:48  dededea  阅读(9)  评论(0编辑  收藏  举报