有关Java里面foreach的问题,我是小白,各位高手告诉下,谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关Java里面foreach的问题,我是小白,各位高手告诉下,谢谢相关的知识,希望对你有一定的参考价值。

public class Tautog //创建类
public static void main(String[] args) //主方法
int arr2[][] = 4, 3 , 1, 2 ; //定义二维数组
System.out.println("数组中的元素是:"); //提示信息
for (int x[] : arr2) //外层循环变量为一维数组
f or (int e : x) //循环遍历每一个数组元素
if (e == x.length) //判断变量是二维数组中的最后一个元素
System.out.print(e); //输出二维数组的最后一个元素
else //如何不是二维数组中的最后一个元素
System.out.print(e + "、"); //输出信息




我想问下if (e == x.length) //判断变量是二维数组中的最后一个元素这句里面,e是元素为什么可以和长度相等,这句该怎么解释啊?谢谢
那个说明我知道,可是如果最后一个是5,前面也有5,那当e是前面的5时也会出现判断错误的情况,这个最后一个是无论怎样都会输出,但这个是一个条件,区别在于后面那句,如果是最后一个那没有顿号,不是最后一个有顿号!

那句话写错了,他判断不了最后一个元素,像楼上说的这个例子正好最后一个元素是2,所以才相等,如果换个数就不等了,可以换成这样 if (e == arr2[arr2.length-1][x.length-1])就可以判断最后一个元素了 ,把这句话换成
if (e == x.length) //判断变量是二维数组中的最后一个元素

就可以了
参考技术A e是元素2,而x.length是数组长度2,如此而已,你将最后一个元素改为5,然后在if(e==x.length)中写System.out.println("最后一个元素");
System.out.printl(e);你看看最后一个元素是否会输出;
还有无论e==x.length是否成立,最后一个元素都会输出,你根本就无法判断e==x.length是否成立了。
参考技术B 这个算法是错的~~~我只能这么说,虽然结果一样 参考技术C 应该不能这样比较的
在这个例子中刚好最后一个元素是2,而且长度也是2
参考技术D 这个 你还是看看书吧 亲。。

以上是关于有关Java里面foreach的问题,我是小白,各位高手告诉下,谢谢的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的eclipse安装了能打开,但是里面的new中没有创建java project的选项,我是小白,不要笑我。

有关Java的JDK三种不同版本之间的区别

Java小白入门200例46之 foreach 语句

Java小白手记2:一些名词解释

Eclipse这个选项啥意思,我是java小白

有关游标的使用