目录
课前先导
(1)我们第一次教弟弟手把手泡泡面:先烧水,在烧水的时候打开泡面,放调料包,等水烧开后把水倒进去,然后盖起来,等个三到五分钟。
教了这一次后,再把弟弟妹妹打到服,以后我们再想吃泡面,就不用再教他们了,只要喊一声:泡泡面。他们就会泡好端到我们面前来。
这个泡泡面的过程我们可以称为方法的定义,泡泡面就是方法名。
(2)弟弟只知道我们要吃泡面,我们没有告诉他我们要吃几碗,也没告诉他要不要加火腿肠,也不知道他会不会有反骨,或者是没打服,给我们端过来的泡面有没有按我们的要求去做。
这里我们告诉弟弟妹妹要泡几碗泡面,要加几根肠就是我们传递给他的参数,他给我们端上来的泡面就相当于返回值。
一、什么是方法?
方法的定义:将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。
就是我们将做一件事的过程用包装起来,给它取个名字,在需要做这件事是,只要用它的名字就可以了。
注意:方法必须先创建才可以使用,该过程成为方法的定义。
二、方法定义
定义方法的格式:
public static void 方法名(){
//方法体;
}
* 访问权限修饰符 返回值类型 方法名([参数列表]){
方法体
}
* 访问权限修饰符:描述的是方法的作用范围,主要有public(公共)、默认的(什么都不写)、protected(受保护的)、private(私有的)
* 返回值类型:调用方法返回结果的类型,可以是8大基本类型,也可以是3大引用类型,还可以没有返回值,写void
* 方法名:方法的名称,小驼峰命名法,做到见名知意
* 参数列表:方法可以需要你传递参数,也可以不需要参数,当方法有参数的时候,可以有一个参数,也可以有多个参数,多个参数之间使用,隔开
* 方法体:方法实现功能的具体代码体现
三、方法的调用
注意:方法创建后并不是直接运行的,需要在main()方法中手动使用后才执行,该过程称为方法调用;
语法格式:
方法名();
public class Method {
public static void helloWord(){ //定义一个方法
System.out.println("Hello Word!"); //方法体(方法要实现的功能)
}
public static void main(String[] args){
helloWord(); //在main()中通过调用方法来实现
}
}
四、方法的分类
1、 根据方法是否有返回值分
(1)无参方法
方法名后面的()中没有任何参数;
public static void 方法名(){
//方法体;
}
public class Demo16 {
//定义一个show方法
public static void show(){
//方法体(方法要实现的功能)
System.out.println("你在狗叫什么?");
}
//main方法
public static void main(String[] args){
show(); //调用方法
}
}
(2)有参方法
方法名后面的()中有参数,参数的个数可以是1个或者多个,参数的类型可以是基本数据类型,也可以是引用数据类型。
public static 数据类型 方法名(参数1,参数2,.....){
//方法体
return 数据;
}
public class Demo16 {
//定义一个show方法
public static void show(double n){
//方法体(方法要实现的功能)
n +=500;
System.out.println("你的存款余额为:"+n+"元");
}
//main方法
public static void main(String[] args){
double money = 1000;
show(money);//调用方法并传参
}
}
2、 根据方法是否有返回值分
(1) 无返回值的方法
返回值类型写void,在调用无返回值的方法,不需要用任何变量来接收;
public class Demo16 {
//定义一个show方法
public static void show(double n){
//方法体(方法要实现的功能)
n +=500;
System.out.println("你的存款余额为:"+n+"元");
}
//main方法
public static void main(String[] args){
double money = 1000;
show(money);//调用方法并传参
}
}
(2)有返回值的方法
返回值可以是任意的基本数据类型和任意的引用数据类型,调用有返回值的方法,需要用对应类型的变量来接收,或者直接将返回值输出,
有返回值的方法需要在方法体内通过return关键字将结果返回回去。
public class Demo16 {
//定义一个show方法
public static double show(double n){
//方法体(方法要实现的功能)
n +=500;
return n;
}
//main方法
public static void main(String[] args){
double money = 1000;
System.out.println("你的存款余额为:"+show(money)+"元");//调用方法并传参
}
}
五、形参与实参
参数是定义方法时规定的该方法运行时所需要的变量,而调用方法时它也需要传递一个变量
(1)形参:方法定义中的参数,等同于变量定义格式
(2) 实参:方法调用中的参数,等同于使用变量或常量
public class Demo16 {
//定义一个show方法,括号中的变量n就是形参
public static void show(double n){
n +=500;
System.out.println("你的存款余额为:"+n+"元");
}
//main方法
public static void main(String[] args){
double money = 1000;
show(money);//调用方法并传参,这里的参数money就是实参
}
}
六、方法重载
1、定义与特点
在一个类中定义多个同名的方法,但要求每个方法具有不同的参数类型或参数个数
* 在一个类中
* 方法名相同
* 参数列表不同(参数顺序、参数类型、参数个数不同)
* 方法重构只与参数列表有关
2、代码演示
public class Demo16 {
//定义一个show方法
public static double show(double a,int b){
return a+b;
}
public static double show(int a,double b){
return a+b;
}
public static int show(int a,int b ,int c){
return a+b+c;
}
public static double show(double a,double b,int c){
return a+b+c;
}
//main方法
public static void main(String[] args){
//调用方法并传参
System.out.println("第一个show:"+show(10.0,100));
System.out.println("第二个show:"+show(100,100.0));
System.out.println("第三个show:"+show(200,100,300));
System.out.println("第四个show:"+show(5.0,10.0,5));
}
}
方法传参的特性:
方法传参只是把数据传入方法中,和方法体中进行的运算没关系,本身的值必变
public class Demo16 {
public static void show(double n){
//方法体(方法要实现的功能)
n +=500;
System.out.println("你的存款余额为:"+n+"元");
}
//main方法
public static void main(String[] args){
double money = 1000;
show(money);//调用方法并传参
System.out.println("money的值:"+money);
}
}
从方法开始的每一个知识点大家都要搞明白,不然当我们进入面对对象学习的时候,会很晕,大家多花点时间搞清楚。那么,今天的学习到此就结束了,我是一米八、有腹肌、低于半小时你报警的Loveletter,觉得内容不错的小伙伴可以点点关注,我们下篇博文见,再见!