【www.30064.com】巡回的二种采用场景,初学者入门web前端

今天自个儿准备记录一篇有关遍历的博客,因为觉得它是大家未来工作最常用的一种格局了。比如说在四个模块里插入小图标,如京东网页左侧的小图标<i></i>。

巡回的三种采用场景:
1.循环体分明,循环次数也是规定的
2.循环体鲜明,循环次数不明确,可是循环继续的规范是规定的
兑现步骤:
1). 先把循环的作风搭出来.因为大家鲜明是循环.
2). 再把循环体写出来.
3). 在循环条件中写上循环继续的条件.
以此时候,你会发觉循环条件要用到的变量证明在循环体中
这正是说将以此变量申明在外场就能够.
3.遍历内定范围的数
福衢寿车步骤.:
遍历 n – m 之间的每一种整数.
1). 先注脚1个循环增i 暗中同意值是n
2). 循环条件写 i <= m
3). 在循环体中 循环增量i的值正是n-m之间的每3个整数.
4). 一定要记得在循环体前面自增循环增量.
int i = n;
while(i <= m)
{
i的值便是n – m 之间的平头,打字与印刷出来即可
i++;
}
4.找出钦命范围中符合特定条件的数
福寿齐天思路:
要找到n-m这几个范围之内的符合特定条件的数
1). 先遍历n-m之间的每三个数.
2). 判断遍历出来的数是否适合特定条件的.要是符合就拿出来.不然就滚蛋.
int i = n;
while(i <= m)
{
if(i符合特定条件)
{
就把i拿出来.
}
i++;
}
5.求累加和与平均值
落到实处步骤:
求 n – m 之间的每二个平头的丰盛和.
1). 先准备3个框遍量,用来保存累加和.(评释在循环外)
2). 再遍历n-m之间的每二个整数.
3). 将遍历出来的每1个数 累加到 框变量之中
4). 当遍历完毕之后,框变量中的数据就是n-m之间的每二个平头的充足和.
6.求1堆数的最大值大概最小值
落实步骤:
1). 摆擂台. 注解贰个擂台变量. (int max =INT32_MIN; int min
=INT32_MAX;)
2). 获得那1堆数中的每3个数,将那堆数中的每二个数遍历出来
3). 将遍历出来的数和擂台上的数进行相比,比得过就上 比但是就滚蛋.
4). 当遍历完毕现在,最终擂台上的数就是他俩中的最大数.
7.计数
1). 记录循环了略微次.
2). 记录了有个别条件满足了多少次.
落到实处步骤:
声称1个整型的变量,用来记录循环的次数
每循环1次自增.
8.穷举(二个三个的挨个试)
例如:
产生3个1-100的私下数.
写1段代码.判断这么些数是多少.
(供给用到continue只怕break关键字,贰个三个判断找到就终止)

对此初学者,想要入门web前端,要有丰富的信念和持之以恒,不然只会越走越远,笔者后天就深深的体味到。

PL/SQL提供了增进的流控制语句,用来对程序的推行流程进行控制

乖巧图中遍历也是必需的重点用法。

巡回利用注意:
1.循环次数不明显的循环.然则规定循环继续恐怕终止的条件.
while(1) break
for(;;) break
2.运用提议:
当循环次数鲜明的时候,大家一般景观下选拔for循环.
当循环次数不分明的时候.大家一般景色下行使while循环.

小编本是3个很拒绝代码的人,从前想过UI设计,不过在那段学习时光里,发现实际只要认真,代码并不是很难

透过流控制语句,大家得以编写制定更扑朔迷离的PL/SQL块。

遍历又是循环中最广大的难题。

——————————————————————————————————————————
两个根本字break和continue

【www.30064.com】巡回的二种采用场景,初学者入门web前端。为此作者整理了一套早先时代学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.
    会应声终止本次巡回 然后回去判断循环条件.

壹 、数组与聚集
数组:能存扬弃意两个同体系的数据

IF语句

譬如说,输出100-200之内的兼具数字,它的样本范围便是100-200,需求您各类把样本中的每三个数据取出来输出。

数据项:类型相同

IF语句是一种标准判断语句,它依据规则判断的结果实施不一的代码。

再比如说,将50-70里边的兼具数字相加求和,它的样本范围正是50-70,需求您各种把样本中的每三个数据取出来累加。

①每一个数据型都有贰个数码(索引或下标)

最简便易行的IF语句格式为:

那,正是遍历难点。

②数据的目录(下标)是1个int类型的数字

IF 条件 THEN

遇到遍历难点,绝大部分景观下,都亟待运用3个循环变量,它从样本的起初值(或结束值)初叶,每一次递增(或递减),那样,就足以取到每1个样书的多少。

③从0起先,依次为数据中每多少个数组项编号

  代码

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

数组的宣示与赋值

END IF;

//形式一:顺序遍历
for (int i =
样本初始值; i <= 样本截至值; i++)
{
//
每贰遍进入循环体,i,正是取出的在那之中1个样书数量
}

扬言:数据类型[
] 变量名;

如若条件建立,就推行内定的代码,不然执行IF语句前边的代码。

//方式二:逆序遍历
for (int i =
样本停止值; i >= 样本初步值; i–)
{
//
每二回跻身循环体,i,就是取出的里边2个样本数量
}

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

若是还供给在原则不树霎时实施此外的代码,则足以应用上边包车型地铁款式:

 

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

IF 条件 THEN

遍历在差异的场景有不的用途。有时候可能只需求领取在那之中的样本。里面只怕会停放if、while等内部循环大概判断语句。

读取数组的尺寸 变量名.Length 重返类型为int

  代码1

对数码的筛选、求和、计数(样本计数难点屡屡会和范本筛选难点联合使用。)方面选拔很广,对现在大家办事中相遇的相关题材也是很有救助的。

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

ELSE

www.30064.com ,在例子中,求质数是3个至极好的案例。

数组项的私下认可值:二个数组创制后,它每3个数组项的值为数组项项指标私下认可值。

  代码2

对此求质数而言,用遍历计数的法子比任何形式更便于精通和操作(至少小编是那样认为的)。这里就不现实描述了,借使感兴趣,你能够百度时而,那里比自身那里的表达尤其详实。

常见暗中同意值:数字类型
默许值为0
                     bool类型
暗中认可值为false
                     char类型
默许值为\0
                     string类型
私下认可值为mull(表示尚无任何数据)

END IF;

示例

那就是说当规则建立即进行代码l ,条件不树霎时实施代码2 。
在更复杂的情景下,要先后判断八个条件,那时要用到上面包车型客车款式:

始建一个长度为3的字符串数组,然后逐一为它的每一项赋值为a、b、c、,最终,输出该数组的长短

IF 条件1 THEN

统一书写

  代码1

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);

ELSIF 条件2 THEN

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

  代码2

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

贰 、数组的定长性

ELSE 

叁个数组成立后,它的尺寸固定不变

  代码n

int[ ]nums = new
int[5];
nums = new int [6];    
     不再动用上一个数组,重新确立1个长短为5的数组

END IF;

数组适用于数据数量稳定的气象

在实施上边的IF语句时,首先评定尺度l 。

顺应选拔数组的地方:保存100以内的有所质数
封存太阳系中装有已知行星的品质
保存标准扑克中的全部牌面数据
保留2个星期的具有日期
别的定长的数码场景

当条件l 创设刻实施代码l ,不然继续度量尺度2,假诺建立则履行代码2
,不然继续判断上面包车型客车标准化。
假设前方的口径都不树立,则执行ELSE前面包车型地铁代码n 。
上边提到的IF情势每便只实行三个原则的论断,如若那个规则建立,则执行相应的代码,不然继续判断下边的条件。
有时候必要1次判断多个标准,依据八个标准的归咎境况实行相应的代码,那就要用到基准的联合署名。
规格的协同有“与”和“或”三种样式。

不符合选拔数组的场合:保存三个班学生音信
保存一年中的全体日期
保存斗地主游戏中某玩家的手牌数据
封存游戏某玩家的武装消息
其他不定长的数额场景

“与”运算通过AND运算符连接八个标准,唯有当全数条件都建立即,整个条件判断才算创建。
要是有一个标准不创制,则全体条件判断不树立。
“与”运算的格式为

三 、数组的遍历

条件1 AND 条件2 AND 条件3 …

再一次行为:输出多个数组项

诸如,要总计1+2+3 +…+ 100的值,当和抢先500时停下,求正好使和超出500
的末段四个平头。
此刻能够协会多少个标准化,在那之中2个条件供给求和的数量低于等于100
,另多个原则供给求和的结果小于等于500
,只要那四个条件还要满意,就能够再三再四求和。
一旦个中贰个尺度不满意,则求和结束。
用以求和的PL/SQL块的代码如下所示。

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

在块中用到了LOOP循环。

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

DECLARE
i INTEGER:=0;
total INTEGER:=0;
BEGIN
LOOP
IF i<=100 and total<=500 THEN –假设三个规格都知足,则持续循环
i:=i+1;
total:=total+i;
ELSE –只要三个条件不知足,则脱离循环,总括截至
EXIT;
END IF;
END LOOP;
dbms_output.put_line(i);
END;

遍历

LOOP语句

概念:是指从数组的第壹项开首,依次取完整数组全部项

LOOP是一种循环语句,它使一些代码反复实践。

①兑现数组的遍历,能够动用循环

LOOP语句的中坚格式为:

②循环变量从0开始,依次取到数组的最大下标(数组的尺寸-1)

LOOP

③在循环体中,使用循环体变量作为下标,即可取出数组每一项的值

  循环体

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

END LOOP;

Console.WriteLine(arrays[i]);
}

假设不做特殊处理, LOOP中的代码将无界定地履行。

完整兑现代码

貌似能够用EXIT WHEN或者EXIT语句结束LOOP循环。
EXIT WHEN钦赐1个尺码,当规则满意时退出循环。

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(",");//输出一个逗号分隔

EXIT语句使循环停止,一般与IF语句结合使用。
比如,要总计1+2+3+…的值,当和超出500时停下,求正好使
和大于500的末梢三个平头,代码如下:

 

DECLARE
i INTEGER:=0;
total INTEGER:=0;
BEGIN
LOOP
i:=i+1;
total:=total+i;
EXIT WHEN total > 500;
END loop;
dbms_output.put_line(i);
END;

肆 、调换排序

在上述例子中,语句EXIT WHEN total >
500使妥当求和结果大于500时停下循环。

基于输入的数进行每一种排序:简化排序:如何把最小的数字,放置到数组索引未0的职位

那条语句能够用EXIT语句代替,那时急需用IF语句判断和是不是高于500:
IF total>500 THEN
EXIT;
END IF;

完毕格局:把第⑧个职分的数字拿出去依次和前边地方的数字进行相比较,假如比前面地方数字大,则交流地方

WHILE 语句 

全方位代码完成

WHILE语句的成效是依据规则判断的结果循环执行一部分代码,只要条件建立,则往往实践那段代码。

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;
}
}
}

WHILE语句的格式为:

 

WHILE 条件 LOOP

  

循环体

⑤ 、数组分析器

END LOOP;

代码示例:

在执行WHILE循环时,首先衡量圭表是不是建立,固然建立,则履行循环体。

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();

接下来再评定尺度,若是基准建立,接着执行循环体,直到条件不树立刻,循环截至。
譬如说,上面包车型地铁代码用来求表达式1+2+3+···+100的值。

 

DECLARE
i INTEGER := 1;
total INTEGER:=0;
BEGIN
while i<=100 LOOP
total:=total+i;
i:=i+1;
END LOOP;
dbms_output.put_line(total);
end;

六、集合

注:下边是应用WHILE 条件 LOOP 语句,转换为 LOOP IF 条件 THEN
语句写法如下:

多少:定长(用于保存固定数量的多寡)占内部存款和储蓄器少 遍历速度快

loop
if i<=100 then
total:=total+i;
i:=i+1;
else
exit;
end if;
end loop;

聚拢:不定长(保存的数码数量,能够在先后的履行进度中,不断的发生变化)
占内部存款和储蓄器多 遍历速度慢

因此地点三种完结方式的自己检查自纠,能够发现:

List集合

WHILE 语句没有结束判断的讲话,没有显式钦定退出循环的条件。

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

上面是使用EXIT WHEN语句退出循环体。
DECLARE
i INTEGER := 1;
total INTEGER:=0;
BEGIN
loop
if i<=100 then
total:=total+i;
i:=i+1;
end if;
exit when i >100;
end loop;
dbms_output.put_line(total);
end;

           赋值:变量名 = new
List<数据类型>();
//集合是不定长的之所以赋值是无需点名长度,赋值后长度能够转变

FOR 语句

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

FO凯雷德语句的坚守是点名2个起始值,一个终止值在这些界定内反复实践一段代码,并由贰个循环变量控制循环的实施
循环变量从开头值开始,每执行三遍巡回,循环变量自动加1或减1
,直到与终止值格外时,循环截止。

FOCR-V语句的格式为:

 

FO宝马X5 循环变量 IN [REVERSE ]起始值 ..终止值 LOOP
循环体
END LOOP

操作

注:关键字REVE本田CR-VSE 是反向操作。**

1.添法郎素:变量名.Add(要丰裕的多寡);

在FO昂科威语句中,在IN的末尾,从开首值开端到终止值之间的整数组成1个集结,集合中的成分依次加1

在实践FO奔驰G级语句时,循环变量先取集合中的第3个因素,执行1回循环体,然后逐一取集合中的每一种成分,分别施行一回循环体,直到把集合中的成分都取二回。
万一使用REVE帕杰罗SE
,则依据相反的一一取集合中的要素,即先取最后1个要素,然后挨家挨户取前边的成分,直到第②个因素。

譬如说,上述求表明式1+2+3 +…+ 100的代码能够改用FOPAJERO语句完成,代码如下:

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

DECLARE
total INTEGER:=0;
BEGIN
for i in 1 .. 100 LOOP
total:=total+i;
END LOOP;
dbms_output.put_line(total);
end;

2.插入成分:向聚集的钦定地点插入2个新的成分

从地点的例子能够见见,在FO驭胜循环中,循环变量不要求定义也不要求显式地将聚合中的成分赋给它也不必要展开标准化判断,所以用FOSportage语句编写的代码比较精简。

变量名.Insert(索引,要插入的多少);

须要专注的是,循环变量只可以在FOEvoque循环内使用。

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
数组或集合)
{
循环体
}

从数组或集合中,依次取出每一项的数据没取出一项数据,酒吧数据赋值个循环变量每三回赋值后,运转叁次循环体

代码示例

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();
}

 

无时无刻鼓励自身:

 

       埋头读书,抬头做人!

 

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

 

  懦弱的人只会犹豫,莽撞的人不得不引为烧身,唯有真正勇敢的人才能百战不殆

 

  大家那几个世界,从不会给二个伤心的落伍者颁发奖牌。

 

  海浪的风格,就是许数次被礁石击碎又很多闪地扑向礁石、

 

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

 

  松驰的琴弦,永远奏不出时期的强音。

 

  躺在被窝里的人,并不感觉太阳的温暖。

 

  不萧规曹随,不甘于平庸,就恐怕在勇于进取的奋斗中奏响人生壮美的乐间。

 

  不去耕耘,不去播种,再肥的肥田也长不出庄稼,不去加油,不去创建,再美的青春也结不出硕果。

 

发表评论

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

网站地图xml地图