JAVA循环结构while, do,while永远执行,直到冒烟「第10集」

发布一下 0 0
JAVA循环结构while, do,while永远执行,直到冒烟「第10集」

“嗨我是学长,今天的你过得还好吗?”

“这里是offer学院,帮你轻松拿offer”

- 2022.11.11 -

在第七节,我们了解了循环的概念,这节我们具体学习循环的使用。

在java中,提供给我们的循环有多种,while,do...while,for等,本节主要涉及while的使用,for循环放在下节讲述。我们一起来学习吧。


一、方式1-while循环

1、语法结构:

while(条件){  //循环体部分}

分析说明:

在每次循环开始前,首先会判断条件是否成立,如果计算结果为true,就会执行循环体内部语句。如果计算结果为false,会跳出循环,执行后续代码。

示例代码如下:

public class WhileLoop1 {    public static void main(String args[]) {        int i = 1;        while (i <= 5) {            System.out.println(i); // 打印i            i ++; // i自增1        }    }}

解析:

o在循环体内部,除了打印变量i的值,还有一个语句:i++,这个语句的作用是让变量i自增1。如果没有这个语句,i的值永远不会改变,所以循环条件永远成立,程序将陷入死循环,直到将资源耗尽才会停止,所以要杜绝编写死循环代码。



2、正常示例代码:

需求:1到100的累加

代码如下:

public class WhileLoop2 {    public static void main(String[] args) {        int sum = 0; // 累加和        int i = 1;        while (i <= 100) {            sum = sum + i; // 使sum和i相加,并将值再次赋值给sum            i ++; // i自增1        }        System.out.println("1到100的累加和为:" + sum);    }}

解析:

  • 1.定义两个变量sum和i分别用于存放累加和以及要累加的数字。
  • 2.循环开始前判断条件i<=100是否成立,此时i=1,成立,执行循环体内代码。
  • 3.循环体内代码第一次执行,sum=1,i自增1变为2。
  • 4.再次判断循环条件,成立就继续执行循环体,直到i=100,自增1变为101,此时条件不成立。执行循环后面的代码。
  • 5.执行打印语句,打印最终的sum值,程序结束。



3、无限死循环,永远执行,直到冒烟:

常量的值在编译期就能确定,true字面量(常量),在编译的时候值就确定了在编译代码的时候,就能确定while(true)是个死循环。

public class whileTest {    public static void main(String[] args) {        /**         * 无限死循环 永远执行         */        while (true) {            //当条件为TRUE 会永远执行 不会停止            System.out.println("我会永远执行跑下去~");          }            //后续代码将不可能会被执行 而报错        System.out.println("我会停下来休息下吗?");       }}

变量的值,在运行期才能确定,x变量,在编译的时候,无法确定x的值只有在运行的时候,才能确定x的值,在编译时while(x<10)无法判断是否是死循环只有运行了之后,才会发现是死循环,但是此时已经晚了。

public class whileTest {    public static void main(String[] args) {        /**         * 无限死循环 永远执行         */        int x = 2;        while (x < 5) {  //由于缺少 迭代部分 致使 x<5 永远为true                        //条件 x<5 判定为真 会永远执行 不会停止            System.out.println("我会永远执行跑下去~");         }        //后续代码将不可能会被执行 在编译时无法确定X的值 这行代码不会报错        System.out.println("我会永远执行跑下去~");       }}

在正常代码中,我们应该避免这种错误。



二、do...while...循环

dowhile循环的功能与while循环类似,不同点在于:while循环是先判断条件,再执行循环体;而dowhile循环则是先执行循环体,再判断条件,如果条件成立继续执行循环,条件不成立则终止循环。

dowhile语法格式如下:

do {    // 循环体} while (条件);

无论条件成立与否,dowhile循环都至少执行一次。而while循环可能一次都不会执行。

代码示例如下:

import java.util.Scanner;public class whileTest {    public static void main(String[] args) {        /**         * 判断输入数字是正数还是负数         */        //从键盘接受数据        System.out.println("请输入一个数字:");        Scanner in = new Scanner(System.in);        int num = in.nextInt();        do {            System.out.println("这次输入的数字为:" + num);            if (num > 0) {                System.out.println(num + " 为正数~");            } else if (num < 0) {                System.out.println(num + " 为负数~");            }            //再次输入下一个数字以做判断            System.out.println("请输入一个数字:");            num = in.nextInt();        } while (num != 0);    }}
JAVA循环结构while, do,while永远执行,直到冒烟「第10集」

小结:

本节我们学习了while的两种用法以及对应的不同,下节课我们将要学习java中循环使用频率最高的for循环,下节课见。


JAVA循环结构while, do,while永远执行,直到冒烟「第10集」

我们下期再见!


JAVA循环结构while, do,while永远执行,直到冒烟「第10集」

END


文案编辑|offer学长

文案配图|offer学长

原创内容|田老师出品

JAVA循环结构while, do,while永远执行,直到冒烟「第10集」

版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除

本文地址:http://0561fc.cn/189348.html