方法

方法

概念:在程序中要去实现的某一个功能,需要包含多条语句,这些语句包含循环语句结构,选择语句结构等共同来处理一件事情

定义方法的格式

public static void main(String[] args){
    //方法体内容
}
void 空的,无效的
String[] 参数 --> 变量
方法比喻成工厂
    

方法定义的完整格式:修饰符 返回值类型 方法名称(参数类型 参数名称,参数类型2 参数名称2,…){}

​ 修饰符:public static
​ 返回值类型:方法最终产生的数据结果是什么样的。 void 无返回值,有返回值用到return
​ 方法名称:方法的名字,名字自定义–标识符,采用小驼峰
​ 参数类型:进入方法的数据是什么类型
​ 参数名称:进入方法当中的数据对应的变量名称
​ 方法体:方法需要执行的功能,由若干行执行
​ return:一般认为有两个作用,1.可以将后面的返回值返回给程序,2.可以停止当前方法的执行
​ 返回值:就是方法执行最终产生的数据结果

备注:

  1. return后面的"返回值",必须和方法声明上的"返回值类型"保持一致
  2. 方法不允许嵌套,不允许定义在类的外面
  3. 方法只能并列,并且必须定义在类的里面

方法调用【重点】

三种调用格式:

  1. 单独调用:方法名称(参数具体值);
  2. 打印调用:System.out.println(方法名称(参数具体值));
  3. 赋值调用:数据类型 变量名称 = 方法名称(参数具体值);

备注:当返回值类型为void的时候,这种方法只能单独调用,不能打印调用或者赋值调用
返回值类型一般可以理解为数据类型(基本数据类型和引用数据类型),此外还包含一种类型void类型,当方法执行完毕不需要给程序调用者返回任何数据结果时,可以指定给方法的返回值类型为void,此时只能单独调用
在这里插入图片描述

注意事项:
  1. 方法定义的先后顺序无所谓
  2. 方法定义不能嵌套,不能在一个方法内部定义另一个方法
  3. 方法定义之后,自己不会执行,如果希望执行,一定要进行方法的调用

方法重载

对于功能类似的方法来说,因为参数列表不一样,却需要定义不同的方法名称,对于开发者来说,记忆类似的不同方法名,非常麻烦。

public class MethodDemo03{
    public static void main(String[] args){
        //计算一个整数和一个小数的和,整数位第一个参数,小数为第二个参数
        int number = sum(10,3.14);
        //计算一个整数和一个小数的和,小数位第一个参数,整数为第二个参数
        int number02 = sum(3.14,10);
    }
    //计算两个数的和,得到一个整数
    //计算两个整数的和
    public static int sum(int a,int b){
        return (a+b);
    }
    //计算两个小数的和
    public static double sum(double a,double b){
        return (a+b);
    }
    //计算一个整数和一个小数的和
    public static double sum(int a,double b){
        return (a+b)
    }
   public static double sum(double a,int b){
        return (a+b)
    }
}
//如果在类中定义方法时,方法的参数列表不一致,虽然方法名称一样,但程序会认为这是一个新方法。

方法重载(Overload):在一个类中多个方法名称一样但参数列表不一样的

好处:只需要记住唯一一个方法名即可,就可以实现类似的多个功能。

方法的重载与那些因素有关:

  1. 参数个数不同
  2. 参数类型不同
  3. 参数的多类型顺序不同

方法重载与那些因素无关:

  1. 与参数名称无关
  2. 与方法的返回值类型无关
  3. 与方法的修饰符无关

数组作为方法参数和返回值

数组作为方法的参数

数组作为引用类型能否作为方法的参数进行传递?可以

  • 数组作为方法参数传递时,传递的参数是数组内存的地址值。

    public static void main(String[] args){
        int[] arr = {1,2,3,4};
        //调用方法,传递数组
        println(arr);
    }
    /*
    	创建方法,方法接受数组类型的参数
    	进行数组的遍历
    */
    public static void println(int[] arr){
        //数组遍历
        for (int i = 0; int < arr.length; i++){
            System.out.println(arr[i]);
        }
    }
    

在这里插入图片描述

数组作为方法的返回值
  • 数组作为方法的返回值,返回的是数组的内存地址。

    public static void main(String[] args){
        //调用方法,接收数组的返回值
        //就收到的是数组的内存地址
        int[] arr = getArray();
        System.out.println(arr);//此时是一个内存地址哈希值
    }
    /*
    	创建方法,返回值的数组类型
    	return 返回数组的内存地址
    */
    public static int[] getArray(){
        int[] arr = {1,2,33,4,5};
        //此时返回数组的内存地址,返回给调用者
        return arr;
    }
    

    一个方法可以有0,1,多个参数;但是只能由0个或者一个返回值,不能有多个返回值。如果希望一个方法当中产生了多个结果数据,这些多个结果数据同时需要返回

    解决方案:使用一个容器(数组)作为方法的返回值类型即可。

    public static void main(String[] args){
        int a = 10;
        int b = 20;
        change(a,b);
        System.out.println(a);//10
        System.out.println(b);//20
    }
    public static void change(int a,int b){
        a = a + b;//30
        b = b + a;//50
    }
    
    public static void main(String[] args){
        int[] arr = {10,20};
        changeArray(arr);
        System.out.println(arr[0]);//30
        System.out.println(arr[1]);//50
    }
    //指向数组的内存地址值
    public static void changeArray(int[] arr){
        arr[0] = 30;
        arr[1] = 50;
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值