zoukankan      html  css  js  c++  java
  • 2020.10.3

    一、今日学习内容:方法(中)

    今天主要还是学习了一些有关方法的知识:

    1、可变参数的特点:

    只能出现在方法参数列表的最后

    “…”位于变量类型和变量名之间,前后有无空格均可。

    调用可变参数方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。

    2、“方法重载”的要点:

    满足以下条件的两个或多个方法构成“重载”关系:

    (1)方法名相同;

    (2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。

    注意:方法的返回值不作为方法重载的判断条件。

    3、递归

    一个递归的算法,会将同一个“大”问题的“规模”不断压缩,直到易于处理为止。往往体现为代码要处理的数据量在递归前后不断“递减”。

    递归的特点:

    (1)先从大到小,再从小到大;

    (2)每个步骤要干的事情都是类似的,只不过其规模“小一号”;

    (3)必须要保持递归调用的过程可以终结。

    递归编程的模式

    每个递归函数的开头一定是判断递归结束条件是否满足的语句(一般是if语句);

    函数体一定至少有一句是“自己调用自己”的。

    每个递归函数一定有一个控制递归可以终结的变量(通常是作为函数的参数而存在)。

    vs递

    要点:

    “递归”是“由后至前再回来”,要求第n项,先求第n-1项,……,倒推到前面的可计算出的某项,然后再返回。

    递推”是“从前到后”,先求第1项,然后,在此基础上求第2项,第3项,直至第n项,通常可以直接使用循环语句实现。

             每次自己调用自己时,此变量会变化(一般是变小),并传送给被调用的函数。

    4、处理大数字与浮点数: 

    由于计算机使用固定的位数来保存数值,因此,能处理的数值大小是有限的,当要处理的数值超过了这一范围时,计算机将会自动截断数值的二进制表示为它所能处理的最多位数,这将导致错误的处理结果。

    计算机不能精确地表达浮点数(特殊形式的除外),因此,当需要比较两个浮点数是否相等时,应该比较其差的绝对值是否在某个允许范围之内即可。

    二、遇到的问题:

          本周是二柱子四则运算的第三阶段,感觉本周的程序代码难度又增加了,还是得仔细琢磨,慢慢钻研。

    三、明日学习计划:

          看测试的代码,验证。

  • 相关阅读:
    java中的CAS
    浅谈尾递归
    LeetCode 第 222 场周赛
    LeetCode 第 216 场周赛
    C++代码整洁之道
    LeetCode 第 211 场周赛
    LeetCode 每日一题 51.N 皇后
    LeetCode 第 201 场周赛
    LeetCode 第 32 场双周赛
    [转]演讲实录丨DevOps之十倍速原则
  • 原文地址:https://www.cnblogs.com/marr/p/14170201.html
Copyright © 2011-2022 走看看