-
2021-05-14 15:07:03
代码栗子
(1)while(true) 循环 int size = biddingMethods.size();//这个是需要处理的集合 //while(true),超过8秒退出 //若是count满足所需条件也退出 boolean b = true; long t1 = System.currentTimeMillis(); while (b){ long t2 = System.currentTimeMillis(); if(t2-t1 > 8000){ break; } // if(true){ // System.out.println("此时退出循环"); // break; // } //循环操作 for (int i1 = 0; i1 < biddingMethods.size(); i1++) { //这里写你的代码逻辑即可!!! Integer count = ;//每次计算一下处理后的count if (count<=1){ System.out.println("此时退出循环"); b = false; break; } } } --------------------------------------------------------------------- (2)或者使用for(;true;)循环 boolean b = true; long t1 = System.currentTimeMillis(); for (;b;) { long t2 = System.currentTimeMillis(); if(t2-t1 > 8000){ break; } //同理这里可以做你的逻辑操作 }
更多相关内容 -
Java中如何终止运行中的线程;while(true){i++;}死循环是如何跳出的
2021-03-10 01:50:25在 Java 中有以下 3 种方法可以终止正在运行的线程:使用退出标志,使线程正常退出,也就是当 run() 方法完成后线程中止。使用stop()方法,已被弃用。原因是:stop()是立即终止,会导致一些数据被到处理一部分就会被...Java中 终止线程通常意味着在线程处理任务完成之前停掉正在做的操作,也就是放弃当前的操作。
在 Java 中有以下 3 种方法可以终止正在运行的线程:
使用退出标志,使线程正常退出,也就是当 run() 方法完成后线程中止。
使用stop()方法,已被弃用。原因是:stop()是立即终止,会导致一些数据被到处理一部分就会被终止,而用户并不知道哪些数据被处理,哪些没有被处理,产生了不完整的“残疾”数据,不符合完整性,所以被废弃。So, forget it!
使用 interrupt 方法中断线程。注意使用interrupt()方法中断正在运行中的线程只会修改中断状态位,可以通过isInterrupted()判断。如果使用interrupt()方法中断阻塞中的线程,那么就会抛出InterruptedException异常,可以通过catch捕获异常,然后进行处理后终止线程。有些情况,我们不能判断线程的状态,所以使用interrupt()方法时一定要慎重考虑。
使用volatile标志位
看一个简单的例子:
首先,实现一个Runnable接口,在其中定义volatile标志位,在run()方法中使用标志位控制程序运行。
public class MyRunnable implements Runnable {
//定义退出标志,true会一直执行,false会退出循环
//使用volatile目的是保证可见性,一处修改了标志,处处都要去主存读取新的值,而不是使用缓存
public volatile boolean flag = true;
public void run() {
System.out.println("第" + Thread.currentThread().getName() + "个线程创建");
try {
Thread.sleep(1000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
//退出标志生效位置
while (flag) {
}
System.out.println("第" + Thread.currentThread().getName() + "个线程终止");
}
}
然后,在main()方法中创建线程,在合适的时候,修改标志位,终止运行中的线程。
public class TreadTest {
public static void main(String[] arg) throws InterruptedException {
MyRunnable runnable = new MyRunnable();
//创建4个线程
for (int i = 0; i < 4; i++) {
Thread thread=new Thread(myRunable,i+" ");
thread.start();
}
//线程休眠
Thread.sleep(2000L);
System.out.println("——————————————————————————");
//修改退出标志,使线程终止
runnable.flag = false;
}
}
最后,运行结果,如下:
使用interrupt()中断的方式
需要明确的一点的是:interrupt() 方法并不像在 for 循环语句中使用 break 语句那样干脆,马上就停止循环。调用 interrupt() 方法仅仅是在当前线程中打一个停止的标记,并不是真的停止线程。
也就是说,线程中断并不会立即终止线程,而是通知目标线程,有人希望你终止。至于目标线程收到通知后会如何处理,则完全由目标线程自行决定。这一点很重要,如果中断后,线程立即无条件退出,那么我们又会遇到 stop() 方法的老问题。
事实上,如果一个线程不能被 interrupt,那么 stop 方法也不会起作用。
我们来看一个使用 interrupt() 的例子:
public class InterruptThread1 extends Thread{
public static void main(String[] args) {
try {
InterruptThread1 t = new InterruptThread1();
t.start();
Thread.sleep(200);
t.interrupt();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@Override
public void run() {
super.run();
for(int i = 0; i <= 200000; i++) {
System.out.println("i=" + i);
}
}
}
从输出的结果我们会发现 interrupt 方法并没有停止线程 t 中的处理逻辑,也就是说即使 t 线程被设置为了中断状态,但是这个中断并不会起作用,那么该如何停止线程呢?
这就需要使用到另外两个与线程中断有关的方法了:
public boolean Thread.isInterrupted() //判断是否被中断
public static boolean Thread.interrupted() //判断是否被中断,并清除当前中断状态
这两个方法使得当前线程能够感知到是否被中断了(通过检查标志位)。
所以如果希望线程 t 在中断后停止,就必须先判断是否被中断,并为它增加相应的中断处理代码:
@Override
public void run() {
super.run();
for(int i = 0; i <= 200000; i++) {
//判断是否被中断
if(Thread.currentThread().isInterrupted()){
//处理中断逻辑
break;
}
System.out.println("i=" + i);
}
}
输出结果,for 循环在执行完成前就提前结束了:
在上面这段代码中,我们增加了 Thread.isInterrupted() 来判断当前线程是否被中断了,如果是,则退出 for 循环,结束线程。
这种方式看起来与之前介绍的“使用标志位终止线程”非常类似,但是在遇到 sleep() 或者 wait() 这样的操作,我们只能通过中断来处理了。
public static native void sleep(long millis) throws InterruptedException
Thread.sleep() 方法会抛出一个 InterruptedException 异常,当线程被 sleep() 休眠时,如果被中断,这会就抛出这个异常。
(注意:Thread.sleep() 方法由于中断而抛出的异常,是会清除中断标记的。)
使用stop()中断
通过查看 JDK 的 API,我们会看到 java.lang.Thread 类型提供了一系列的方法如 start()、stop()、resume()、suspend()、destory()等方法来管理线程。但是除了 start() 之外,其它几个方法都被声名为已过时(deprecated)。
虽然 stop() 方法确实可以停止一个正在运行的线程,但是这个方法是不安全的,而且该方法已被弃用,最好不要使用它。
为什么弃用stop:
调用 stop() 方法会立刻停止 run() 方法中剩余的全部工作,包括在 catch 或 finally 语句中的,并抛出ThreadDeath异常(通常情况下此异常不需要显示的捕获),因此可能会导致一些清理性的工作的得不到完成,如文件,数据库等的关闭。
调用 stop() 方法会立即释放该线程所持有的所有的锁,导致数据得不到同步,出现数据不一致的问题。
例如,存在一个对象 u 持有 ID 和 NAME 两个字段,假如写入线程在写对象的过程中,只完成了对 ID 的赋值,但没来得及为 NAME 赋值,就被 stop() 导致锁被释放,那么当读取线程得到锁之后再去读取对象 u 的 ID 和 Name 时,就会出现数据不一致的问题,如下图:
while(true){i++;}死循环是如何跳出的
@Override
public void run() {
while (true){
try {
/**
* mBlockingQueue会在线程内声明如下
* private final BlockingQueuemBlockingQueue;
* 线程初始化时会对mBlockingQueue赋值
* */
String string = mBlockingQueue.take();
Log.d("wuyazhouHttp","string: "+string);
} catch (InterruptedException e) {//捕捉异常
if (mQuit) {
Log.d("wuyazhouHttp","线程结束");
return;
}
Log.d("wuyazhouHttp","string: 阻塞列表为空");
continue;
}
}
}
public void quit() {
mQuit = true;//更新标志位
interrupt();//调用interrupt()方法中断阻塞并抛出一个异常
}
首先会更新标志位可以结束线程,其次调用interrupt()方法中断阻塞并抛出一个异常,然后就能调用第二段代码中的return以终止进程
-
java-while循环-do while循环-死循环-嵌套for循环语句
2022-03-15 15:44:12while循环语句: 基本格式: while(判断条件语句){ 循环体语句; 完整格式: 初始化语句;; while(判断条件语句){ 循环体语句; 控制条件语句; } ①执行初始化语句; ②执行条件判断语句,看其结果是true还是false; 如果是...while循环语句:
基本格式:
while(判断条件语句){
循环体语句;
完整格式:
初始化语句;;
while(判断条件语句){
循环体语句;
控制条件语句;
}
①执行初始化语句;
②执行条件判断语句,看其结果是true还是false;
如果是false,循环结束;如果是true,继续执行;
③执行循环体语句;
④执行条件控制语句;
⑤返回②继续执行。//基本格式: //while(判断条件语句){ //循环体语句; //完整格式: //初始化语句;; //while(判断条件语句){ //循环体语句; //控制条件语句; //} int i = 1;//初始化语句 while (i<=5){ //1 <= 5 true 打印 //2 <= 5 true 打印 //3 <= 5 true 打印 //4 <= 5 true 打印 //5 <= 5 true 打印 //6 <= 5 false 退出循环 System.out.println("三月15日");//循环体语句 i++; //控制条件语句 }
珠穆朗玛峰案例
需求:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米,请问,我折叠多少次,可以折叠成珠穆朗玛峰的高度?
提示:纸张折叠一次之后厚度是以前的两倍
(1)因为要反复折叠,所以要使用循环,但是不知道折叠多少次,这种情况下更适合使用while循环
(2)循环的执行过程中每次纸张折叠,纸张的厚度需要加倍,因此需要事先定义纸张厚度,在循环中使厚度加倍
(3)折叠的过程中当纸张厚度大于珠峰就停止了,因此继续执行的要求是纸张厚度小于珠峰高度
(4)设置一个计数器,在循环中执行累加,对应折叠了多少次//需求:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米), // 假如我有一张足够大的纸,它的厚度是0.1毫米,请问,我折叠多少次,可以折叠成珠穆朗玛峰的高度? //定义山峰高度 int san_height = 8844430; //定义纸张厚度 double zi_height = 0.1; //定义折叠的次数 int count = 0; while (zi_height <= san_height){//如果纸张厚度小于=山峰高度 true就执行下面的语句 zi_height*=2;// zi_height = zi_height*2 //每折叠一次 纸张厚度比原来的多2倍 count++; //每折叠一次count + 1 } System.out.println("折叠的次数"+count);
do while
do while语句基本格式:
do {
循环体语句;
}while((判断条件语句);
完整格式:
初始化语句;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);执行流程:
①执行初始化语句
②执行循环体语句
③执行条件控制语句
④执行条件判断语句,看其结果是true还是false如果是false,循环结束
如果是true,继续执行
⑤回到②继续
int j=1;
do {
System. out. println(“3月我5日”);
j++;
}while(j<=5) ;//完整格式: //初始化语句; //do { //循环体语句; //条件控制语句; //}while(条件判断语句); int i =0;//初始化语句 do{ System.out.println("三月15日");//循环体语句 i++;//条件控制语句 }while (i<=5);//条件判断语句
死循环
for死循环写法:for (;;){
}
while死循环写法:while(true){
}
do while死循环写法do {
}while(true) ;// for(;;){ // System.out.println("今天是星期二"); // } // while (true){ // System.out.println("今天是星期二"); // } // do{ // System.out.println("今天是星期二"); // }while (true);
跳转控制语句
跳转控制语句(break),跳出循环,结束循环
跳转控制语句(continue),跳过本次循环,继续下次循环注意:continue只能在循环中进行使用!
continue用法:使用for循环1-10 不输出偶数结果1,3,5,7,9for (int i = 0; i <=10 ; i++) { if(i%2==0){ continue; } System.out.println("i:"+i); }
循环嵌套
1.顺序语句
以分号结尾,表示一句话的结束
2.分支语句
2.1一对大括号表示if的整体结构,整体描述一个完整的if语句
2.2一对大括号表示switch的整体结构,整体描述一个完整的switch语句3.循环语句
3.1一对大括号表示for的整体结构,整体描述一个完整的for语句3.2一对大括号表示while的整体结构,整体描述一个完整的while语句3.3do. . . while以分号结尾
4.分支语句中包含分支语句成为分支嵌套5.循环语句中包含循环语句成为循环嵌套循环嵌套需求:
在控制台输出—天的小时和分钟,分钟和小时的范围
公式:
分钟:0 <= minute < 60
小时:0 <= hour < 24for(int hour=0;hour<=2;hour++){//控制小时循环 //判断hour是否小于等于2 为true进入下一个循环 for(int minute=0;minute<=3;minute++){//控制分钟循环 //minute<=3 打印 分钟 i++操作 System.out.println(hour+"时"+minute+"分"); } System.out.println("----------"); }
-
Java中一个线程执行死循环有什么后果
2020-09-02 09:08:47主要介绍了Java中一个线程执行死循环有什么后果,当一个线程在执行死循环时会影响另外一个线程吗,下面为大家揭晓 -
java关于在死循环(while(true))接收用户输入不匹配异常(InputMismatchException)的几种解决方法
2020-07-01 11:38:47} 正常来输入的话也可以,但是如果搞事情派来了,那么就会陷入死循环,如下 请输入年龄 1.2 输入的值不匹配 请输入年龄 输入的值不匹配 请输入年龄 输入的值不匹配 ... ... ... Process finished with exit code -...前言
我们做项目时通常需要接收用户输入的各种类型数据,比如说请用户输入年龄,那么我们就用
int age = scanner.nextInt();
来接收对吧!public class 输入不匹配异常 { static Scanner scanner = new Scanner(System.in);//静态方法,接收用户的输入 public static void main(String[] args) { System.out.println("请输入年龄"); int age = scanner.nextInt();//用整型接收用户输入 System.out.println("用户年龄: " + age); } }
这时,如果正常输入一个整数,那台下就是一片和谐的声音,如下
请输入年龄 1 用户年龄: 1 Process finished with exit code 0
可惜,并不是所有人都喜欢和谐。如果有个用户是那种搞事情派的,他偏偏输入一个小数进去,这时就会报出一个叫做“输入不匹配”的异常出来(InputMismatchException),如下的第三行 java.util.InputMismatchException
请输入年龄 1.3 Exception in thread "main" java.util.InputMismatchException at java.base/java.util.Scanner.throwFor(Scanner.java:939) at java.base/java.util.Scanner.next(Scanner.java:1594) at java.base/java.util.Scanner.nextInt(Scanner.java:2258) at java.base/java.util.Scanner.nextInt(Scanner.java:2212) at lcy.常见问题解决方法.输入不匹配异常.main(输入不匹配异常.java:10) Process finished with exit code 1
那有朋友就说了,有异常了tryCatch一下不就好了嘛?就像下面这样
public static void main(String[] args) { int age = 0;//将年龄定义在 try 外面 System.out.println("请输入年龄"); try { age = scanner.nextInt();//用整型接收用户输入 } catch (InputMismatchException e) { System.out.println("输入的值不匹配"); } System.out.println("用户年龄: " + age); }
是的,这如果输入不不是一个整数的话,他会执行 catch代码块 里面的操作,后面的用户年龄还是为0 ,这不失为一个好的解决方法,如下
请输入年龄 1.3 输入的值不匹配 用户年龄: 0 Process finished with exit code 0
可问题是我们要操作的是一个系统,也就是说他会一直在等待你的输入,接收到你的输入后再进行下一步操作,操作完又等待你的输入,直到你输入一个退出的标志符它才结束这个系统的运行(我在这里定义了输入 0 就退出循环)。(也就是说,他会用一个 while(true)来包裹着我们的代码块,一直接收我们的输入),那我们就进入正题。
while(true) 里面的 InputMismatchException
代码就是这样的
public static void main(String[] args) { while (true) {//一直接收用户输入 int age = 0;//将年龄定义在 try 外面 System.out.println("请输入年龄"); try { age = scanner.nextInt();//用整型接收用户输入 } catch (InputMismatchException e) { System.out.println("输入的值不匹配"); continue;//跳出此次的 while 循环,执行下一次 while 循环 } //当接收到的值为 0 时就退出循环,否则就打印出接收到的值 if (age == 0) { break; } else { System.out.println("用户年龄: " + age); } } //上面是 while 循环,到这里就退出了循环 System.out.println("已退出 while 循环"); }
正常来输入的话也可以,但是如果搞事情派来了,那么就会陷入死循环,如下
请输入年龄 1.2 输入的值不匹配 请输入年龄 输入的值不匹配 请输入年龄 输入的值不匹配 ... ... ... Process finished with exit code -1
这是因为输入类型错误了,虽然他抓到异常,并执行本异常的 catch块 里面的代码,但是 scanner 接收输入的值因为传不出去,所以还存在于 scanner 里面,也就是说这个 scanner 还是你刚刚输入的值。
小结:由上面所说的可知,这个值又进去下一次循环里面继续赋值,所以还是传不出去,就进入了死循环。
解决方法
我目前想出了两个好用的解决方法。
1.转换数据类型法
思路: 1. 用一个通用的 String 作为中转值,来接收输入的值 2. 定义全部匹配数字的正则表达式 3. 尝试着将这个 String 转换为纯数字 4. 定义标志位来判断转换成功或者失败 5. 转换成功就赋值给我们现在想要的 int 类型 6. 不成功就提示一下,退出本次 while 循环,执行下一次 while 循环
我们要将 tryCatch 里面的代码改成以下代码
String temp = scanner.nextLine();//中转值 boolean flag = temp.matches("[0-9]+");//正则,全部匹配数字 /** 本正则解析 * [0-9]: 每一次个字符都只匹配这些数字 * +: 无限次匹配 */ if (flag) {//如果匹配成功,也就是输入的字符串里面全是数字 age = Integer.parseInt(temp);//将 temp 转换为 int 类型,并传递给我们想要的 age } else {//如果匹配不成功就进入下一次循环 System.out.println("输入的值不匹配"); continue;//跳出此次的 while 循环,执行下一次 while 循环 }
看一下执行的结果
请输入年龄 6.5 输入的值不匹配 请输入年龄 6.4 输入的值不匹配 请输入年龄
2.重新接收输入法
这个就很简单了,同样用思路来表达
1. 让 scanner 再接收一下数据来覆盖掉原来的数据,这时再退出本次 while 循环 2. 进入下一次循环时就将新数据传给我们想要的 int ,如果还是不成功就在 catch 块里面执行思路1,又执行思路2……
这次就是在 catch 块里加了一行代码,catch 块如下
catch (InputMismatchException e) { System.out.println("输入的值不匹配"); scanner.next();//接收下一次输入,下次循环中就给想要的 int 传递这个接收到的值 continue;//跳出此次的 while 循环,执行下一次 while 循环 }
看下结果
请输入年龄 4.5 输入的值不匹配 请输入年龄 6.7 输入的值不匹配 请输入年龄
总结
两个方法执行的效果一样,都解决了在 while(true)中出现的输入不匹配异常(InputMismatchException)。但是无论从思路理解方面,还是从代码读取方面,亦或是执行效率方面,都是方法二更胜一筹。
后言
一个新手分享经验,凭本心说,写的不好。感谢您耐心的观看,您的收获与您的支持是我的最大动力。
再次衷心感谢!!
-
Java多线程-while死循环
2020-10-10 20:09:17线程A执行methodA(),methodA()中有一个死循环 线程B执行methodB(),当线程A进入methodA()中的死循环的时候,我们希望知道线程B能不能执行完成。 import java.util.*; import java.util.concurrent.... -
while死循环中的算法问题
2021-03-20 08:08:14while(true){//2、调用accept()方法,监听客户端的连接。socket=serverSocket.accpet();//创建一个线程,并通过这个线程与客户端进行通信。//创建一个新的线程ServerThreadserverThread=newServerThread(socket);//... -
如何触发某个条件,跳出while(true)这个死循环?
2021-03-22 16:25:58举个例子,以下的代码,它会一直在while里面循环,但我们想在输入4的时候,退出循环。 while (true) { Scanner sc = new Scanner(System.in); System.out.println(“Menu”); System.out.println(“1:buy”); System... -
Java中while语句的简单知识及应用
2021-03-05 14:00:08先谈谈while循环的三要素while循环的三要素:(1)初始化变量(2)循环条件(3)改变循环变量的值当你要用while循环时主要知道这三个要素什么,那么循环起来就得心应手了。下面是while循环语法和特点:while语句的形式... -
Java的while和do-while循环
2022-04-20 23:33:52循环语句就是让计算机根据条件做循环计算,在条件满足时继续循环,条件不满足时退出循环。...如果计算结果为true,就把循环体内的语句执行一遍,如果计算结果false,那就直接跳到while循环的末尾,继续往下执行。 ... -
Java-循环(for、while、do-while)以及循环的中止
2022-01-23 15:16:37Java-循环(for、while、do-while)以及循环的中止(break、continue) -
Java While循环 do-while循环用法
2021-03-10 03:57:04Java提供了while条件循环。它的基本用法是:while (条件表达式) {循环语句}// 继续执行后续代码while循环在每次循环开始前,先会判断条件是否成立。如果计算结果为true,就把循环体内的语句执行一遍,如果计算结果为... -
Java脚本API运行脚本程序防止脚本死循环
2021-03-16 02:14:47Java脚本API运行脚本程序防止死循环前提概要当我们使用java脚本API运行脚本的时候,在一些我们并不知道脚本的程序逻辑并且无法修改脚本的特殊的场景下,如果脚本中存在死循环(endless loop)或者高资源消耗的耗时循环... -
Java 的while和do while循环
2021-12-03 20:13:33Java 的while和do while循环。 -
while(true)如何退出循环
2011-08-02 09:48:46while可以用作无穷循环,很多地方都用到无穷循环。一个无穷循环如下所示: while(true) { 循环内容; ... } 无穷循环可以由自己循环中的某个条件式来结束。下面是一个循环内部终止的例子: while(true)... -
巧用while(true){ }死循环的一个小例子
2017-06-21 22:56:30//巧用while(true){}死循环 System . out . println ( "请输入一个1-5的整数:" ) ; int num = sc . nextInt ( ) ; switch ( num ) { case 1 : System . out . println ( "新建" )... -
while循环、break跳出循环、continue结束本次循环、exit退出整个脚本
2021-02-28 11:30:22while循环语法 while 条件; do … ; done脚本案例一:需求:每隔半分钟检查系统负载,当系统负载大于10的时候就发一封邮件告警。最小单元是任务计划 cron 脚本示例:[root@.../bin/bashwhile true# 冒号 : 表示死循... -
socket编程中while死循环的注意事项
2022-03-03 09:47:101、while死循环中一定要加sleep 2、客户端,如果connect失败的话,关闭socket,并重新初始化sd =1 if(connect() == -1) { shutdown(sd,2); delay(100); close(sd); sd =-1; } 3、客户端中ip地址的赋值,使用... -
JAVA基础(六)之循环语句
2021-03-17 17:42:10---------循环语句--------三种循环语句,while循环语句 do....while 循环语句 for循环语句1.while循环语句while语句也称条件判断语句,他在循环方式为利用以一个条件来控制是否要继续反复执行这个语句。只要条件... -
java基础之for循环和while循环
2016-10-22 15:19:02本文写给初学者,对于for循环和双重for循环的一些例子,以及while循环的内容做了简洁的分析,希望对于初学者会有所帮助,如果有不懂的问题,请加我博客:qq_34994609 一、for循环:根据循环条件反复执行一些操作,... -
while循环例子
2021-04-18 08:21:49请列举for,while,do_while三个循环语句都有用的例子?我是个C语言的初学者,资料上说有些例子for,while,do_while三个循环语句计算从1加到10的3种代码(sum之前声明过,初始值赋值为0,i的初始值为1)for(int i=1;ic语言... -
java跳出死循环(会更新)
2021-02-25 20:09:22示例代码 ... while (true) { // 展示学生管理的页面 int item = View.studentMenuView();// 选择操作 if (item == 0) { // 第一种方法: System.exit(-1);// 终止程序 } else i -
开发技巧2:学会通过while、do-while或for循环进行业务分批处理
2022-02-13 19:13:43这次教给大家的开发技巧就是学会使用while或do-while这两种循环结构进行分页查询,这个分页查询的方式主要包括了查询数据库和调用接口这两种方式。可能这么说大家未必明白,没关系,接下来听我详细讲解。 比如有... -
Java教程:Java while和do while循环详解
2020-12-31 10:45:51Java教程循环是程序中的重要流程结构之一。...Java 中采用的循环语句与C语言中的循环语句相似,主要有 while、do-while 和 for。另外 Java 5 之后推出了 for-each 循环语句,for-each 循环是 for... -
Java do-while循环
2021-03-20 08:19:39Java do-while循环1 Java do-while循环do-while 循环语句也是 Java 中运用广泛的循环语句,它由循环条件和循环体组成,但它与 while 语句略有不同。do-while 循环语句的特点是先执行循环体,然后判断循环条件是否...