2023.0705 学习记录(递归,var,foreach,Array)

发布时间 2023-07-05 23:30:40作者: 邓博文

递归

1.做一个累乘的递归

代码:

  public static int multiplications(int a)
          {
              if (a == 1)
              {
                  return 1;
              }
              return a * multiplications(a - 1);
          }

2.做一个1-2+3-4..递归

public static float Specialcalculation (float a)
        {
            if (a == 1)
                return 1;
            else
                if (a % 2 == 0)
                    return Specialcalculation(a - 1) - a;
                else
                    return Specialcalculation(a - 1) + a;
        }

3.意义,缺陷问题

  • 将小问题化简
  • 容易出现溢出,需一步步调试
  • 使用时,开辟空间
  • 尽量用for写,递归可读性难

4.var推断类型

系统根据前文推断出该变量的类型。

  • 方便数据类型长时方便定义
  • 需要注意代码可读性,不要到处用var

5.foreach

便捷循环数组内的东西

//如
foreach(var(数据类型)a(变量名,随便取)in sum(数组名))
{
  操作..
}

6.Array

所有数组的父类,

定义数组时,可以
Array a1 = new int[2];
Array a2 = new float[2];
Array a3 = new double[2];

当我们在写方法调用数组时,形参写数组可以写成Array
public static int xxx (Array b[])
当再次调用XXX方法时,可以调用任意的数组如:
xxx(new string[]{a,b})
xxx(new int[]{1.2})
xxx(new double[]{2.2,2.3}

59-64