So erstellen Sie ein in Java für Schleife Verbesserte

Um zu verstehen, wie die Verwendung von Java verbessert für Aussage, prüfen, wie die Gesetze der Wahrscheinlichkeit zu arbeiten. Ihre Chance auf eine der beliebten US-Lotto-Jackpots zu gewinnen ist in etwa 1 in 135 Millionen.

Wenn Sie Ihr Viertelmillion Dollar-Haus zu verkaufen und das Geld verwenden, um Lottoscheine, Ihre Gewinnchance kaufen ist immer noch nur 1 in 540. Wenn Sie jeden Tag des Monats (Verkauf eines Hauses jeden Tag) spielen, ist Ihre Gewinnchance der Jackpot ist immer noch weniger als 1 von 15.

Zur Veranschaulichung der Idee der verbesserten für Anweisung, werden Sie vier Symbole zu sehen - eine Kirsche, Zitrone, eine Kumquat und eine Steckrübe.

Wenn Sie diese vereinfachte Spielautomaten spielen, können Sie eine beliebige von mehr als 60 Kombinationen spinnen - Kirsche + Kirsche + Kumquats, Steckrübe + rutabaga + Steckrübe, oder was auch immer. Das Ziel hier ist es, alle möglichen Kombinationen aufzulisten. Aber lassen Sie uns zuerst an einer anderen Art von Schleife einen Blick. Dieser Code definiert eine enum Typ für ein Symbole der Slot-Maschine und zeigt eine Liste der Symbole.

import static java.lang.System.out-Klasse ListSymbols {Enum Symbol {Kirsche, Zitrone, Kumquats, Steckrübe} public static void main (String args []) {für (Symbol leftReel: Symbol.values ​​()) {out.println (leftReel) -}}}

Dieser Code verwendet die Java for-Schleife verbessert. Das Wort # 147-enhanced # 148- Mittel # 147-en-hanced im Vergleich zu den Schleifen in früheren Versionen von Java. # 148- Die verbesserte für Schleife wurde in Java-Version 5.0 eingeführt. Wenn Sie die Java-Version 1.4.2 (oder so ähnlich) ausführen, können Sie nicht eine verstärkte Nutzung für Schleife.

Hier ist das Format der erweiterten für Schleife:

for (Type-Name Variablen : RangeOfValues) {Statements}

Hier ist, wie die Schleife das Format folgt:

  • Das Wort Symbol ist der Name eines Typs.

    Das int Typ beschreibt Werte wie -1, 0, 1 und 2. boolean Typ beschreibt die Werte wahr und falsch. Und das Symbol Typ beschreibt die Werte Kirsche, Zitrone, Kumquat, und Steckrübe.

  • Das Wort leftReel ist der Name einer Variablen.

    Die Schleife 15-1 definiert in Listing Graf ein ... sein int Variable. In ähnlicher Weise die Schleife 15-5 definiert in Listing leftReel ein ... zu sein Symbol Variable. Also in der Theorie, die Variable leftReel kann nehmen die vier auf jeder Symbol Werte.

  • Der Ausdruck Symbol.values ​​() Die vier Werte in dem Code steht.

    Um mich zitieren in dem vorherigen Punkt, # 147 in der Theorie, die variable leftReel kann nehmen die vier auf jeder Symbol Werte. # 148- Nun, die RangeOfValues Teil der für Erklärung wendet sich die Theorie in die Praxis. Dieses dritte Element innerhalb der Klammern sagt, # 147-Have so viele Schleifendurchläufe, da es Symbol Werte, und haben die leftReel Variable nehmen auf einem anderen Symbol Wert während jeder der Iterationen der Schleife # 148.

    So durchläuft die Schleife vier Iterationen - eine Iteration, in der leftReel hat einen Wert Kirsche, eine weitere Iteration in denen leftReel hat einen Wert Zitrone, eine dritte Iteration in denen leftReel hat einen Wert Kumquat, und eine vierte Iteration in denen leftReel hat einen Wert Steckrübe. Während jeder Iteration druckt das Programm die leftReel Variablenwert.

    bild0.jpg

Im allgemeinen ist ein someEnumTypeName.Werte() Ausdruck steht für die Menge von Werten, die eine bestimmte enum Variablentyp haben kann. Zum Beispiel können Sie den Ausdruck WhoWins.values ​​() zu beziehen sich auf die Zuhause, Gast, und weder Werte.

Der Unterschied zwischen dem Namen einer Art (wie Symbol) Und die Werte des Typs (wie in Symbol.values ​​()) Ist wirklich subtil. Glücklicherweise müssen Sie nicht über den Unterschied sorgen. Als angehende Programmierer, können Sie einfach das verwenden .Werte() Suffix in eine erweiterte Schleife des RangeOfValues Teil.

Menü