遍历

今天我准备记录一篇关于遍历的博客,因为觉得它是我们以后工作最常用的一种方法了。比如说在一个模块里插入小图标,如京东网页右侧的小图标<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类型的数字

遇到遍历问题,绝大部分情况下,都需要使用一个循环变量,它从样本的起始值(或结束值)开始,每次递增(或递减),这样,就可以取到每一个样本的数据。

③从0开始,依次为数据中每一个数组项编号

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

数组的声明与赋值

//方式一:顺序遍历
for (int i =
样本起始值; i <= 样本结束值; i++)
{
//
每一次进入循环体,i,就是取出的其中一个样本数据
}

声明:数据类型[
] 变量名;

//方式二:逆序遍历
for (int i =
样本结束值; i >= 样本起始值; i–)
{
//
每一次进入循环体,i,就是取出的其中一个样本数据
}

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

 

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

遍历在不同的场景有不的用处。有时候可能
只需要提取其中的样本。里面可能会嵌入if、while等其中循环或者判断语句。

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

对数据的筛选、求和、计数(样本计数问题往往会和样本筛选问题合并使用。)方面应用很广,对以后我们工作中遇到的相关问题也是很有帮助的。

合并书写:数据类型[ ] 变量名 = new 数据类型[长度];
(数组的声明与赋值, 数据型的读取与修改, 读取数组的长度)

在例子中,求质数是一个非常好的案例。

数组项的默认值:一个数组创建后,它每一个数组项的值为数组项类型的默认值。

对于求质数而言,用遍历计数的方式比其他方法更容易理解和操作(至少我是这样觉得的)。这里就不具体叙述了,如果感兴趣,你可以百度一下,那里比我这里的解释更加详细。

常见默认值:数字类型
默认值为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]);
}

完整实现代码

相关文章

发表评论

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

*
*
Website