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,则会形成死循环。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星