Maison  >  Article  >  Java  >  Exemple de didacticiel sur le contrôle de flux de programme Java

Exemple de didacticiel sur le contrôle de flux de programme Java

PHP中文网
PHP中文网original
2017-06-21 09:28:461236parcourir

Contrôle du flux du programme Java

Cet article organise séparément les points de connaissance des structures de boucle :

Comme mentionné précédemment, les structures de boucle sont divisées en : boucle for, boucle while, do... tandis que les boucles sont les trois structures de boucles les plus basiques ; les versions après JDK 1.5 fournissent également une boucle foreach pour parcourir les tableaux et les collections.

Les quatre composants de l'instruction de boucle :

  • Partie d'initialisation

  • Partie condition de la boucle

  • Partie du corps de la boucle

  • Partie itération

for boucle :

for (condition d'initialisation ; condition de boucle ; partie itération){

Corps en boucle

}

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 }

Exercice : Imprimer 1- Tous les nombres pairs dans 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 }

Exercice : Écrivez du code pour boucler de 1 à 150 et imprimer une valeur dans chaque ligne De plus, vous devez imprimer " foo", imprimer. "biz" sur chaque ligne qui est un multiple de 5,

imprimer "baz" sur chaque ligne qui est un multiple de 7

 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 }

Remarque : N'oubliez pas que else if(){} ne peut pas être utilisé dans cette question. Une fois utilisé, il sera impossible d'imprimer trois champs en même temps sur un nombre de lignes multiples de 3, 5 et 7. , car une fois que la condition de jugement est remplie, l'instruction de jugement if ci-dessous ne sera pas exécutée et la boucle actuelle sera sautée directement pour exécuter la boucle suivante.

Il existe également de nombreux petits algorithmes de base pour les boucles, comme l'impression de la somme de tous les nombres impairs de 1 à 100, l'impression de tous les nombres de narcisses (vous pouvez rechercher vous-même les nombres de narcisses), ces questions Peut Pratiquer par vous-même vous aidera à renforcer votre compréhension de la boucle for, je n'entrerai donc pas dans les détails ici.

boucle while :

 Condition d'initialisation

while (condition de boucle) {

Corps de la boucle

Condition d'itération

}

Exemple : afficher tous les nombres pairs compris entre 1 et 100

 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 }

Remarque : La boucle for et la boucle while peuvent être transformées l'une dans l'autre, car elles ont les quatre mêmes parties, mais les quatre parties sont placées dans des positions différentes.

Une autre méthode de bouclage de la boucle while :

do... while boucle :

Condition d'initialisation

faire{

Corps de la boucle

Condition d'itération

} while ( Condition de la boucle );

Comme le montre la structure ci-dessus, la boucle do...while effectue d'abord une boucle pour déterminer si la condition de boucle est remplie Si. il est satisfait, puis passez au cycle suivant et arrêtez le cycle s'il n'est pas satisfait.

Exemple : Imprimez tous les nombres pairs de 1 à 100

 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 }

其它几种嵌套循环可以参考上面的示例,结构类似。自己可以进行练习,如通过嵌套循环打印九九乘法表、或者打印一个由星号组成的菱形图案,每个星号之间要有一个空格,这些题可以加强对嵌套循环的理解。

 

 

 

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn