In diesem Artikel werden die Wissenspunkte von Schleifenstrukturen separat organisiert:
Wie bereits erwähnt, sind Schleifenstrukturen unterteilt in: for-Schleife, while-Schleife, do... while-Schleifen sind die drei grundlegendsten Schleifenstrukturen; nach JDK 1.5 gibt es auch eine foreach-Schleife zum Durchlaufen von Arrays und Sammlungen.
Die vier Komponenten der Schleifenanweisung:
Initialisierungsteil
Schleifenbedingungsteil
Schleifenkörperteil
Iterationsteil
for (Initialisierungsbedingung; Schleifenbedingung; Iterationsteil){
Schleifenkörper
}
1 public class TestFor {2 public static void main(String[] args) {3 //基础for循环,讲一个语句打印多次4 for(int i=0; i<7; i++){5 System.out.println("Hello World!! 第"+i+"次打印");6 }7 }8 }
Übung: Drucken 1- Alle geraden Zahlen in 100
1 public class TestFor { 2 public void PrintNum(){ 3 for(int i=1; i<=100; i++){ 4 if(i%2==0){//对2取余,若为0则证明是偶数,执行打印语句,反之则继续循环直到满足偶数条件或者i>0 5 System.out.println("i="+i); 6 } 7 } 8 } 9 public static void main(String[] args) {10 TestFor testFor = new TestFor();11 testFor.PrintNum();12 }13 }
Übung: Schreiben Sie Code für eine Schleife von 1 bis 150 und geben Sie in jeder Zeile einen Wert aus. Außerdem müssen Sie „foo“ drucken „biz“ in jeder Zeile, die ein Vielfaches von 5 ist,
drucken Sie „baz“ in jeder Zeile, die ein Vielfaches von 7 ist
1 public class TestFor { 2 public void FooBizBaz(){ 3 for(int i=1; i<=150; i++){ 4 System.out.print(i+":"); 5 if(i%3 == 0){ 6 System.out.print(" foo"); 7 } 8 if(i%5 == 0){ 9 System.out.print(" biz");10 }11 if(i%7 == 0){12 System.out.print(" baz");13 }14 System.out.println();15 }16 }17 public static void main(String[] args) {18 TestFor testFor = new TestFor();19 testFor.FooBizBaz();20 }21 }
Hinweis: Beachten Sie unbedingt, dass else if(){} in dieser Frage nicht verwendet werden kann. Sobald es verwendet wird, ist es unmöglich, drei Felder gleichzeitig in mehreren Zeilen zu drucken, die ein Vielfaches von 3, 5 und 7 sind Denn sobald die Beurteilungsbedingung erfüllt ist, wird die folgende if-Beurteilungsanweisung nicht ausgeführt und die aktuelle Schleife wird direkt übersprungen, um die nächste Schleife auszuführen.
Es gibt auch viele kleine grundlegende For-Schleifenalgorithmen, wie zum Beispiel das Drucken der Summe aller ungeraden Zahlen von 1 bis 100, das Ausdrucken aller Narzissenzahlen (Sie können selbst nach den Narzissenzahlen suchen), Diese Fragen können durch eigenes Üben dazu beitragen, Ihr Verständnis der for-Schleife zu stärken, daher werde ich hier nicht auf Details eingehen.
Initialisierungsbedingung
while (Schleifenbedingung) {
Schleifenkörper
Iterationsbedingung
}
Beispiel: Alle geraden Zahlen innerhalb von 1-100 ausgeben
1 public class TestWhile { 2 public void evenNum(){ 3 int i = 1; //初始化条件 4 while(i<=100 ){//循环条件 5 6 if(i % 2 == 0){ 7 System.out.println("i="+i); 8 }//循环体 9 10 i++;//迭代条件11 }12 }13 14 public static void main(String[] args) {15 TestWhile testWhile = new TestWhile();16 testWhile.evenNum();17 }18 }
Hinweis: Die for-Schleife und die while-Schleife können ineinander umgewandelt werden, da sie aus den gleichen vier Teilen bestehen, die vier Teile jedoch an unterschiedlichen Positionen platziert sind.
Eine andere Schleifenmethode der While-Schleife:
Do... While-Schleife:
Initialisierungsbedingung
tun{
Schleifenkörper
Iterationsbedingung
}while( Schleifenbedingung );
Wie aus der obigen Struktur ersichtlich ist, führt die do...while-Schleife zunächst eine Schleife aus, um festzustellen, ob die Schleifenbedingung erfüllt ist Wenn es erfüllt ist, fahren Sie mit dem nächsten Zyklus fort und stoppen Sie den Zyklus, wenn es nicht erfüllt ist.
Beispiel: Alle geraden Zahlen von 1-100 drucken
1 public class TestDoWhile { 2 public void evenNum(){ 3 int i = 1; 4 do{ 5 if(i % 2 == 0){ 6 System.out.println("i="+i); 7 } 8 i++; 9 }while(i <= 100);10 }11 public static void main(String[] args) {12 TestDoWhile testDoWhile = new TestDoWhile();13 testDoWhile.evenNum();14 }15 }
do...while和while循环的区别:
do...while循环中 初始化条件即使不满足循环条件也会直接执行一次循环体再进行循环条件判断,所以循环体至少被执行一次,而while循环是必须满足循环条件才会执行循环体。
顾名思义,嵌套循环就是再一个循环中还能再声明一个循环
几种嵌套方式:
1.for循环中能够嵌套一个for或多个for;
2.while循环中可以嵌套一个或多个while循环;
3.for循环中可以嵌套一个或多个while循环;
4.while循环中可以嵌套一个或多个for循环;
5.for循环中可以嵌套一个或多个for/while循环;
6.while循环中可以嵌套一个或多个for/while循环。
示例:
For之间嵌套
1 public class TestForFor { 2 /*打印出 ***** 3 * ***** 4 * ***** 5 * ***** 6 * */ 7 public void forQianTao(){ 8 for(int i = 1; i <= 4;i++){ 9 for(int j = 1; j<=5 ;j++){10 System.out.print("*");11 }12 System.out.println();13 }//此为两层循环,i用于控制打印的行数,j用于控制打印的列数14 }15 public static void main(String[] args) {16 TestForFor testForFor = new TestForFor();17 testForFor.forQianTao();18 }19 20 }
其它几种嵌套循环可以参考上面的示例,结构类似。自己可以进行练习,如通过嵌套循环打印九九乘法表、或者打印一个由星号组成的菱形图案,每个星号之间要有一个空格,这些题可以加强对嵌套循环的理解。
Das obige ist der detaillierte Inhalt vonBeispiel-Tutorial zur Java-Programmablaufsteuerung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!