Java三种循环语句的使用与区别

简介: 在Java中,常用的循环语句包括for循环、while循环和do...while循环。for循环适合已知循环次数的情况,其格式为for(初始化; 条件; 更新) { // 循环体 }。while循环则适合条件不确定的情况,先判断条件再执行,格式为while(条件) { // 循环体 }。do...while循环至少执行一次循环体,格式为do { // 循环体 } while(条件);。三者的主要区别在于执行顺序:for和while先判断条件再执行,而do...while先执行再判断。此外,for循环的控制变量在循环外不可用,而while循环的变量可在外部使用。

一、三种循环的语法格式及执行流程

1、for语句

格式:

   for(初始化语句;条件判断语句;条件控制语句) {

 循环体语句;

}


执行流程:

     1:执行初始化语句

2:执行条件判断语句,看其结果是true还是false

       如果是false,循环结束

       如果是true,继续执行

3:执行循环体语句

4:执行条件控制语句

5:回到2继续


示例:

public class aaa {
    public static void main(String[] args) {
        //需求:在控制台输出5次"HelloWorld"
        for(int i=1; i<=5; i++) {  // 判断条件并控制循环次数
            System.out.println("HelloWorld");
        }       
    }
}

2、while语句

基本格式:

   while(条件判断语句) {

 循环体语句;

}


完整格式:

初始化语句;

while(条件判断语句) {  

 循环体语句;

 条件控制语句;

}


执行流程:

     1:执行初始化语句

2:执行条件判断语句,看其结果是true还是false

       如果是false,循环结束

       如果是true,继续执行

3:执行循环体语句

4:执行条件控制语句

5:回到2继续


示例:

public class aaa {
    public static void main(String[] args) {
        //需求:在控制台输出5次"HelloWorld"   
        //while循环实现
        int j = 1;
        while(j<=5) {   // 判断条件
            System.out.println("HelloWorld");
            j++;   // 控制循环次数
        }
    }
}

3、do…while语句

基本格式:

   do {

     循环体语句;

}while(条件判断语句);


完整格式:

初始化语句;

do {

 循环体语句;

 条件控制语句;

}while(条件判断语句);


执行流程:  

1:执行初始化语句

2:执行循环体语句

3:执行条件控制语句

4:执行条件判断语句,看其结果是true还是false

 如果是false,循环结束

 如果是true,继续执行

5:回到2继续


示例:

public class aaa {
    public static void main(String[] args) {
        //需求:在控制台输出5次"HelloWorld"
  //do...while循环实现
  int j = 1;
  do {
    System.out.println("HelloWorld");
    j++;  //控制循环次数
  }while(j<=5);  // 判断条件
    }
}


二、三种循环语句的区别

1、for循环和while循环,是先判断后执行。do…while循环是先执行后判断

public class aaa {
    public static void main(String[] args) {
        //for循环
      for(int i = 3; i<3; i++) {  // 先判断,条件不满足
        System.out.println("我爱Java");  // 后执行,不会执行循环体语句
      }
      System.out.println("--------");

      //while循环
      int j = 3;
      while(j<3) {   // 先判断,条件不满足
        System.out.println("我爱Java");  // 后执行,不会执行循环体语句
        j++;
      }
      System.out.println("--------");

      //do...while循环
      int k = 3;
      do {
        System.out.println("我爱Java");  //先执行,执行一次循环体语句
        k++;
      }while(k<3);   // 后判断,条件不满足,之后将不再执行程序
    }
}

注意:若条件不满足,for循环和while循环不会输出循环体语句;而do…while循环可以输出依次循环体语句,之后将不会再输出!



2、for循环和while循环的区别

for循环内部定义的变量,在循环之后就会从内存中释放掉,再想使用就找不到了,而while控制循环的变量是定义在循环外部,循环结束后可以继续使用。(也可以将for循环的初始化语句定义在循环外部)


public class DoWhileDemo {
    public static void main(String[] args) {
        //for循环
      for(int i = 1; i<3; i++) {   //循环变量i定义在for语句内部,循环结束就会从内存中释放掉
        System.out.println("我爱Java");
      }
      //System.out.println(i);   //无法输出i值
      System.out.println("--------");

      //while循环
      int j = 1;    //循环变量j定义在while语句外,循环结束后可以继续使用
      while(j<3) {
        System.out.println("我爱Java");
        j++;
      }
      System.out.println(j);  //可以输出j值
    }
}


3、死循环

三种循环语句死循环格式如下:

public class DoWhileDemo {
    public static void main(String[] args) {
     /*
      //for语句死循环格式
      for(;;) {
        System.out.println("for");
      }
      */

      /*
      //while语句死循环格式
      while(true) {
        System.out.println("while");
      }
      */

      //do...while语句死循环格式
      do {
        System.out.println("do...while");
      }while(true);
    }
}




目录
相关文章
|
11天前
|
Java
Java 中 Exception 和 Error 的区别
在 Java 中,`Exception` 和 `Error` 都是 `Throwable` 的子类,用于表示程序运行时的异常情况。`Exception` 表示可被捕获和处理的异常,分为受检异常(Checked)和非受检异常(Unchecked),通常用于程序级别的错误处理。而 `Error` 表示严重的系统级问题,如内存不足或 JVM 错误,一般不建议捕获和处理。编写程序时应重点关注 `Exception` 的处理,确保程序稳定性。
|
2月前
|
传感器 安全 Java
《从头开始学java,一天一个知识点》之:循环结构:for与while循环的使用场景
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白
97 22
|
1月前
|
Java 编译器 程序员
java中重载和多态的区别
本文详细解析了面向对象编程中多态与重载的概念及其关系。多态是OOP的核心,分为编译时多态(静态多态)和运行时多态(动态多态)。编译时多态主要通过方法重载和运算符重载实现,如Java中的同名方法因参数不同而区分;运行时多态则依赖继承和方法重写,通过父类引用调用子类方法实现。重载是多态的一种形式,专注于方法签名的多样性,提升代码可读性。两者结合增强了程序灵活性与扩展性,帮助开发者更好地实现代码复用。
59 0
|
4月前
|
Java
Java快速入门之判断与循环
本文介绍了编程中的流程控制语句,主要包括顺序结构、判断结构(if语句和switch语句)以及循环结构(for、while和do...while)。通过这些语句可以精确控制程序的执行流程。if语句有三种格式,分别用于简单条件判断、二选一判断和多条件判断。switch语句适用于有限个离散值的选择判断,而循环结构则用于重复执行某段代码,其中for循环适合已知次数的情况,while循环适合未知次数但有明确结束条件的情况,do...while则是先执行后判断。文中还提供了多个示例和练习,帮助读者理解并掌握这些重要的编程概念。
|
4月前
|
Java 程序员 调度
Java 高级面试技巧:yield() 与 sleep() 方法的使用场景和区别
本文详细解析了 Java 中 `Thread` 类的 `yield()` 和 `sleep()` 方法,解释了它们的作用、区别及为什么是静态方法。`yield()` 让当前线程释放 CPU 时间片,给其他同等优先级线程运行机会,但不保证暂停;`sleep()` 则让线程进入休眠状态,指定时间后继续执行。两者都是静态方法,因为它们影响线程调度机制而非单一线程行为。这些知识点在面试中常被提及,掌握它们有助于更好地应对多线程编程问题。
185 9
|
4月前
|
安全 Java 程序员
Java面试必问!run() 和 start() 方法到底有啥区别?
在多线程编程中,run和 start方法常常让开发者感到困惑。为什么调用 start 才能启动线程,而直接调用 run只是普通方法调用?这篇文章将通过一个简单的例子,详细解析这两者的区别,帮助你在面试中脱颖而出,理解多线程背后的机制和原理。
139 12
|
5月前
|
Java
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
今日分享的主题是如何区分&和&&的区别,提高自身面试的能力。主要分为以下四部分。 1、自我面试经历 2、&amp和&amp&amp的不同之处 3、&对&&的不同用回答逻辑解释 4、彩蛋
|
6月前
|
Java 程序员 API
Java循环操作哪个快?
本文探讨了Java中stream API与传统for循环在性能上的对比,通过多个示例分析了不同场景下两者的优劣。作者指出,尽管stream API使代码更简洁,但不当使用会降低可读性和性能,特别是在处理大数据量时。实验结果显示,在多数情况下,普通for循环的性能优于stream API,尤其是在单次操作耗时较短但需多次执行的场景中。文章建议开发者在设计初期就考虑全局流程,避免重复使用stream流,以提升代码质量和性能。
156 1
Java循环操作哪个快?
|
6月前
|
Java 程序员 API
Java循环操作哪个快?
本文探讨了Java中Stream API与传统for循环的性能对比及适用场景。作者通过实际案例分析,指出在某些情况下,过度使用Stream API会导致代码可读性和维护性下降。测试结果显示,在数据量较小的情况下,普通for循环的性能优于Stream API,尤其是在涉及多次类似操作时。因此,建议在开发中根据具体需求选择合适的遍历方式,以提高代码的可读性和性能。
155 5
Java循环操作哪个快?
|
6月前
|
Java 程序员
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
小米,29岁程序员,分享了一次面试经历,详细解析了Java中&和&&的区别及应用场景,展示了扎实的基础知识和良好的应变能力,最终成功获得Offer。
141 14

热门文章

最新文章