Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
了解每个java循环的基本功能_Java - Fatal编程技术网

了解每个java循环的基本功能

了解每个java循环的基本功能,java,Java,在java中,我知道在这个站点上,诸如每个的或循环的增强的等主题以前已经讨论过,但我仍然不知道它们是如何工作的 比如说, String[] a = { "A", "B", "C", "D" }; String b = ""; for (String q : a) b = q + b; System.out.println(b); b输出什么 你能告诉我这是怎么回事吗 谢谢。输出为“DCBA” for-each循环类似于标准for-loop,它方便地分配给循环范围变量 您所写

在java中,我知道在这个站点上,诸如每个的
循环的增强的
等主题以前已经讨论过,但我仍然不知道它们是如何工作的

比如说,

String[] a = { "A", "B", "C", "D" }; 
String b = ""; 

for (String q : a) 
    b = q + b; 

System.out.println(b);
b
输出什么
你能告诉我这是怎么回事吗
谢谢。

输出为“DCBA”

for-each循环类似于标准for-loop,它方便地分配给循环范围变量

您所写的内容相当于:

for (int i = 0; i < a.length; i++) {
    String q = a[i];
    b = q + b;
}
for(int i=0;i
输出为“DCBA”

在每个循环中,q是数组的一个元素。然后你把它一个接一个地加到b的前面

b将输出“DCBA”

在循环中,遍历数组a中的每个字符串元素。自从您设置:

b = q + b
而不是:

b = b + q

,您遍历的每个新元素都被添加到先前包含在b中的元素之前,导致您向后添加数组中的每个字母。(如果你有后一个作业,你会有“ABCD”)。

当你尝试它时发生了什么?不,这只是我举的一个例子。我不知道如何在头脑中逻辑地解决这个问题,或者在头脑中“单步”解决它。为什么不尝试编译并运行它呢?从用打印q替换b=q+b开始。它的基本意思是:对于数组q中的所有元素,在屏幕上显示它。既然您了解了要遍历数组中的每个元素,那么考虑一下加法对字符串的作用吧?它将把string元素附加到b字符串的开头。从一个空字符串开始,得到元素“A”,再加上它,就得到了“A”。你对“B”也这么做,你得到“BA”…所以我投票结束这个问题,因为它没有显示出对所问问题的基本理解。