初识方法与递归

  1. 方法:
    组合在一起可执行操作语句的集合。
            方法的作用:
                    ●使程序变得更简短更清晰
                    ●有利于程序维护
                    ●提高程序开发效率
                    ●提高代码重用性
  2. 方法的分类
    ●静态方法:被static修饰的
    ●成员方法:没有被static修饰的
    ●构造方法
  3. 方法的调用
    静态方法的调用:
    ●在本类中:直接写方法名
    ●在其他类中:
         先判断权限修饰符
         ○public 类名.方法名
         ○private 不能外部访问
    ●形参:方法参数列表的变量
    ●实参:调用方法时,传入的变量
  4. 语法格式

    访问修饰符 返回值类型 方法名(参数列表){ 
    方法体 
    }

    ●访问修饰符
         ○权限修饰符:public ,private,protected,不写(默认)任选其一
         ○其他修饰符:static,native,final
    ●返回值(数据类型):任选其一
         ○引用数据类型:
         ○基本数据类型:
    ●方法名:和类名,变量名规则相同
    ●参数列表(数据类型)(个数不限):
  5. 方法的重载
    特点:
         ●方法名一定要相同
         ●参数列表不同
                ○参数的数据类型不同
                ○参数的个数不同
                ○参数的顺序不同
         ●与方法的访问控制符和返回值无关
  6. 内存分析
    ●程序计数器:记录当前执行行数
    ●方法区/静态区:存放静态代码,方法
    ●本地方法栈:存放本地方法(native)给栈内存提供方法
    ●虚拟机栈/VM栈/栈内存:执行代码
          ○栈空间:栈内存,以栈数据结构为模型的一小段数据空间(弹夹)
          ○栈帧:栈空间内的元素。(弹夹的子弹)
          ○栈底元素:栈空间内最下面的栈帧
          ○栈顶元素:栈空间内最上面的栈帧
          ○压栈:向栈空间放入栈帧的过程
          ○弹栈:从栈空间弹出栈帧的过程
          ○先进后出
    ●堆区/堆内存:保存对象
  7. 运行机制
    ○javac编译代码成.class文件
    ○代码,先被加载到静态区
    ○栈内存会自动调用main方法===把main方法压栈
    ○如果说main方法里面不再调用其他方法,直接弹栈main(销毁),程序结束
    ○如果说main方法里面有其他的方法,继续压栈其他的方法。
    ○然后依次运行,依次弹栈,最终弹出main,程序结束。
  8. 递归:
    自己调用自己
  9. 递归特性:

    ○必须有可最终达到的终止条件,否则程序将陷入无穷循环; 
    ○子问题在规模上比原问题小,或更接近终止条件; 
    ○子问题可通过再次递归调用求解或因满足终止条件而直接求解; 
    ○子问题的解应能组合为整个问题的解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值