A3第三章第1节For循环入门

本文深入讲解了循环(for、while、do while)的基本语法及其应用案例,并探讨了数组的声明、使用与遍历方法,同时提供了实用的代码示例。
A3第三章第1节For循环入门第1节
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
//循环体语句;
}

最开始先执行“初始化表达式”(只是执行一次),然后循环执行:先判断“循环条件表达式”。如果为ture。则执行“循环体语句”,然后执行循环后的操作表达

A3第三章第3节For循环案例:1加到n(震撼的算法)第3节
方法1: int n=Console.ToInt32(textBox1.Text);//普通方法
int sum=0;
for(int i=1;i<=n;i++)
{
sum=sum+i;
}
MessageBox.Show(sum.ToString());//时间复杂度为O(n)
MessageBox.Show(convert.ToString(sum));//另一种写法
方法2:
int sum=n*(n+1)/2;//时间复杂度为O(1)//面试经常考试
MessageBox.Show(sum.ToString());

A3第三章第5节while循环第5节
while(条件表达式)
{
循环体;
i++;//循环后的操作表达式
}

每次循环前判断“条件表达式”,如果为true,则执行“循环体”,然后在进行下一次循环判断。
for和while在实现上可以互相代替,一般for用的频率比while高,在io、ADO.Net中用到while

A3第三章第6节dowhile和break、continue 第6节
1、do

{

循环体;
i++;

}

while(条件表达式);

 

2、先执行一次“执行语句”再判断“条件表达式”决定是否进入下次循环。

演示,使用do while实现打印五遍“如鹏网”

int x=0;

do

{

Console.WriteLine(“如鹏网”);

x++;

}

while(x<5);

3、do...while和while的主要区别:do...while的执行语句至少执行一次,while的执行语句可能一次都不执行。do...while用的更少。
4、break终止最近的循环------------------------------------------------------------
5、终止本次循环之后的代码,接着进行下一次循环。----------------------

A3第三章第7节数组的声明和使用

第三章第7节
1、数组是存储多个数组的容器
2、类型[ ] 数组名=new 类型[ 个数]
3、比如:int [] arr=new int[5];
string[] s2=new string[3];

4、读写方式:读:int x=arr[0];int y=arr[3];
写: arr[2]=9;
5、在读写的时候,数组名后的[ ]叫序号,又叫下标。指的是对第一个元素进行操作,从0开始,所以最后一个元素序号是 “个数-1”
6、第二种定义的方法,适应定义时就确定元素个数和内容,用的较少:int[]={2,34,5,6,4,45};
7、同样盘算一个字符串也是从0开始到Length-1
例如:
检查一串字符是否为全是数字
string a1="123213423dsafas";
for(int i=0;i<a1.Length;i++)
{
char c=a1[i];
if(char.IsDigit(c))
{
console.WriteLine("是数字");
}
else
{
console.WriteLine("不是数字");
}
}

A3第三章第8节数组的遍历及案例

第三章 第8节
1、对于int 、double、float等数组,没有赋值的元素被初始化为0;对于string等引用类型初始化为null
2、数组下标越界异常。不要超过数组的大小。不要去length
3、能否动态增加数组的大小?不能,要用List等。
4、可以通过arr.Length获取数组的长度,改写如下,这样避免了5写死的问题
(避免魔法数)
如:
FOR(int i=0;i<arr.Length;i++)//写成这样!!!
{
Console.WriteLIne(arr[i]);
}


FOR(int i=0;i<5;i++)//而不是这样的。。。
{
Console.WriteLIne(arr[i]);
}
5、

A3第三章第12节方法入门

第三章第12节
1、如果程序跟多地方都要计算一个数组的最大值,难道每次都要写一堆代码吗?抽象出方法(Method)/函数(函数);
2、方法主要的格式:
static 返回值类型 方法名(参数类型 参数1,参数类型 参数2.......)
{
}//返回值类型,与参数类型不一定是一样的
3、目前所有的方法都加上static,以后将why
4、封装一下getMax

A3第三章第14节数组案例讲解和练习说明

第三章第14节
1、方法就是一堆可以重复使用(复用)的代码段,执行过程中无法确定的数据以参数形式传递:方法的执行结果以返回值进行返回。不能在方法中定义方法;
2、方法可以没有参数;方法可以没有返回值(加void);方法中用return返回处理结果。执行return之后方法内部的代码就执行结束了;
3、如果没有返回值,则在需要执行结束的地方return;如果没写return,则在最后一句return;
4、方法中的局部变量,不能被调用的方法访问。如果真要访问只能通过参数传递值,并且只是相当于变量赋值,方法内部对参数的赋值不会影响调用者。方法也不能调用调用者的局部变量;
5、一个问题:不是所有的路径都有返回值。

A3第三章第16节可变长度数组params

第三章第16节
1、使用关键字params这样就可以自由调用
如:
int i=sum(32,23,3,4,343,443);

//这些参数其实还是以数组形式传递过去的,在sum看来,也是数组,只不过编译器会自动将这些,参数封装为数组,简化了调用,通过ILSpy可以看出来。

而不需要再通过先声明一个数组样式;
如:
int [] arr={32,23,3,4,343,443};
int i=sum(arr);
2、可变参数前边还可以有其他参数,只是保证可变参数是最后一个就行,
如:
sum(int name,params string[] data )

A3第三章第17节封装MessageBox及文档注释

第三章第17节
1、DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon); buttons为要显示的按钮,icon为显示的图标, DialogResult 为用户点击了哪个按钮
2、定义一个弹窗的方法以及调用该方法
如下:


if (ShowYesNo("真的要删除吗?"))
{
MessageBox.Show("开始删除");
}
else
{
MessageBox.Show("取消删除");
}

static bool ShowYesNo(string msg)
{
DialogResult ret = MessageBox.Show(msg, "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
/*
if (ret == DialogResult.Yes)
{
return true;
}
else
{
return false;
}*/
return ret == DialogResult.Yes;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静心物语313

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值