16、Java基础——方法的定义和调用、方法的分类、形参与实参、方法重载

目录

课前先导

一、什么是方法?

二、方法定义

三、方法的调用

四、方法的分类

1、 根据方法是否有返回值分

2、 根据方法是否有返回值分

五、形参与实参 

六、方法重载

1、定义与特点

2、代码演示


课前先导

(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,觉得内容不错的小伙伴可以点点关注,我们下篇博文见,再见!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值