while求解
相关代码:
package com.imooc.flow2;
import java.util.Scanner;
public class Numberinput {
public static void main(String[] args) {
//循环输入数字1-10并输出,如果输入0则跳出循环
Scanner s=new Scanner(System.in);
int n;
while(true) {
n=s.nextInt();
if(n==0)break;
System.out.println(n);
}
}
}为什么这里whiletrue不会死循环输出?
相关代码:
package com.imooc.flow2;
import java.util.Scanner;
public class Numberinput {
public static void main(String[] args) {
//循环输入数字1-10并输出,如果输入0则跳出循环
Scanner s=new Scanner(System.in);
int n=s.nextInt();
while(true) {
if(n==0)break;
System.out.println(n);
}
}
}为什么把int n移到while外面,就会死循环输出???
24
收起
正在回答
1回答
同学你好,
1、当从键盘输入0是,n的值为0,if分支条件为真,执行break,跳出循环,循环结束;
若输入不是0,则会循环从键盘录入数据,n=s.nextInt(),直至输入为0,循环结束。
2、当输入为0时,循环执行一次则结束;
当输入为非0整数时,n==0条件为假不会执行break,循环条件为true,则会形成死循环。

祝学习愉快~
2023版Java工程师
- 参与学习 人
- 提交作业 8790 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星