在C#和Java语言中for和foreach的区别详解

网友投稿 300 2022-11-20


在C#和Java语言中for和foreach的区别详解

for循环和foreach循环的区别

首先在这里声明一点,C#和java这两种语言很相似,尤其是初学的数据类型那一部分,所以这里写的for和foreach的区别在C#和Java中都适用。

我会在下面分别列出两种语言的for和foreach分别循环打印一个数组,大家可以看看区别

话不多说,直接上代码:

//c#

//先创建一个数组

int[] arr = new int[3] {99, 11, 22};

//利用for循环打印(可以创建一个变量 i;判断这个i是否小于数组的长度;每次循环i自增1)

// (并且中间这个值是一个布尔值)

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

{

//这里是循环体,我们让每次循环都输出数组的第i个数。

Console.WriteLine(arr[i]);

}

//foreach的括号里有四个变量(数据类型 http://变量名 in 数组名)

foreach(int name in arr)

{

Console.Write(name + ",");

}

//Write输出完成后不会换行,writeLine则会换行。

//加这个逗号是为了输出时把两个数字区分开

//可以在最后加一行等待读取,让控制台不要直接关闭。

Console.ReadKey();

———————以上是C#的循环输出遍历数组,下面是Java的 ————————

//Java

int[] arr = new int[3] {88, 66, 55};

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

{

System.out.println(arr[i]);

}

foreach(int name in arr)

{

System.out.print(name + ",");

}

//print输出完成后不会换行,println则会换行

//java比C#的这点就很方便,不用再最后一行加个等待输入来看最后结果。

//不过在vs2019中好像已经更新了,不会自动关闭,小伙伴们可以自己试试OCszBkKw。

Java语言中和C#所需要注意的重点是一样的,就在下面,只不过输出有所区别。

看到这里很多新手可能都会觉得for循环简单一些,其实并非这样,之所以会有人这么认为是因为初学者已经习惯了一种循环,突然转变一种不太习惯,并且不能理解括号中四个值的含义,所以宁可用for

针对这一问题可以这么理解

for和foreach都是循环,新手可以认为for包含foreach,因为foreach只适用于循环数组。foreach并不是比较难,而是为了在遍历数组时更加的简单,就单纯的看遍历数组确实foreach更加简单一点。for循环确实是功能多一些,在很多地方都可以用得到,这一点foreach是做不到的,所以由此可见,foreach只适合遍历数组。

这里有表格可以帮助理解:

for

foreach

适用范围

任何可以循环的地方

仅在遍历数组时

难 度

⭐⭐⭐

变量个数

3个

要写的值

(创建变量;判断是否继续循环;自增)

(数据类型 变量名 in 数组名)

值的变化

三个变量都需要根据不同的情况做出不同的调整

只有数据类型需要注意,一般为int(double)或者var

其中foreach中的4个值很简单,希望对大家有所帮助

for循环的三个变量都是须要根据不同情况而有所改变的,foreach中的值虽说有4个,但那不是变量,基本都是固定的,只需要填写对应的数据类型,请外起一个名字,in是固定不变的,最后是要输出的数组名,另外起的名字是什么就在循环体中输出这个名字。千万不要直接输出数组名!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MyBatis Plus 将查询结果封装到指定实体的方法步骤
下一篇:详解关于mybatis
相关文章

 发表评论

暂时没有评论,来抢沙发吧~