Java:解释这个for()循环参数的作用

Java:解释这个for()循环参数的作用,java,Java,有人能解释一下这个类中的for循环是做什么的吗?特别是带有(字符串person:people)的部分 谢谢。它被称为foreach语法。它与实现Iterable的数组和对象一起工作 对于数组(如下所示),它等效于以下代码: for (int i = 0; i < people.length; i++) { person = people[i]; // code inside loop } for(int i=0;i

有人能解释一下这个类中的for循环是做什么的吗?特别是带有(字符串person:people)的部分


谢谢。

它被称为
foreach
语法。它与实现
Iterable
的数组和对象一起工作

对于数组(如下所示),它等效于以下代码:

for (int i = 0; i < people.length; i++) {
    person = people[i];
    // code inside loop
}
for(int i=0;i
对于
Iterable Iterable
(如列表),它相当于:

for (Iterator<T> i = iterable.iterator(); i.hasNext(); ) {
    T next = i.next();
    // code inside loop
}
for(迭代器i=iterable.Iterator();i.hasNext();){
T next=i.next();
//循环内代码
}

这种代码模式非常常见,附加值也非常少,这种循环的缩写形式正式成为1.5版(也称为“java 5”)中java语言的一部分。

该函数将对集合中的每个人进行字符串比较,以查看人员字符串是否以查找字符串开头。例如,如果person是hivie7510,lookup是hivie,那么它将是true并将其打印出来。

lookup
是一个包含用户输入的字符串变量

假设用户输入名称“George”,它将包含名称“George”

people
是一组字符串,如“Jimmy”、“George”和“John”

For循环
中,将检查
人员
数组中的所有字符串,以查看它们是否以字符串“George”开头

如果
people
中的任何姓名以George开头,则会打印出完整的
person
字符串


打印的字符串可能包括“George Foreman”或“George Brett”

这意味着对于
人员中的每个
人员
(类型
字符串的数组中的元素
),请执行以下操作。这是java中foreach的语法

有关Stackoverflow的类似问题


  • 这是最重要的。它从Java5开始就存在了。

    在本例中,for循环在people数组上迭代。每个实例都存储在名为person的变量中。如果查找存储了“S”,那么person.startWith(loopup)将检查字符串person是否以S开头。因此,结果将是

    塞泽尔,查尔斯
    斯马瑟斯,霍莉
    史密斯,克里斯

    Smith,Brad

    根据评论判断,我会说它“
    显示以用户输入的字符串开头的所有名称”
    “这段代码看起来像是预定义人员集合上的搜索功能示例。我想他实际上是在询问for each循环的语法。:-)
    for (Iterator<T> i = iterable.iterator(); i.hasNext(); ) {
        T next = i.next();
        // code inside loop
    }