Day3

来源:互联网 发布:linux环境变量设置命令 编辑:程序博客网 时间:2024/04/30 12:52

Day3

什么是方法

方法:是对一段用于特定解决特定问题的代码块的封装。
语法:访问权限修饰符【其他修饰符如static】 返回值类型 方法名(参数类型1 形参类型1,参数类型2 形参类型2。。。){方法体}
特点:

  • 静态的方法只能访问静态的方法,不能访问非静态的方法。(静态方法:使用static修饰符修饰的方法)
    1. 方法的返回值类型若不为void(没有返回值),那么,在方法的调用点,一般要定义一个与返回值类型相兼容的数据的类型变量接收;从语法角度上也可以不用接收。 2.若方法的返回值类型是void,此时,方法的调用点不能定义变量接收,只能调用方法。
  • 实参和形参的数据类型要相互兼容,且:实参的取值范围要小于等于形参类型的取值范围。实参:传入的参数值。形参接收实参传过来的值。注意实参与形参名可以相同也可以不同。
  • 程序运行到某行代码时,改代码调用某个方法,此时:程序进入该方法体执行,执行完毕后程序返回到方法的调用点。继续执行后续的代码。
  • 方法若有一个不为void的返回值类型,那么:方法中必须有return语句,且return语句的返回值类型与方法的返回值类型相兼容,且只对应的类型的取值范围小于等于返回值的类型。
  • 方法设计需要注意:1.方法需不需要传入值,需要则有形参,不需要就不需要形参 2.方法有无返回值,void。

    注意:

    1. 为了提高代码的可读性和维护性,一个方法体中,代码的最大行数建议《=30行,超过的部分,抽取成方法。
    2. 方法的精髓在于:可以对复杂的问题进行分解,便于各个击破,直到求到最后的结果。

方法重载

在同一个类中,用于解决类似问题的两个或者两个以上的方法。1. 方法名相同2. 形参列表不同(类型、个数、顺序)3. 与返回值类型没有关系

重载的好处

设计重载的目的是,减少方法名的个数,便于程序员掌握;程序在运行的过程中,通过传递不同的参数,动态调用与之匹配的方法区执行。

方法的扩展

  • 若在一个类中,存在重载的方法,与方法的调用点传递的实参,没有完全匹配时,在运行过程总,会自动选择一个最为合适的方法执行;若多个方法均匹配,就会编译报错。

递归算法

算法:解决某类问题总结出来的方法。(由软件前辈们总结出来)

递归算法:方法体中,调用自身的代码编写方式。

案例:使用递归算法,求出任意指定位上的斐波拉契数。

斐波拉契数:第1位数是1,第2位数也是1,从第3位数开始,每一位上的数字是前两位数之和。
组合而成的数字序列,称之为“斐波拉契数列”。
如:1 1 2 3 5 8 13 21 …

总结:
1、使用递归算法,一定要有出口,否则,程序会陷入死循环,直至内存溢出。
2、若递归的层数较少的场合,可以使用递归算法;若递归的层数很大,使用递归算法,
会消耗大量的内存空间,不建议使用递归,可以选用别的解决方案。

课堂作业:
使用递归算法,计算1!+2!+3!+…+20!。
思路:
1、设计一个方法,求出指定数的阶乘值
2、在main方法中,使用for循环求出循环变量的阶乘和

0 0
原创粉丝点击