Java 我不知道';我不明白这个循环

Java 我不知道';我不明白这个循环,java,for-loop,switch-statement,stringbuilder,Java,For Loop,Switch Statement,Stringbuilder,我正在尝试用java构建一个纸牌游戏,我想让纸牌显示出它们的套装和号码,所以一个钻石的4应该是4(钻石),除了(钻石)应该是U+2666 unicode 我在书中举了一个例子来展示牌的套装,如下所示,但我真的不明白。我习惯于使用I

我正在尝试用java构建一个纸牌游戏,我想让纸牌显示出它们的套装和号码,所以一个钻石的4应该是4(钻石),除了(钻石)应该是U+2666 unicode

我在书中举了一个例子来展示牌的套装,如下所示,但我真的不明白。我习惯于使用I<0,I++的循环。有人能帮我解释一下,或者至少把它和正常的for循环比较一下吗?谢谢

或者,我可以使用switch语句来显示西装吗

private String getCardsDisplay() {
    StringBuilder cards = new StringBuilder();


    for (Card card : hand.getCards()) {
        cards.append(" ");
        cards.append(card.getRank());


        switch (card.getSuit()) {
            case CLUBS:
                cards.append("\u2663");
                break;
            case DIAMONDS:
                cards.append("\u2666");
                break;
            case HEARTS:
                cards.append("\u2665");
                break;
            case SPADES:
                cards.append("\u2660");
                break;
        }
    }
    return cards.toString();
}

这是一种特殊的循环,称为“for each”。这意味着它按顺序在hand.getCards()返回的数组或列表中循环每个对象。例如,如果它是一个读{“10”、“J”、“Q”、“K”、“A”}的卡片数组,它将获取卡片对象并按该顺序循环它们。它是为了方便程序员而编写的,它还使代码对理解“for each”的人更具可读性。

这是一种特殊的循环,称为“for each”。这意味着它按顺序在手动返回的数组或列表中循环每个对象。getCards()。例如,如果它是一个读{“10”、“J”、“Q”、“K”、“A”}的卡片数组,它将获取卡片对象并按该顺序循环它们。它是为了方便程序员而编写的,它还使代码对理解“for each”的人更具可读性。

这是一种特殊的循环,称为“for each”。这意味着它按顺序在手动返回的数组或列表中循环每个对象。getCards()。例如,如果它是一个读{“10”、“J”、“Q”、“K”、“A”}的卡片数组,它将获取卡片对象并按该顺序循环它们。它是为了方便程序员而编写的,它还使代码对理解“for each”的人更具可读性。

这是一种特殊的循环,称为“for each”。这意味着它按顺序在手动返回的数组或列表中循环每个对象。getCards()。例如,如果它是一个读{“10”、“J”、“Q”、“K”、“A”}的卡片数组,它将获取卡片对象并按该顺序循环它们。它是为了方便程序员而编写的,它还使那些理解“for each”的人更容易阅读代码。

这称为or循环。此循环迭代数组/集合的元素,而不是索引。例如,对于,此

 for (Card card : hand.getCards())
将迭代方法
getCards()
返回的数组/集合。元素的类型在
卡片
中指定。您将能够通过名称
card
访问每个元素,因此您可以从类
card
中调用方法,如

card.getRank()
这称为or循环。此循环迭代数组/集合的元素,而不是索引。例如,对于
,此

 for (Card card : hand.getCards())
将迭代方法
getCards()
返回的数组/集合。元素的类型在
卡片
中指定。您将能够通过名称
card
访问每个元素,因此您可以从类
card
中调用方法,如

card.getRank()
这称为or循环。此循环迭代数组/集合的元素,而不是索引。例如,对于
,此

 for (Card card : hand.getCards())
将迭代方法
getCards()
返回的数组/集合。元素的类型在
卡片
中指定。您将能够通过名称
card
访问每个元素,因此您可以从类
card
中调用方法,如

card.getRank()
这称为or循环。此循环迭代数组/集合的元素,而不是索引。例如,对于
,此

 for (Card card : hand.getCards())
将迭代方法
getCards()
返回的数组/集合。元素的类型在
卡片
中指定。您将能够通过名称
card
访问每个元素,因此您可以从类
card
中调用方法,如

card.getRank()
这是一个特殊的“增强for循环”。在Java 5之前的Java版本中,该循环将编写为:

Card[] cards = hand.getCards();
for (int i = 0; i < cards.length; i++) {
    Card card = cards[i];
    // the rest of the loop
}
Card[]cards=hand.getCards();
对于(int i=0;i
这有点麻烦。因此,当Java5问世时,它结合了一种新的语法来循环数组。这就是您在这里看到的。

这是一个特殊的“增强for循环”。在Java 5之前的Java版本中,该循环将编写为:

Card[] cards = hand.getCards();
for (int i = 0; i < cards.length; i++) {
    Card card = cards[i];
    // the rest of the loop
}
Card[]cards=hand.getCards();
对于(int i=0;i
这有点麻烦。因此,当Java5问世时,它结合了一种新的语法来循环数组。这就是您在这里看到的。

这是一个特殊的“增强for循环”。在Java 5之前的Java版本中,该循环将编写为:

Card[] cards = hand.getCards();
for (int i = 0; i < cards.length; i++) {
    Card card = cards[i];
    // the rest of the loop
}
Card[]cards=hand.getCards();
对于(int i=0;i
这有点麻烦。因此,当Java5问世时,它结合了一种新的语法来循环数组。这就是您在这里看到的。

这是一个特殊的“增强for循环”。在Java 5之前的Java版本中,该循环将编写为:

Card[] cards = hand.getCards();
for (int i = 0; i < cards.length; i++) {
    Card card = cards[i];
    // the rest of the loop
}
Card[]cards=hand.getCards();
对于(int i=0;i
这有点麻烦。因此,当Java5问世时,它结合了一种新的语法来循环数组。这就是你在这里看到的。

假设hand.getCards()返回一个数组(我称之为你的hand),那么整个for循环可以是:“对于你手中的每张卡,附加等级和西装”。它基本上遍历数组中的每个元素,并将每个元素作为卡对象。它被称为“增强的for循环”或“for-each”循环。G