2023.0705 学习记录(递归,var,foreach,Array)
递归
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