java基础---循环结构

 循环结构:

     for结构:

                 - 语法:

       ​    //      1         2         3

       ​       for(要素1;要素2;要素3){

       ​        语句块/循环体----------------反复执行的代码    4

       ​     }

               - 执行过程:

       ​           1243243243243243243......2

               - 代码演示:

   //for循环中的循环变量i,作用域仅在当前for中
       for(int i=1;i<=9;i++){
           System.out.println(i+"*9="+i*9);
       }
       for(int i=1;i<=9;i+=2){
           System.out.println(i+"*9="+i*9);
       }
       for(int i=9;i>=1;i--){
           System.out.println(i+"*9="+i*9);
       }
       
       for(int times=0;times<5;times++){
           System.out.println("行动是成功的阶梯");
       }
       System.out.println("继续执行...");
       /*
       执行过程:
       times=0  true  输出
           times=1  true  输出
           times=2  true  输出
           times=3  true  输出
           times=4  true  输出
           times=5  false for循环结束
           输出继续执行...
       */

for循环结构图: 

java基础---循环结构_第1张图片
       for的特殊格式

  int i=1;
       for(;i<=9;i++){
           System.out.println(i+"*9="+i*9);
       }
       for(int i=1;i<=9;){
           System.out.println(i+"*9="+i*9);
           i++;
       }
       for(;;){ //没有条件的循环就是一个死循环
           System.out.println("我要学习...");
       }
       
       for(int i=1,j=5;i<=5;i+=2,j-=2){
       }
       /*
         i=1,j=5  true
         i=3,j=3  true
         i=5,j=1  true
         i=7,j=-1 false
        */

 三种循环结构的选择规则:

     - 先看循环是否与次数相关:
     - 若相关----------------------------直接上for
     - 若无关,再看要素1与要素3是否相同:
     - 若相同------------------------直接上do...while
     - 若不同------------------------直接上while

   break:跳出循环

  for(int i=1;i<=9;i++){
       if(i==4){ //在某种特定条件下,提前结束循环
           break;
       }
       System.out.println(i+"*9="+i*9);
   }
   /* 
     i=1  true  1*9=9
     i=2  true  2*9=18
     i=3  true  3*9=27
     i=4  true
   */        

   continue:跳过循环体中剩余语句而进入下一次循环

   //输出9的乘法表,只要不能被3整除的
   for(int i=1;i<=9;i++){
       if(i%3!=0){
           System.out.println(i+"*9="+i*9);
       }
   }
   //输出9的乘法表,跳过能被3整除的
   for(int i=1;i<=9;i++){
       if(i%3==0){
           continue; //跳过循环体中剩余语句而进入下一次循环
       }
       System.out.println(i+"*9="+i*9);
   }
   /*
       i=1  1*9=9
       i=2  2*9=18
       i=3
       i=4  4*9=36
       i=5  5*9=45
       i=6
       i=7  7*9=63
       i=8  8*9=72
       i=9
       i=10
   */

 随机数

   public class Addition {
       public static void main(String[] args) {
           Scanner scan = new Scanner(System.in);
           int score = 0; //总分
           for(int i=1;i<=10;i++) { //10次
               int a = (int)(Math.random()*100); //加数a,0到99之间
               int b = (int)(Math.random()*100); //加数b
               int result = a+b; //存正确答案
               System.out.println("("+i+")"+a+"+"+b+"=?"); //1)出题
   
               System.out.println("算吧!----输入-1可提前结束");
               int answer = scan.nextInt(); //2)答题
   
               if(answer==-1){ //3)判题
                   break;
               }
               if(answer==result){
                   System.out.println("答对了");
                   score += 10; //答对1题,加10分
               }else{
                   System.out.println("答错了");
               }
           }
           System.out.println("总分为:"+score);
       }

嵌套循环:

   - 循环中套循环,常常多行多列时使用,一般外层控制行,内层控制列
   - 执行过程:外层循环走一次,内层循环走所有次
   - 建议:嵌套层数越少越好,能用一层就不用两层,能用两层就不用三层,若业务必须通过三层以上的循环才能解决,说明你的设计有问题
   - break只能跳出当前一层循环

   for(int num=1;num<=9;num++){ //控制行
       for(int i=1;i<=num;i++){ //控制列
           System.out.print(i+"*"+num+"="+i*num+"\t");
       }
       System.out.println(); //换行
   }
   /*
     执行过程:
       num=3
         i=1  1*3=3
         i=2  2*3=6
         i=3  3*3=9
         i=4  false
         换行
       num=2
         i=1  1*2=2
         i=2  2*2=4
         i=3  false
         换行
       num=1
         i=1  1*1=1
         i=2  false
         换行
    */

总结:

    循环结构主要有三种:for循环、while循环和do-while循环。

  1. for循环:for循环是一种常用的循环结构,用于重复执行一段代码块固定次数。for循环的语法格式为:

    for (初始化语句; 条件表达式; 更新语句) {
        // 循环体代码
    }
    

    初始化语句用于初始化循环控制变量,条件表达式用于判断是否继续执行循环,更新语句用于更新循环控制变量的值。

  2. while循环:while循环在循环开始时先判断条件是否成立,如果条件成立才执行循环体代码。while循环的语法格式为:

    while (条件表达式) {
        // 循环体代码
    }
    

    循环体代码执行完毕后,再次判断条件是否成立,如果成立则再次执行循环体代码,直到条件不成立时结束循环。

  3. do-while循环:do-while循环与while循环类似,但它是先执行一次循环体代码,再判断条件是否成立。do-while循环的语法格式为:

    do {
        // 循环体代码
    } while (条件表达式);
    

    循环体代码执行完毕后,再次判断条件是否成立,如果成立则再次执行循环体代码,直到条件不成立时结束循环。

         在循环中,可以使用break语句提前结束循环,或者使用continue语句跳过当前循环,直接进入下一次循环。循环中的控制语句可以嵌套使用,形成复杂的控制逻辑。

你可能感兴趣的:(java)