foreach和while的区别(编译之后) ?

解释一下foreach和while的区别(编译之后) 的区别

4个回答

应用场景不同。
foreach用于对数组、集合类进行循环处理,一个例子:

        int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
        foreach (int element in fibarray)
        {
            System.Console.WriteLine(element);
        }

while用于不确定循环次数的情况,一个例子:

int i=0;
while(i > 999){
   System.out.println(i);
   i = i+20;
}

至于性能上的差距,因为和多个因素相关(循环体内是否定义使用局部变量,循环处理的数据结构等)。
不能轻易的下结论谁优谁劣。
不是对性能要求特别苛刻的场合,也不用过于在意。

用心回答每个问题,如果有帮助,请采纳答案好吗,谢谢~~~

foreach加强for循环,已知循环次数,逐条读取,一般用于对象集合。 while循环不确定循环次数,逐行读取。只要满足条件就一直循环下去。

foreach 一次读取全部内容,while读一次显示一次

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
求助:perl语言while和foreach的区别
求助各位大神,perl入门学习中,以下代码分别用了foreach和while,为什么while各种无法达到要求呢?rn#!/usr/perl/bin/perlrnprint "Please enter the name of person you known(enter ctral z to quit):\n";rnmy %person_hash = (rn 'lucy' => 'qian',rn 'tina' => 'qi',rn 'lily' => 'zhang',rn);rnchomp(@name = );rnprint "name\t\tsurname\n";rnforeach(@name) #若是此处使用while,程序无结果...rnprint "$_\t\t $person_hash$_\n";
【perl】关于while和foreach的区别??
use strict;rnuse Net::FTP;rnmy $ftp=Net::FTP->new("127.0.0.1",Debug=>0);rn$ftp->login("anonymous",'');rn$ftp->ls;rn$ftp->type('I');rnmy @lines =$ftp->dir();rnwhile(my $record_file=<@lines>)rn print "\n$record_file\n";rnrnforeach my $record_file(@lines)rn print "\n$record_file\n";rnrn1、为什么foreach和while得到的结果不同,foreach能把每行的信息显示出来,while却把所有用空格分隔的字符打印出来,如何解决。rn2、我曾经看书上说foreach效率较低,而且非常占内存,如果是长期运行的程序是否需要修改为while?rn
关于while/for/foreach的区别问题
这三者都是用在循环里面的。比如遍历一个数组的时候,相比之下foreach就最方便。for还要另外对数组进行count才能循环,而while稍微简单,也要给数组加上一个each来逐个单选。rn我记得效率上foreach不是很高吧。不过看唠叨好像经常用的就是foreach,是不是因为这个最方便的?
PHP中循环控制语句while、do……while、for、foreach的区别
在PHP中,关于流程控制语句可以分为三类:条件控制语句、循环控制语句、跳转语句。 一、条件控制语句: if if……else elseif switch 二、循环控制语句: while do……while for foreach 三、跳转语句: break continue 1、while 语句 ...
foreach、while、for性能比较
foreach、while、for性能比较
for,while,Iterator,foreach性能
请问分别用for,while,foreach,Iterator遍历数据时rn谁的性能比较好,最好说明一下先后顺序,rn在好多地方的说法都不一样,不知道哪个对,所以请大家确认一下
for,while,do while区别
简单的理解for,while,do while的区别
请问 .while while的区别
他们都是伪指令吗?rn.while和while的区别是不是跟.if和if的区别一样rn我认为的.if和if的区别前者是运行时比较值,所以可以有变量和寄存器rn后者是编译时差错,所以只能有常量rn
do……while和与while的区别
学51单片机需要哪些C知识
foreach与for的区别
foreach语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。 foreach语句是C#里新增的循环语句,他对处理数组和集合等数据类型特别方便。 foreach语句的一般语句格式如下:
foreach和for的区别
<?php $fruit=array('苹果','香蕉','菠萝'); foreach($fruit as $key=>$value){ echo '<br>第'.$key.'值是:'.$value; } ?><?php $fruit=array('苹果','香蕉','菠萝'); for($index=0; $index<3; $index++){ echo '<br>数组第'.$i
for 和 foreach 的区别
平时用for循环最多,用foreach不是很多 rnrn只知道foreach循环是一个只读的循环rn而且感觉foreach像一个黑盒,你不知道它到底能够循环多少次;rn而 for 的话就很清楚的知道循环的次数rnrn其次,所有的for都可以用foreach代替吗?反过来所有的foreach都可以写出相应的for吗?rnrnrn其他还有什么区别,请大家讨论一下吧
while和for的区别
写这篇博客的目的在于希望有人要是知道的话下面评论分享一下哦 while 和for的区别: 记得一个老师说:Linux源代码都是用的while,他将while换成for不能执行。 原因好像是:用while的时候里面的数据编译之后其实是一个int8 类型,当执行到多少的时候就会返回来重新加(256),而for中,是int型的,每次加1,所以会一直加,要是将其换成for就会死循环来着,一个参考
FOR 与 WHILE 的区别
main ()rnint x=10,y=10,i;rnfor(i=0;x>8;y=++i)rnprintf("%d %d\n",x--,y);rn 结果为 10 10rn 9 1rnrnrnrnrn如果换成是rnmain ()rnint x=10,y=10,i=0;rnwhile (x>8)rn y=i++;rnprintf("%d %d\n",x--,y);rn 的话 结果是 10 0rn 9 1rnrnrn所以说 其区别是 FOR中的 表达式增量 是在第2次才执行的rnrnrn不知道我说的对不对啊rn
while和if的区别
最近在自我学习中,在一个案例中发现while条件和if条件还是有一些区别的,之前一直以为是相同的,这是一个很大的误区 while语句属于循环语句,在判断是,如果条件为true,则会继续判断,直到false为止,即会进行多次判断(除非一开始条件就是错的) if语句属于条件判断语句,如果条件是true,则继续执行,为false则跳出语句不执行,只会进行单次判断 while与if语句的最大的相同点是都有...
if 和 while的区别
前两天有人问if和while的区别,当时只说了while用于循环语句,而if用于判断和分支语句。  我们看两段程序 #include&amp;lt;iostream&amp;gt; using namespace std; int main() { int b = 6; int c = 0; while (b != 0){ c++; } cout &amp;lt;&amp;lt; c; return 0;...
while和for区别
课程目标:rn1、让初学者从小白开始,善于运用知识点,解脱学习的苦恼rn2、能够学习更多的工作中使用技巧,成为编程高手
for和while的区别?
遇见到题是这样子的:rnrn下列关于for循环和while循环的说法中哪个是正确的?( ) rnA.while循环能实现的操作,for循环也都能实现   rnB.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果   rnC.两种循环任何时候都可替换   rnD.两种循环结构中都必须有循环体,循环体不能为空rnrn感觉答案在A,B中,但是具体这两个之间的区别还是不太清楚,虽然比较基础,希望大家能告知,谢谢啦
IF和while的区别
String SQL1="select HostId from Invites where Emails='"+email+"'";rn ResultSet rs1=db.executeQuery(SQL1);rn if(rs1.next())rn String HostId=rs1.getString("HostId");rn rn String SQL2="insert into Friends(HostId,GuestManId) values('"+HostId+"','"+UserId+"')";rn db.executeInsert(SQL2);rn rn rn为什么把if(rs1.next())改为while(rs1.next())后 里的代码就不能够执行了那,rn
while 和 foreach遍历 效率问题
$sql=$empire->query("select * from member");rn while($r=$empire->fetch($sql))rn rn echo $r['username'].' ';//接受结果集rn rn这样没有问题rn////////////////////////////////////////rn$sql=$empire->query("select * from $dbtbpreenewsmember");rn$rows = mysql_fetch_array($sql);rn foreach($rows as $key => $value)rn echo $value.' ';rn rn这样就遍历一行rn////////////////////////////////////////rn$sql=$empire->query("select * from $dbtbpreenewsmember");rnwhile ($rows = mysql_fetch_array($sql))rn foreach($rows as $key => $value)rn echo $value.' ';rn rnrn[size=16px][b]第三种就遍历全部遍历出来了。rnforeach 比 while更能提升效率,可是第三种还是使用了while接受数组呀,这样跟直接while循环出来,再效率上还有什么区别吗?rnrn还有其他形式接受结果集吗?[/b][/size]
(十)while 和 do while的区别
while的语法是while(条件判断){执行函数} dowhile的语法是do{执行函数}while(条件判断) 假如用dowhile的时候 int i = -1; do { cout &lt;&lt; i &lt;&lt; endl; } while (i &gt;= 0); 显示结果是-1。 用while的时候 int i = ...
while 和 do while的使用及区别
使用 首先介绍while的使用,基本模式 while(循环条件){ 循环操作; } 例 private void testwhile(){ int i = 0; while (i &amp;amp;amp;lt; 5) { i ++; Log.e(TAG, &amp;amp;quot;i = &amp;amp;quot; + i); } } 输出结果 i
if、while、do while、for语句的区别
循环语句:设计一个程序,计算需要多长时间才能够存储一定数量的退休金,假定每年存入相同数量的金额,而且利率是固定的。 解析:需要从键盘输入给定的退休金变量goal作为条件,从键盘输入每年发放的退休金额(payment)和利率(rate)。定义一个insert变量,计算每年的存入的退休金额,将insert与原定的退休金做比较,insert=(每年发放的退休金*利率)/100,再定义一个变量balan...
PHP 循环语句 while、do...while、for、foreach
PHP 循环语句 while、do...while、for、foreach
C# for while foreach 循环 问题。
C#中有那几种方式可以代替循环,通常在不影响性能的情况下,程序最多可循环多少次,rn循环数量过多影响了性能,应该处理,补救对性能的影响,如何避免程序出现多次循环。
while(true)和while(scanner.hasNext())区别
使用while(true)时总会提示runtime error,而换成while(scanner.hasNext())时则不会出现,不知是什么原因,请教各位大神指导,谢谢啦.
循环语句for 、while、do while的区别
在编程语言中我们经常会用到循环语句,循环语句常用的有三种,for 、while、do while,那么我们在用的时候应该如择用哪一个呢?我们以对一个数字n,求1+2+3+...+n为例,做以下实验,分别用三个语句来实现它。1、for语句我们定义一个变量tmp,tmp保存和的值,再定义一个i,让i通过for循环,从i到n遍历,tmp累加i的值。int main() { int tmp = 0; ...
while(p)与while(*p)的区别
p=首个数据节点指针 while(p) { //操作 p=p-&amp;gt;next; } while(p) 等价于while(p !=0) 检查的是p值是不是0,或者是不是空指针,如果是,则跳出循环,不再继续循环体 而while(*p) 相当于while( *p != 0) 检查的是p所指向的地址中的数据是否为0,但前提是p不能为NULL...
while(t--)和while(--t)的区别
int t;t=1; while(t--) { cout<<"hello"<<endl; }这时候会输出一次hello; int t;t=1; while(--t) { cout<<"hello"<<endl; }这时不会输出hello;这两段代码主要的区别是前者是后减,主要是先判断t在–;后者代码主要是先–再判断
函数执行效率测试(foreach、for、while)
一般来说,我们都认为在遍历数组的时候,foreach有着无可匹敌的优势, 而for和while两者之间的执行效率则没有太大的差别。 事实如何,我将借助foreach、for、while三个函数来说明如何测试函数的执行效率。 注:案例出自《高性能PHP应用开发》 测试代码如下: $items = array_fill(0,100000,'1234567890'); reset($it
[仅供个人参考系列]php中的for,foreach,while区别与联系
循环数字数组时,for需要事先count($arr)计算数组长度,需要引入自增变量$i,每次循环都要进行条件判断$i&amp;lt;$c,然后自增$i++,输出数组元素时,$arr[$i]需要进行哈希操作.而foreach循环数组时,指针会自动指向下一个元素,不需要计算数组长度,没有条件判断和自增变量,调用元素时也没有哈希操作,所以性能肯定要比for和while高.另外,for和while对存在键值映射的...
foreach和map的区别
map一个是Transformation foreach是action map()是将函数用于RDD中的每个元素,将返回值构成新的RDD。而foreach是我们的方法被传入了迭代器foreach(每个元素遍历执行一次函数)...
foreach 与 for循环数组的区别
[code=&quot;php&quot;] $currentTask['status'] = 1; $courseList = array( array(&quot;Type&quot;=&gt;0,&quot;Name&quot;=&gt;'准备出发',&quot;Value&quot;=&gt;&quot;1&quot;), array(&quot;Type&quot;=&gt;0,&quot;Name&quot;=&gt;'途中',&quot;Value&quot;=&g
forEach 与 map的区别
1、forEach()返回值是undefined,不可以链式调用。 2、map()返回一个新数组,原数组不会改变。 3、没有办法终止或者跳出forEach()循环,除非抛出异常,所以想执行一个数组是否满足什么条件,返回布尔值,可以用一般的for循环实现,或者用Array.every()或者Array.some(); ...
forEach,for 循环的区别
1、arr.forEach(function(item){ console.log(item);//item为arr数组的内容,forEach不能return }); 2、for(let key in arr){//key会变成字符型,而且会打印数组的私有属性 console.log(key); } 3、for(let a of arr){//支持return 并且是数组值(不能遍历对象) con...
forEach()和map()的区别和理解
1、在文章的开始先给大家介绍一下这两者的共同点,我们通常前者用的次数多一点,比较常见都是循环遍历数组中的每一项每一次执行匿名函数都支持三个参数,数组中的当前项item,当前项的索引index,原始数组input匿名函数中的this都是指window只能遍历数组2、关于forEach()敲黑板:没有返回值!!!!arr[].forEach(function(value,index,array){ ...
java中for与foreach的区别?
测试时碰到顺便总结如下 1.如果只是遍历集合或者数组,用foreach好些,快些。2.如果对集合中的值进行修改,就要用for循环了。其实foreach的内部原理其实也是Iterator,但它不能像Iterator一样可以人为的控制,而且也不能调用iterator.remove();更不能使用下标来访问每个元素,所以不能用于增加,删除等复杂的操作。举个例子:for(String aid:list)
forEach()和map()的区别:
相同点: 都是循环遍历数组中的每一项 forEach和map方法里每次执行匿名函数都支持3个参数,参数分别是item(当前每一项)、index(索引值)、arr(原数组) 匿名函数中的this都是指向window 只能遍历数组 接下来我们看看这两个方法 1.map()方法 map定义和用法: map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。 我的理解就是:原数组进行处理
map和foreach遍历的区别
1、map速度比foreach快2、map会返回一个新数组,不对原数组产生影响,foreach不会产生新数组,3、map因为返回数组所以可以链式操作,foreach不能。var ary = [12,23,24,42,1]; var res = ary.forEach(function (item,index,input) { input[index] = item*10; }) conso
for循环和foreach循环的区别?
//定义一个list集合 List list=new ArrayList(); list.add("aaa"); list.add("bbb"); list.add("ccc"); list.add("ddd"); /** * for循环遍历, * 依靠下标定位,int i的值即下标,查询的时候比较灵活, * 每循环一次就会调用一次getCount()来
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview