循环的两种接受场景,功底知识

后天自家筹划记录风流浪漫篇有关遍历的博客,因为以为它是我们今后事业最常用的意气风发种情势了。比方说在三个模块里插入小Logo,如京东网页左侧的小Logo<i></i>。

循环的三种选用处景:
1.循环体分明,循环次数也是明显的
2.循环体分明,循环次数不明显,可是循环继续的规范化是鲜明的
贯彻步骤:
1). 先把循环的气派搭出来.因为大家规定是循环.
2). 再把循环体写出来.
3). 在循环条件中写上循环继续的条件.
这时候,你会发掘循环条件要用到的变量申明在循环体中
那正是说将这些变量注脚在外围就能够.
3.遍历钦赐范围的数
兑现步骤.:
遍历 n – m 之间的每1个整数.
1). 先声明1个循环增i 私下认可值是n
2). 循环条件写 i <= m
3). 在循环体中 循环增量i的值正是n-m之间的每1个整数.
4). 应当要记得在循环体前面自增循环增量.
int i = n;
while(i <= m)
{
i的值就是n – m 之间的卡尺头,打印出来就能够
i++;
}
4.找寻内定范围中切合特定条件的数
福寿齐天思路:
要找到n-m那几个范围之内的适合特定条件的数
1). 先遍历n-m之间的每1个数.
2). 判定遍历出来的数是否切合特定条件的.假若切合就拿出来.不然就滚蛋.
int i = n;
while(i <= m)
{
if(i符合特定条件)
{
就把i拿出来.
}
i++;
}
5.求累计和与平均值
金玉锦绣步骤:
求 n – m 之间的每三个卡尺头的丰裕和.
1). 先希图1个框遍量,用来保存累积和.(注解在循环外)
2). 再遍历n-m之间的每二个整数.
3). 将遍历出来的每1个数 累计到 框变量之中
4). 当遍历达成以往,框变量中的数据便是n-m之间的每多少个偏分头的拉长和.
6.求1堆数的最大值只怕最小值
兑现步骤:
1). 摆擂台. 注脚1个擂台变量. (int max =INT32_MIN; int min
=INT32_MAX;)
2). 得到那1堆数中的每1个数,将那堆数中的每1个数遍历出来
3). 将遍历出来的数和擂台上的数进行比较,比得过就上 比不过就滚蛋.
4). 当遍历完成之后,最终擂台上的数正是她们中的最大数.
7.计数
1). 记录循环了略微次.
2). 记录了有个别条件满意了多少次.
福寿无疆步骤:
宣示1个整型的变量,用来记录循环的次数
每循环1次自增.
8.穷举(1个1个的挨个试)
例如:
爆发1个1-100的随便数.
写1段代码.剖断这几个数是多少.
(须求用到continue可能break关键字,二个一个肯定找到就得了)

对此初读书人,想要入门web前端,要有丰硕的信心和坚持不渝,不然只会越走越远,笔者昨天就深深的认识到。

乖巧图中遍历也是必备的机要用法。

巡回使用注意:
1.循环次数不明确的循环.不过规定循环继续或然终止的条件.
while(1) break
for(;;) break
2.接纳建议:
当循环次数明确的时候,大家平时情况下采用for循环.
当循环次数不显然的时候.大家日常景观下行使while循环.

本人本是三个很谢绝代码的人,早前想过UI设计,不过在此段学习时光里,开掘实际上即便认真,代码并非很难

遍历又是循环中最分布的主题材料。

——————————————————————————————————————————
八个主要字break和continue

故此本人收拾了生机勃勃套中期学C#的知识点,对于后期学习JavaScript有异常的大的支援。

所谓遍历,是指有有些范围的样板数,供给把样品中的每个数据收取来意气风发一剖析。

  1. break
    1).
    能够运用在switch-case的case代码块中.代表立时终止switch-case结构.
    2). break还足以用在循环体中.
    设若在循环体中相遇了break.就能够立即终止近来以此轮回结构.
    在循环体的里边能够直接停止近年来循环.
    当遭遇了break 是立时、立刻、立即、今后、now截止近期轮回结构.
    纵然break前边还会有循环体代码不会试行.
    3). 结束循环的点子(三种)
    a. 判别循环条件获得假而截止.
    b. 在循环体的里边使用break甘休.
  2. continue
    1). continue只可以选用在循环体中.
    2). 在循环体中.借使遭受了continue.
    会及时终止本次巡回 然后回来判别循环条件.

生机勃勃、数组与聚集
数组:能寄存放肆八个同品种的数据

譬喻说,输出100-200之内的兼具数字,它的样本范围就是100-200,需求您各样把样本中的每二个数据抽出来输出。

数量项:类型相像

再比方说,将50-70时期的有所数字相加求和,它的样板范围正是50-70,必要您种种把样品中的每三个数据收取来累计。

①每八个数据型都有二个编号(索引或下标卡塔尔

那,正是遍历难题。

②数据的目录(下标卡塔 尔(阿拉伯语:قطر‎是三个int类型的数字

欣逢遍历难点,绝半数以上景观下,都必要使用叁个循环变量,它从样品的起头值(或甘休值卡塔尔国起首,每一次依次增加(或依次减少卡塔 尔(英语:State of Qatar),那样,就能够取到每三个样板的数额。

③从0带头,依次为数量中每多个数组项编号

遍历难题的通用循环格式如下:

数组的申明与赋值

//形式生机勃勃:顺序遍历
for (int i =
样板初叶值; i <= 样板结束值; i++)
{
//
每三遍步入循环体,i,就是抽取的个中叁个样书数量
}

宣称:数据类型[
] 变量名;

//情势二:逆序遍历
for (int i =
样品截至值; i >= 样板起首值; i–)
{
//
每一次步向循环体,i,就是抽出的中间叁个样书数量
}

赋值:变量名 = new
数据类型[长度](长度为int类型)

 

数据型的读取与修改:读取:变量名[索引]
                                  修改
:变量名[索引] =
值;

遍历在分化的风貌有不的用场。不时候也许只必要领取此中的范本。里面或然会放到if、while等中间循环或许推断语句。

读取数组的长度 变量名.Length 再次回到类型为int

对数码的筛选、求和、计数(样品计数难点往往会和范本筛选难点联合使用。卡塔 尔(阿拉伯语:قطر‎方面利用很广,对之后我们做事中碰到的有关难题也是很有赞助的。

联合书写:数据类型[ ] 变量名 = new 数据类型[长度];
(数组的宣示与赋值, 数据型的读取与校勘, 读取数组的尺寸)

在例子中,求质数是二个格外好的案例。

数组项的私下认可值:贰个数组制造后,它每一个数组项的值为数组项项目标暗中认可值。

对此求质数来讲,用遍历计数的诀要比别的方式更便于驾驭和操作(最少作者是如此感到的卡塔 尔(英语:State of Qatar)。这里就不现实呈报了,假使感兴趣,你能够百度时而,这里比自个儿这里的分解特别详实。

司空眼惯暗中认可值:数字类型
暗中认可值为0
                     bool类型
私下认可值为false
                     char类型
暗中同意值为
                     string类型
暗中同意值为mull(表示尚无其余数据卡塔 尔(阿拉伯语:قطر‎

示例

制造一个长度为3的字符串数组,然后逐大器晚成为它的每生龙活虎项赋值为a、b、c、,最终,输出该数组的长短

统黄金时代书写

string[ ] strs = new
string[3];
strs[0] = “a”;
strs[1] = “b”;
strs[2] = “c”; sring[ ] strs
= {“a”,”b”,”c”};
Console.Write(strs.Length);
Console.Write(strs.Length);

int[ ] numbers = new
int[5];
numbers[0] = 3;
numbers[1] = -2;
numbers[2] = numbers[0] * 2

  • numbers[1];
    Console.WriteLine(numbers[3]);
    Console.WriteLine(numbers.Length);
    调整台输出4,5

二、数组的定长性

一个数组成立后,它的长度固定不改变

int[ ]nums = new
int[5];
nums = new int [6];    
     不再行使上三个数组,重新建构二个尺寸为5的数组

数组适用于数据数量稳固之处

切合选用数组的现象:保存100以内的装有质数
保存太阳系中有着已知行星的身分
保存标准扑克中的全体牌面数据
保存二个星期的具有日期
别的定长的数码场景

不合乎选用数组的光景:保存贰个班学子消息
封存一年中的全部日期
保存不闻不问地主游戏中某游戏发烧友的手牌数据
保存游戏某游戏的使用者的配备音讯
此外不定长的数目场景

三、数组的遍历

再度行为:输出一个数组项

代码书写格式:Console.WriteLine(arrays
[?]);其中?为索引

int i = ?;
变量i的变通范围:0~arrays,Length-1
也足以写成:i < arrays.Length

遍历

概念:是指从数组的第大器晚成项初叶,依次取完整数组全体项

①落到实处数组的遍历,能够接收循环

②循环变量从0在此以前,依次取到数组的最大下标(数组的尺寸-1卡塔尔国

③在循环体中,使用循环体变量作为下标,就能够取出数组每风姿罗曼蒂克项的值

for (int i = 0; i <
arrays.Length; i++)
{

Console.WriteLine(arrays[i]);
}

完全兑今世码

Console.Write("亲输入数组的长度:");
int len = int,Parse(Conesole,ReadLine());
//根据用户的输入创建数组,并遍历数组为其每一项赋值
int[ ] nums = 0; i < nums.Length; i++
{
Console,Write("请输入数组第"+ (i + 1) + "项的值:");
nums[i] = int.Parse(Console.ReadLine());
}
//遍历数组nums,依次输出数组中的值
Console.Write("数组的所有项是:");
for (int i = 0; i < nums.Length; i++)
{
Console.Write(nums[i]);
if (i < nums.Length - 1)//不是最后一项
Console.Write(",");//输出一个逗号分隔

 

四、沟通排序

借助输入的数举行各种排序:简化排序:怎么样把最小的数字,放置到数组索引未0的职分

兑现方式:把第4个职务的数字拿出来依次和后边地方的数字举办比较,如若比后边地点数字大,则调换个方式置

任何代码实现

for (int i = 0; i < numbers.Count - 1; i++)
{
for (int j = i + 1; j < numbers.Count; j++)
{ 
if(numbers [i]>numbers [j])
{
int temp = numbers[i];
numbers[i] = numbers [j];
numbers[j] = temp;
}
}
}

 

  

五、数组深入分析器

代码示例:

Console.Write("请输入数组的长度:");
int n = int.Parse(Console.ReadLine());
int[] nums = new int[n];
{

for (int i = 0; i < nums.Length; i++)
{
Console.Write("请输入数组的第" + (i + 1) + "项:");
nums[i] = int.Parse(Console.ReadLine());
}
Console.Clear();
}
for (int i = 0; i < nums.Length - 1; i++)
{
for (int j = i + 1; j < nums.Length; j++)
if (nums[i] > nums[j])
{
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
Console.Write("你输入的数字从小到大的排序是:");
for (int i = 0; i < nums.Length; i++)
{
Console.Write(nums[i] + " ");
}
Console.ReadLine();
{
Console.Write("你输入的数字其中是奇数的是:");
for (int i = 0; i < nums.Length; i++)
if (nums[i] % 2 != 0)
{

{
Console.Write(nums[i] + " ");
}
}
Console.ReadLine();
}
Console.Write("你输入的数其中是质数的是:");
for (int i = 0; i < nums.Length; i++)
{

bool isFind = false;

 for (int j = 2; j < nums[i]; j++)

{
if (nums[i] % j == 0)
{
isFind = true;
break;
}

}

if (isFind)
{

}
else
{
Console.Write(nums[i] + " ");
} 
}
Console.ReadLine();

 

六、集合

多少:定长(用于保存固定数量的数码卡塔 尔(英语:State of Qatar)占内部存款和储蓄器少 遍历速度快

汇集:不定长(保存的数据数量,能够在程序的进行进程中,不断的发生变化)占内部存储器多 遍历速度慢

List集合

创设:定义:List<数据类型>
变量名;

           赋值:变量名 = new
List<数据类型>();
//集结是不定长的之所以赋值是不须要点名长度,赋值后长度能够改造

           开端化器:变量名 =
new List<数据类型>{成分1,成分2,···,成分n,};

 

操作

1.添比索素:变量名.Add(要丰裕的多寡卡塔尔国;

List<int> nums = new
List<int> {3,5,7};
nums.Add(1);
nums.Add(3);

2.插入成分:向聚焦的钦点位置插入贰个新的成分

变量名.Insert(索引,要插入的多少卡塔 尔(阿拉伯语:قطر‎;

List<int> nums = neew
List<int> {3,5.7};
nums.Insert(1,10);

3.剔除成分:变量名.RemoveAT(索引卡塔尔国;删除钦赐索引地方的因素

变量名.Remove(数据);
删去群集中与填写的多少黄金年代致的首先个相配项

List<int> nums = new
List<int> {1,1,2,3,5};
nums.RemoveAt(2);
nums.Remove(1);

4.改产生分:改善成分中某贰个值

变量名[索引] = 值;

代码达成

int maxIndex = numbers.Count - 1;
Console.Write("请您输入一个要删除的下标(0-"+maxIndex +")");
int index = int.Parse(Console.ReadLine());
if (index < 0 || index > maxIndex)
{
Console.WriteLine("呀!你输入有误,下标超出范围了,按回车键继续");
Console.ReadLine();
}
else
{
Console.WriteLine("请你重新输入一个新的数字");
int newNum = int.Parse(Console.ReadLine());
numbers[index] = newNum;
}

 

5.赢得成分数量:集合的长短 变量名.Count

总括:在功效上,数组能完毕的保有机能集聚都能兑现行反革命之,集结能落到实处的一些意义,数据难以达成(数据,
集结, List集合)

c#的成团类型  

List Queue Stack LinkedList
HashSet 其他

七、foreach循环

代码格式

foreach(数据类型卡塔尔 变量 in
数组或集合卡塔 尔(英语:State of Qatar)
{
循环体
}

从数组或集结中,依次抽出每意气风发项的数目没抽取大器晚成项数据,歌厅数据赋值个循环变量每二次赋值后,运维二遍循环体

代码示例

foreach循环现实:功能高

foreach (int item in
numbers)
{

Console.WriteLine(item);
}

for循环现实:效能低

for ( int i = 1; i <
numbers.Length; i++)
{

Console.WriteLine(numbers[i]);
}

foreach和for的对比

foreach:只用于遍历,无法校勘循环目的,遍历速度快,施行效用高
for:可以用来别的款式的再一次行为,在循环体重,能够打开别的操作,遍历速度慢,实践功效低

如供给遍历和重新组合,何况遍历的经过中只必要读取而不会改变,使用foreach循环最合适,反之,则基于供给,选拔其它循环(foreach,
for)

八、集合管理器

代码:

ite(item + "t");
}
Console.WriteLine();

}

Console.WriteLine("*********************************************************");
Console.WriteLine("1.添加数据");
Console.WriteLine("2.删除数据");
Console.WriteLine("3.修改数据");
Console.WriteLine("4.升序排序");
Console.WriteLine("5.退出程序");
Console.WriteLine();
Console.Write("t" + "请您老选择一个序号(1-5):");
string input = Console.ReadLine();

if (input == "5")

{
break;
}
else if (input == "1")
{
Console.Write("请输入要添加的数字:");
int num = int.Parse(Console.ReadLine());
numbers.Add(num);
}
else if (input == "2")
{
Console.Write("请你输入要删除的数字:");
int num = int.Parse(Console.ReadLine());
numbers.Remove(num);
}
else if (input == "3")
{
if (numbers.Count == 0)
{
Console.Write("集合中没有要修改的元素哦?按回车键擦亮眼睛重新选择");
Console.ReadLine();

}
else
{
int maxIndex = numbers.Count - 1;
Console.Write("请您输入一个要删除的下标(0-"+maxIndex +")");
int index = int.Parse(Console.ReadLine());
if (index < 0 || index > maxIndex)
{
Console.WriteLine("呀!你输入有误,下标超出范围了,按回车键继续");
Console.ReadLine();
}
else
{
Console.WriteLine("请你重新输入一个新的数字");
int newNum = int.Parse(Console.ReadLine());
numbers[index] = newNum;
}
}
}
else if (input == "4")
{

for (int i = 0; i < numbers.Count - 1; i++)
{
for (int j = i + 1; j < numbers.Count; j++)
{ 
if(numbers [i]>numbers [j])
{
int temp = numbers[i];
numbers[i] = numbers [j];
numbers[j] = temp;
}
}
}
}
else
{ 
}
Console.Clear();
}

 

成天鼓劲自身:

 

       埋头读书,抬头做人!

 

  不登高山不知天之高也,不临深溪不知地之厚也

 

  懦弱的人只会动摇,莽撞的人只好引为烧身,独有真正勇敢的人手艺当者披靡

 

  我们以此世界,从不会给多少个可悲的落伍者颁发奖牌。

 

  海浪的作风,便是许多次被礁石击碎又比比较多闪地扑向礁石、

 

  鞋底磨穿了,不对等路走到了头。

 

  松驰的琴弦,长久奏不出时期的强音。

 

  躺在被窝里的人,并不以为太阳的温和。

 

  不安于,不甘于平庸,就或者在勇于进取的冲锋中奏响人生壮美的乐间。

 

  不去耕耘,不去播种,再肥的良田也长不出庄稼,不去奋多管闲事,不去创立,再美的青春也结不出硕果。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注