Java基础学习笔记 -- 11(方法、重载、递归)

1. 方法

    1)方法作用:

        封装一段特定的逻辑功能 ,使程序结构清晰、便于代码的重复使用 

    2)方法的定义:

        方法的主要三要素:方法名、参数列表、返回值。

        修饰词  返回值类型  方法名( 参数列表 ) {

               方法体

        }

        说明:

        ① 返回值类型:

            方法需返回结果时使用,无返回值为void,有返回值时设计为特定数据类型即可 。

        ② 参数列表:参数的设计,使方法处理更灵活,参数根据需求是可有可无的。

    3)方法的调用:

        根据有无返回值或者是有无参数,以及调用情况,有以下的调用方法

        ① 方法名();

        ② 方法名(参数值);

        ③ 数据类型 变量 = 方法名();

        ④ 数据类型 变量 = 方法名(参数值);

        ⑤ 对象.方法名();

        ⑥ 对象.方法名(参数值);

        ⑦ 数据类型 变量 = 对象.方法名();

        ⑧ 数据类型 变量 = 对象.方法名(参数值);

    案例38:

        wKiom1Vdwo6BXqNBAALJznG6HYo277.jpg

 

2. 方法的重载(overload)

    方法的签名包含如下两个方面:方法名和参数列表。Java语法规定,一个类中不可以有两个方法签名完全相同的方法,即:一个类中不可以有两个方法的方法名和参数列表都完全相同,但是,如果一个类的两个方法只是方法名相同而参数列表不同,是可以的。

    ** 方法的重载是与返回值类型无关的。

    案例39:

        wKioL1VdxCjh6I-qAAIBTkhPi8g853.jpg

 

 

3. 参数的传递

    Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。

    如果参数类型是基本类型,那么传过来的就是这个参数的一个副本,也就是这个原始参数的值,这个跟之前所谈的传值是一样的。如果在函数中改变了副本的值不会改变原始的值. 

    如果参数类型是引用类型,那么传过来的就是这个引用参数的副本,这个副本存放的是参数的地址。如果在函数中没有改变这个副本的地址,而是改变了地址中的值,那么在函数内的改变会影响到传入的参数。如果在函数中改变了副本的地址,如new一个,那么副本就指向了一个新的地址,此时传入的参数还是指向原来的 地址,所以不会改变参数的值。


4. 递归

    递归调用:方法中调用了方法本身,用递归解决问题比较简练,只需考虑一层逻辑即可!一定要有结束条件(如:f(1)=1;)。

    递归的思想就是数学上的递推思想。比如: 阶乘 4! = 4*3*2*1, 3! = 3*2*1, 2! = 2*1, 1! = 1; 必须有一个终止值。 

    递归层次不能太深。总之:慎用递归!

    案例40:

        wKioL1VdxE6hlEynAAHMrwDzzMk841.jpg

     案例41:

       wKiom1VdwuryCK8bAAE8HrXymgE538.jpg

 

 

你可能感兴趣的:(方法,递归,参数传递,重载)