2 solidworkss solidworkss 于 2013.11.25 12:03 提问

在do-while循环语句中关于定义,判断布尔类型的问题

当定义boolean flag=false或者boolean flag=true时,该程序的运行结果是一样的。
while(flag)或者while(!flag)与定义的flag没有关系吗?while(flag)的含义永远是falg=true时继续,而while(!flag)的含义永远是!falg=true时继续吗?

public class Test {
public static void main(String[]args){
Scanner input=new Scanner(System.in);
boolean flag=false;
do{
System.out.println("请输入数据:");
int num=input.nextInt();
if(num<10){
System.out.println("继续执行:");
flag=true;
}
else{
System.out.println("程序中止!");
flag=false;
}
}while(flag);
}
}

2个回答

xnlengao
xnlengao   2013.11.27 18:03
已采纳

do{}while()不管flag初始值是true还是false,它都会先执行一次{}再进行判断,该程序的运行结果是一样的,while()do{}则不一样。

liary588
liary588   2013.11.25 12:22

首先你要明白do()while()是先执行后判断,你如果输入一个大于小于10的数之后,flag会一直被置为真。。。。所以问题就很明了了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!