关于while(true)死循环如何跳出

关于while(true)死循环如何跳出

最近上课讲到了一个关于如何跳出while(true)死循环的问题,也就是说,在进入循环中,如果到自己需求的地方就选择退出循环,这种方式该如何去实现,接下来,就根据这个问题展开细说一下吧。

1.基于JavaScript的while(true)跳出问题

1.方法1

这个方法也是最简单最原始的方法,解释一下,在外面定义一个变量flag为true,在进入死循环后,当在需要的时候跳出时,就可以将false重新赋值给flag,再通过break结束整个循环,即可跳出死循环。

2.方法2

首先在while循环前定义一个OUT,这里的OUT代表的时循环体的意思,也可以说成是一个标记的作用,这里的OUT可以时任何字母或单词等等,但尽量不要时数字之类的(这里大家应该都能理解,就不细说了),然后在需要的跳出的那里break后面加上刚刚标记的OUT即可退出循环了。

3.方法3

这个方法就是简单粗暴的return,如果你在循环函数内部,你可以使用 return 关键字来跳出循环。

2.基于Java的while(true)跳出问题

这里我提前测试了一下,发现用Java写的while死循环同样可以用JavaScript退出死循环的方法1和方法2,具体操作如下:

1.方法1

public class InfiniteSwitchLoop {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

boolean running = true;

while (running) {

System.out.println("请输入选项(输入'exit'退出):");

String option = scanner.nextLine();

switch (option) {

case "1":

System.out.println("您选择了选项1");

break;

case "2":

System.out.println("您选择了选项2");

break;

case "exit":

System.out.println("程序已结束");

running = false; // 停止循环

break;

default:

System.out.println("无效的选项");

}

}

scanner.close();

}

}

同样,也是在外面先定义running为true,进入循环后,在需要结束循环的位置将false赋值给running,再通过break即可退出循环。

2.方法2

public class InfiniteSwitchLoop {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

OUT:while (true) {

System.out.println("请输入选项(输入'exit'退出):");

String option = scanner.nextLine();

switch (option) {

case "1":

System.out.println("您选择了选项1");

break;

case "2":

System.out.println("您选择了选项2");

break;

case "exit":

System.out.println("程序已结束");

break OUT;

default:

System.out.println("无效的选项");

}

}

scanner.close();

}

}

和JavaScript退出死循环一样,在循环体前面标记OUT,再次强调这里的OUT可以为任何标记,单不要是数字,然后在需要结束循环的位置break后面添加这个OUT标记就可以退出循环。

3.基于C语言退出while死循环的解决办法

这里就简单说一下吧,C语言退出while死循环的办法主要有三种。

1.使用break语句。当程序执行到break语句时,会立即跳出当前的循环结构,继续执行下一条语句。

2.除了break语句之外,还可以使用return语句来退出循环。当程序执行到return语句时,会立即结束当前的函数,并返回指定的值。如果return语句位于循环结构中,它将导致循环终止并返回指定的值。

3.另外,还可以使用goto语句来跳出while死循环。通过将程序流程转移到循环外部的标签处,goto语句可以强制退出循环。

4.总结

最后来总结一下吧,其实JavaScript退出while(true)死循环最常用的是第一种方法,也是最能看懂最能理解的方法,对于使用该语言还有其他方法能够实现,例如JavaScript的定时器功能,使用使用 Promise 和 async/await异步编程的概念也能实现,这里我没有给出具体的演示例子,因为我也是通过网上查询到的这两种办法;然后Java的话,方法和JavaScript很相似,可能还有更好的办法,大家也可以在评论区分享一下;C语言最常见的就是break语句退出循环,演示示例的话大家可以去网站上查找相关视频。

看到这里了,给个免费的小赞和关注呗,谢谢大家,后续会给大家解决更多的疑难,大家有什么更好的意见或者方法也可以在评论区分享出来喔!!!

相关推荐

vivoY83怎么样 好用么 vivoY83好不好 值得买么
mobile365bet365com

vivoY83怎么样 好用么 vivoY83好不好 值得买么

📅 08-01 👁️ 3039
小哲学家系列 爸爸,你为什么会喜欢我?
365bet足球实时动画

小哲学家系列 爸爸,你为什么会喜欢我?

📅 07-28 👁️ 2400
什么叫全资收购
mobile365bet365com

什么叫全资收购

📅 07-16 👁️ 7241
黑莓适合哪里种植?一般什么时候种?种植几年结果?市场价格行情前景如何?附栽培技术
宝马M3有什么优缺点?开了7个月后,车主深度评测后有话要说
少女都市攻略:新手必看20条技巧+隐藏彩蛋全解析
mobile365bet365com

少女都市攻略:新手必看20条技巧+隐藏彩蛋全解析

📅 07-26 👁️ 5831
小米4s参数配置详情
爱彩365彩票官方app下载

小米4s参数配置详情

📅 07-06 👁️ 9966
黄鹤楼1916香烟种类及价格
mobile365bet365com

黄鹤楼1916香烟种类及价格

📅 07-08 👁️ 8602
[交流]你们区120手配书都多少钱??
mobile365bet365com

[交流]你们区120手配书都多少钱??

📅 07-19 👁️ 7824