粗略总结for循环与foreach()循环区别

for循环和foreach循环其实可以算得上是从属关系的,即foreach循环是可以转化成for循环,但是for循环不一定能转换成foreach循环。

下面简单介绍一下两种循环:

1.for循环

代码格式:

for(表达式1;循环条件;表达式2)

{

     循环体

}

代码含义:

首先运行表达式1;

然后判断条件是否为真,如果为真,则执行循环体,执行完后再运行表达式2;

接着再判断循环条件……直到循环条件为假才会结束循环。

注意事项:

表达式1:可以是任何代码,一定会执行且只会执行一次;

表达式2:可以是任何代码,在循环体执行后执行。

2.foreach循环

代码格式:

foreach(数据类型 变量 in 数组或集合)
{
循环体

}

代码含义:

从数组或集合中,依次取出每一项的数据,每取出一项的数据,就把数据赋值给循环变量,每一次赋值后,运行一次循环体。

注意事项:

foreach循环只能用于遍历数组和集合;

foreach循环也叫只读循环,在循环体中,不能更改集合或数组;

数据类型必须与数组或集合中的每一项的数据类型相同。

然而foreach循环和for循环有什么区别和优缺点呢?下面简单总结一下:

foreach循环                                                  for循环

只能用于遍历;                                           可以用于任何形式的重复行为;

不能更改循环目标;                                     在循环体中,可以进行任何操作;

遍历速度快,执行效率高。                            遍历速度慢,执行效率低 。

总结:若需要遍历集合或数组,并且遍历的过程中只需要读取而不会更改,使用foreach循环最合适,反之,则根据需要,选择其他循环。

原文地址:https://www.cnblogs.com/www-yang-com/p/8149555.html

时间: 2024-10-07 21:03:02

粗略总结for循环与foreach()循环区别的相关文章

for循环与foreach的区别

foreach 依赖 IEnumerable. 第一次 var a in GetList() 时 调用 GetEnumerator 返回第一个对象 并 赋给a, 以后每次再执行 var a in GetList() 的时候 调用 MoveNext.直到循环结束. 期间GetList()方法只执行一次. 1 2 3 4 5 6 7 8 9 10 11 12 13 foreach   (var a in GetList()) {     ... } = var a; IEnumerator  e 

php中for循环与foreach循环效率比较

昨日晚上,在不经意间听到别人说php中for循环效率比foreach高,尽量多用for循环可以提高php效率. 听到这个论调,我当时一愣,for每次循环前都要进行判断,而foreach只需在数组内部移动指针,for的效率会比foreach要高? ------------------- 今天特地写了个简单的脚本做了测试(以下结果皆采用多次测试后的平均值) $max = 100000; $arr = range(0,$max); $t1 = microtime(true); for($i = 0;$

for循环与foreach

注意点: for循环时,可以对集合进行操作,但foreach循环中,对集合进行操作会报错:                  for 循环可以获取下标 如下代码: package com.tt; import java.util.ArrayList;import java.util.List;import java.util.Objects; public class TextMain { public static void main(String[] args) {      List<St

Java 基础中for循环与while循环的语感

for(int i = X; i < y; i ++ ){ 循环体: }: 主要用于已知循环次数循环,可以节约2行代码和变量名重复使用,是java编程中最常用的循环. int n = 0; while(循环条件){ 循环体: n++; }: 主要用于未知循环次数的循环中,是除了for循环最常用的循环: JAVA 基础一定要吃透这两种循环,编程逻辑才不会混乱.

Python语法基础03(if语句,while循环与for循环)

if语句:语法:单分支if 判断条件:语句块 执行过程:首先执行判断条件,当条件成立则执行判断条件下面的语句块,若条件不成立,则不执行 双分支if 判断条件:语句块1else:语句块2执行过程: 首先执行判断条件,若条件成立则执行语句块1,若条件不成立,则执行语句2. 多分支if 判断条件1:语句块1elif 判断条件2:语句块2elif 判断条件n:语句块nelse:语句块执行过程:首先执行判断条件1,若成立则执行语句块1,若不成立,则执行判断语句2,若条件成立,则执行语句块2,若不成立,依次

C#语句二——循环语句(for循环与for循环嵌套)

循环:反复执行某段代码. 循环四要素:初始条件,循环条件,循环体,状态改变. for(初始条件;循环条件;状态改变) { 循环体 } break ——中断循环,跳出循环 continue——停止本次循环,进入下次循环. 注:●执行步骤:初始条件——循环条件——循环体——状态改变. ●死循环:出不来,一直在执行 for (; ; ) { Console.WriteLine("你好"); } 一.for循环例题 1.找出100以内与7有关的数并打印:(1).从1找到100(2).找出与7有

for循环与while循环的补充

1.通过循环可以用解决两类问题:  穷举:在不知道什么情况下才真的是我们需要的结果的时候,只能让它一个一个的情况都给走一遍.  迭代:在现有的条件下,根据规律,不断求解中间状况,最终推到出结果. 举例:公司给发了150元的购物卡,刚好想去超市购买洗发水(15元).牙刷(5元).香皂(2).只买着三个种类的商品,要求全部花完150元,有多少种买法,每种买法都是各买几样? <script> var sum=0; for(var x= 0;x<=10;x++) { for(var y =0;y

java之while循环与for循环

while循环和for循环两个循环可以相互转换 我们通过例子来看看. 首先第一个例子.?? 1.//输出1-10 public static void main(String[] args) { int i = 0; while (true) { if (i <= 10) { System.out.println(i++); } else { break; } } System.out.println("----------------------"); for(int j=1;

python while循环与for循环

今天刚看了一下python的while和for循环,所以打算记录一下: while语句是python中的循环条件语句,while 判断条件 : pass break 例如: i = 1 sum = 1 while i <= 9: j = 1 while j <= i: sum = j * i print "%d * %d = %d " % (i, j, sum), j += 1 i += 1 print "\n" while语句中时可以嵌套if语句的,可