美文网首页
Java学习 Day5

Java学习 Day5

作者: 9264oo | 来源:发表于2018-09-19 19:40 被阅读0次

    1.方法的优势:实现代码复用,减少了代码重复。方便后期的维护。

    2.方法:具备特定功能的一段独立的代码段。一个方法对应一个功能。

    方法声明的语法:

    访问修饰符 [static/final/abstract]  返回值类型 方法名(参数类型 参数名1,参数类型 参数名2……){

    方法体

    return 返回值;//作用返回方法执行后的结果,结束方法

      }

    方法调用的语法:方法名(参数名1,参数名2……);

    访问修饰符:public,private,(default),protected.

    返回值类型: void+java支持的数据类型

    方法名:骆驼式命名法

    方法声明时的参数(可以是0个到多个):在方法声明时,这个地方的参数叫形参。形参的参数名前一定写数据类型。

    方法调用时的参数:叫实参。实参不需要写数据,只需要传值。实参传递的参数实际上是传给形参。

    return 返回值:方法的返回值类型是什么,咱们返回值就只能是这种类型。如果方法返回值类型为void时,就无须用return 返回值。

    注:(1)方法不调用不执行,调用才执行。

    (2)形参与实参的参数个数相同,形参与实参的参数对应类型要相同,参数的位置也要匹配。

    (3)如果方法有返回值,谁调用这个方法,返回值就返回给谁;

    有返回值的方法在调用时,如果要用到返回值就要定一个变量接收方法的返回结果;

    如果不用返回结果,在方法调用时就不需要接收返回结果。

    (4)如果一个方法执行时,需要调用才提供数据才能完成功能,就可以用有参方法;

    如果一个方法执行完,需要方法返回结果,就定成有返回值 。

    (5)方法与方法是平级关系,不能嵌套定义。

      (6)方法间可以相互调用。

    eg:

    /**

    *  声明一个无参无返回值的方法

    */

    public static void shuaPin(){

    System.out.println("刷屏");

    }

    /**

    *  声明一个有参无返回值的方法

    */

    public static void add(int a,int b){

    int result=a+b;

    System.out.println(result);

    }

    /**

    * 声明一个有参方法,有返回值

    */

    public static int chen(int num1,int num2){

    int result=num1*num2;

    return result;

    }

    3.方法重载:(1)在同一个类 (2)方法名相同 (3)参数列表不同(参数的个数不同和类型不同)

    使用场景:在同一个类,如果执行相同的功能,只是参数不一样,可以用方法重载。

    方法重载与方法的访问修饰符和返回值类型无关。

    在调用时,虚拟机通过参数列表的不同来区分同名方法。

    eg:public static int add(int num1,int num2){

    System.out.println("两个数的和");

    int result=num1+num2;

    return result;

    }

    public static int add(int num1,int num2,int num3){

    System.out.println("三个数的和");

    int result=num1+num2+num3;

    return result;

    }

    4.递归:方法自身调用自身。

    适用场景:(1)把一个问题拆分成多个子问题。

      (2)子问题的解决方式与问题本身的解决方式一样

      (3)最终问题的解决依赖每个子问题的解决

      (4)最终问题一定要有出口。

    eg:计算一个正整数num的阶乘

    public static long diGui(int num){//5

    if(num==1){

    return 1;

    }else{

    return num*diGui(num-1);//5*diGui(4)->5*4*diGui(3)->5*4*3*diGui(2)->5*4*3*2*1

    }

    }

    相关文章

      网友评论

          本文标题:Java学习 Day5

          本文链接:https://www.haomeiwen.com/subject/xgcwnftx.html