小怡分享之Java方法的使用

   前言:

         🌈✨小怡昨天给大家分享了逻辑控制和猜数字小游戏,今天小怡给大家分享Java方法的使用。

1.方法概念及使用

1.1  什么是方法

       方法就是一个代码片段,类似于C语言中的“函数”。方法的意义: 

  1. 是能够模块化组织代码(当代码规模比较复杂的时候);
  2. 做到代码被重复利用,一份代码可以在多个位置使用
  3. 让代码更好理解更简单;
  4. 直接调用现有方法开发,不必重复造轮子。

1.2  方法定义 

方法语法格式:

//方法定义

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

           方法体代码;

           [return  返回值];

注意事项:

  1. 修饰符:现阶段直接使用public static固定搭配;
  2. 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成void;
  3. 方法名字:采用小驼峰命名,也就是首字母小写;
  4. 参数列表:如果方法没有参数,()中什么也不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开;
  5. 方法体:方法内部要执行的语句;
  6. 在Java中,方法必须写在类当中
  7. 在Java中,方法不能嵌套定义
  8. 在Java中,没有方法声明一说。

 

1.3   方法调用的执行过程

方法调用过程:

        调用过程--->传递参数--->找到方法地址----->执行被调方法的方法体---->被调方法结束返回--->回到主调方法继续往下

注意事项:

  • 定义方法的时候,不会执行方法的代码,只有调用的时候才会执行;
  • 一个方法可以被多次调用。 

 

1.4  实参和形参的关系

             方法中的形参相当于数学函数中的自变量。形参的名字可以随意取,对方法都没有任何影响,形参只是方法在定义时需要借助的一个变量,用来保存方法在调用时传递过来的值。 

注意:在Java中,实参的值永远都是拷贝到形参中,形参和实参本质是两个实体。

 

代码示例:交换两个整型

      这里我们可以看到,在swap函数交换之后,形参x和y的值发生了改变,但是main方法中a和b还是交换之前的值,没有交换成功。

原因分析: 

      实参a和b是main方法中的两个变量,其空间在main方法的栈(一块特殊的内存空间)中,而形参x和y是swap方法中的两个变量,x和y的空间在swap方法运行时的栈,因此:实参a和b与形参x和y是两个没有任何关联性的变量,在swap方法调用时,只是将实参a和b中的值拷贝了一份传递给了形参x和y,因此对形参x和y操作不会对实参a和b产生任何影响。 

 

解决办法: 

        传引用类型参数(例如数组来解决这个问题) 

 

1.5   没有返回值的方法 

          方法的返回值是可选的,有些时候可以没有,没有返回值类型必须写成void。 

 

2.方法重载 

2.1   方法重载概念

       在Java中,如果多个方法的名字相同,参数列表不同,则称该几种方法被重载了。

 

    注意:

  1. 方法名必须相同
  2. 参数列表必须不同(参数的个数不同,参数的类型不同,类型的次序必须不同);
  3. 返回值类型是否相同无关

 

方法重载的优势: 

       可以简化代码提高代码的可读性。 

 

2.2   方法签名 

        方法签名即:经过编译器编译修改过之后最终的名字。具体方式:方法全路径名+参数列表+返回值类型,构成方法完整的名字。 

 

3.递归 

3.1   递归的概念 

         一个方法在执行过程中调用自身,就称为递归。递归相当于数学上的“数学归纳法”,有一个其实条件,然后有一个递推公式。

 

递归的必要条件: 

  1.   将原问题划分成其子问题,注意:子问题必须要与原问题的解法相同;
  2. 递归出口 

 

解决递归问题: 

  1. 有一个递推公式;
  2. 找到当前问题的递归“结束条件”。 

 代码实例:递归求N的阶乘

 

注意:

  • return  代表调到函数外;
  • return 0 表示正常终止;
  • return 1 表示非正常终止;
  • return0 返回为空。 

 

   🌈✨今天的分享到这里结束啦,小怡给大家分享了这些知识以及部分代码,大家可以下去自己做一些练习哦,小怡和大家一起学习一起进步,“要想壮志凌云,先要脚踏实地”。 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值