day08方法

本文详细介绍了Java中方法的定义、调用以及递归的概念。方法是为避免代码重复,实现特定功能的代码块,包括返回值类型、方法名、参数列表和方法体。方法调用时通过传入实际参数(实参)来执行,并通过值传递传递参数值。此外,还展示了如何设计打印字符串、数组和查找数组中元素索引的方法。最后,提到了方法的可变参数、方法重载以及递归调用的使用,强调了递归方法自身调用的特性。
摘要由CSDN通过智能技术生成

方法学习

定义和调用
  • 定义(method):为了解决功能代码重复编写的问题,被封装起来的可以解决某一功能的代码///完成某一特定功能且可以重复使用的代码块

  • 语法格式:[修饰符] 返回值类型 方法名称(方法参数列表(参数类型 参数名1,参数类型 参数名2,…)){

    方法体;

    [return 返回值;]

​ }

  • void为无返回值,写了void的话就不用了return
  • 方法名称:用于调用方法,遵循标识符规范,使用动词
  • 形式参数:圆括号中的变量,可以有多个
  • 方法体:编写如何完成该功能的代码
  • return:1.方法返回值给到调用者,void的时候不用,2.结束当前方法
  • 注意:1.方法必须定义在类中2.一个类中可以额有多个方法3.方法之间是平行的,不能在方法中定义另一个方法4.方法的定义没有先后顺序
//求两个数的和
public static int getSum(int a,int b){
    return a + b;//再把控制权交给调用处
}

方法调用时传入的参数为实际参数,简称实参

方法定义的参数称为形式参数,简称形参,起到占位的作用,形参的名字可以随意取,但是要见名知意

在方法中声明的变量为局部变量,只能在方法内使用

方法调用时,把实参的值复制一份给形参,这个过程叫做值传递

方法可以嵌套调用,但是不能够嵌套定义.

设计方法
//定义一个方法,打印制定行数的指定字符串
//输入的值:行数/字符串
public static void getStr(int line,String str){
    for (int i = 0;i < line;i++){
        System.out.println();
    }
    return;//可以省略
}
//按照指定格式打印int类型数组
//输入的值 int[]arr
public static void(int[] array){
    String message = "[";
        for(int i = 0;i < array.length;i++){
            message += array[i];
            if (i == array.length - 1){
                message += "]";
            } else {
                message += ",";
            }
        }
    System.out.println(message);
}
//需求3:定义一个方法,传入一个int数组
//返回指定元素在数组中第一次出现的索引
//输入的值:int[]array,int key
//产出的值:int
public static int indexOf(int[] array[i],int key){
    int index = -1;
    for (int i = 0;i < array.length;i++){
        if (key == array[i];i++){
            index = i;
            break;
        }
    }
    return index;
}
方法的可变参数

1.可变参数只是一个语法糖,本质上是一个数组,也就是说,在方法中,可以把这个可变参数作为数组使用

2.可变参数可以直接传入数组

3.可变参数必须写到参数列表的最后一个,一个方法最多只能有一个可变参数

方法重载

在一个类中,多个方法名称相同,但参数列表不同的多个方法构成方法重载(overload)

参数列表不同的三种情况:

1.参数个数不同

2.参数类型不同

3.顺序不同

方法重载和参数名称无关,和返回值也无关

值传递

方法在调用时,把实参复制一份给形参的过程,java方法调用采用值传递

1.基本数据类型的值传递,复制的是值

2.引用数据类型的值传递,复制的是地址

递归recursive

方法自身可以调用自身

方法自身调用自身的现象叫做递归

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值