C#(15)Str字符串方法 重载 递归

2017-08-29  本文已影响0人  cGunsNRoses

8yue24

String  特殊的引用类型(类)

string 是一个封闭的类,不可以继承

本质上是一个char类型的一维数组

字符串修改操作时 都会开辟一个新的空间


String 字符串方法


ComparoTo 比较字符串大小

EndWith 是否以什么字符串结束 StartWith 以什么开始 返回值bool

Equals 两个字符串是否相同 返回值bool



StringBuilder类

StringBuilder有两个主要的属性:

· Length 指定字符串的实际长度

· Capacity 指定字符串在分配的内存中的最大长度

装箱与拆箱

装箱:把值类型转换成引用类型

拆箱:把引用类型转换成值类型

重载 (属于多态的表现方式之一)

方法重载实际上是方法名重载,即支持多个不同的方法采用同一名字

访问修饰符变化也没关系,也同样是重载。


实现方法的重载

1、方法名必须相同

2、参数必须不同

参数列表中对应类型不同,或者个数不同

方法重载只跟参数有关,跟返回值无关

递归  (如果要进行多次或不确定次数的操作,行为相同)

方法实现体内再次调用方法本身,通过出口在返回出来,必须要有出口


递归的条件:

1、有反复执行的过程(调用自身)

2、有跳出反复执行过程的条件(函数出口)

递归解决的问题:

(1)数据的定义是按递归定义的。(Fibonacci函数,n的阶乘)

(2)问题解法按递归实现

(3)数据的结构形式是三递归定义的。(二叉树的遍历,图的搜索)

注:递归函数的每次调用都需要栈来存储,如果次数太多的话容易造成栈溢出。

阶乘 : 一层一层往里执行,到出口之后 又返回 回来

http://www.jb51.net/article/32848.htm (递归方法详解) 

递归题目

吃桃子问题

public int tao(int day)

{if (day == 7)

{return 1;

}

int sum = (tao(day + 1)+1)*2;

return sum;

}

阶乘(factorial

public int  fac(int a){

if (a == 1) {

return 1;

}

int f = a * fac (a - 1);

return f;

}

递归九九乘法表

public static void multiplication(int a){

if (a == 1) {

Console.Write ("1*1=1");

} else {

multiplication (a - 1);

for (int i = 1; i <= a; i++) {

Console.Write (a + "*" + i + "=" + (a * i) + " ");

}

}

Console.WriteLine ();

}

Fibonacci数列

上一篇 下一篇

猜你喜欢

热点阅读