循环语句有哪些
Java中有三种主要的循环结构:

while 循环
do…while 循环
for 循环

在Java5中引入了一种主要用于数组的增强型for循环。

一、for循环语句
虽然所有循环结构都可以用 while 或者 do…while表示,但 Java 提供了另一种语句 —— for 循环,使一些循环结构变得更加简单。

for循环执行的次数是在执行前就确定的。语法格式如下:

for(初始化语句;判断条件语句;控制条件语句) {
         //循环体语句;
    }

    for( int i = 0;i < 5 ;i++ ){
      //循环体
    }
    //for结束

执行流程:
1.执行初始化语句
2.执行判断条件语句,看其结果是true还是false:如果是false,循环结束;如果是true,继续执行。
3.执行循环体语句
4.执行控制条件语句
5.回到2继续
流程图:

代码举例:

1.从控制台输出100遍,“好好学习,天天向上!”

public class Test {
    
        public static void main(String[] args) {
            for (int i = 1; i <= 100; i++) {
                System.out.println("第"+i+"遍:好好学习,天天向上!");
            }
        }
    }

2.求出1-100之和
/*
需求:求1-100之和。
*/

public class Test {
        public static void main(String[] args) {
            // 保存1-100之和。
            int sum = 0;
            for (int i = 1; i <= 100; i++) {
                sum += i;
            }
            System.out.println("1-100之和是:" + sum);
        }
    }

3.求5的阶乘
/*
需求:求5的阶乘。
什么是阶乘呢?
n! = n*(n-1)! 规则
n! = n*(n-1)(n-2)…*3*2*1
*/

class ForTest2 {
      public static void main(String[] args) {
        //定义最终结果变量
        int jc = 1;
        //这里的x其实可以直接从2开始
        //for(int x=1; x<=5; x++) 
        for(int x=2; x<=5; x++) {
          jc *=x;
        }
        System.out.println("1-5的阶乘是:"+jc);
      }
    }

二、while循环语句
while是最基本的循环,它的结构为:

while( 判断条件语句 ) {
  循环体语句;
}

/**扩展格式**/
   初始化语句;
 while(判断条件语句) {
    循环体语句;
    控制条件语句;
 }

注意:只要布尔表达式(判断条件语句)为 true,循环体会一直执行下去。

特点:先判断,再执行

执行流程:

  1. 执行初始化语句
  2. 执行判断条件语句,看其结果是true还是false:如果是false,循环结束;如果是true,继续执行。
  3. 执行循环体语句
  4. 执行控制条件语句
  5. 回到2继续

流程图:


代码举例:

/**
* 实现:从控制台输出100遍 "好好学习,天天向上!"
**/
public class Test {
   public static void main(String args[]) {
      int x = 1;
      while( x <= 100 ) {
         System.out.println("第" + x +"遍:好好学习,天天向上!");
         x++;
      }
   }
}

for循环 与 while循环 的区别

for循环语句和while循环语句可以等价转换,但还是有些小区别的。

  1. 使用区别:
  • 控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
  1. 场景区别:
  • for循环适合针对一个范围判断进行操作(循环次数固定的情况)
  • while循环适合判断次数不明确操作(循环次数不固定的情况)
  1. 代码举例:
    问:我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?
    /*
    我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。
    请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?
    分析:
    A:定义一个统计折叠次数的变量,默认值是0
    B:最高山峰是珠穆朗玛峰:8848m这是最终的厚度
    我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度
    C:我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?
    折叠一次有什么变化呢?就是厚度是以前的2倍。
    D:只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++
    E:输出统计变量。
提示!此时循环次数不明确,所以选择 while循环比较合适。

*/

class WhileTest {
                 public static void main(String[] args) {
                   //定义一个统计变量,默认值是0
                   int count = 0;
                   //最高山峰是珠穆朗玛峰:8848m这是最终的厚度
                   int end = 884800;
                   int start = 1;
                   while(start<end) {
                     //只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++
                     count++;
                     //折叠一次有什么变化呢?就是厚度是以前的2倍。
                     start *= 2;
                     System.out.println("第"+count+"次厚度是"+start);
                   }
                   //输出统计变量。
                   System.out.println("要叠"+count+"次,高度才能不低于珠穆朗玛峰的高度");
                 }
               }

三、do-while循环语句
对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。 do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。

//基本格式:
do {
    循环体语句;
}while( 判断条件语句 );


//扩展格式:
初始化语句;
do {
    循环体语句;
    控制条件语句;
} while( 判断条件语句 );

注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。

特点:先执行,再判断

执行流程:

  1. 执行初始化语句
  2. 执行循环体语句
  3. 执行控制条件语句
  4. 执行判断条件语句,看其结果是true还是false:如果是false,循环结束;如果是true,继续执行。
  5. 回到2继续

流程图:

四、跳转语句
1 、break 语句的使用
break 语句用于终止某个语句块的执行,循环终止。
break 可用于 循环结构和switch选择结构中;

2、 continue 语句的使用
continue语句用于跳过某个循环语句块的一次执行,然后执行下轮的循环。
continue 只能用于 循环结构中…

注意!!!: break 与 continue 语句后面的代码不会被执行,顾 break 与 continue 后面不能写代码。