抱歉,我是Java新手,所以这个问题可能不清楚。
最近,我一直在尝试将try和catch语句包含在while循环中,因为我想确保从程序的其余部分中获取输入。
我遇到了一个问题,在while条件(例如,while(!done))中,在变量前面使用感叹号(!),而不是使用= false(例如,while(done =
false))会更改程序的方式运行。
前者(!done)导致try和except语句按预期运行。后者(done = false)不会,只是跳过它们并转到代码的下一部分。
我的印象是!在变量之前表示与var = false相同。
我错了吗
这是一个例子:
import java.util.Scanner;
public class TestOne {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
int num;
boolean inputDone = false;
while (!inputDone) {
try {
System.out.print("Enter in a number here: ");
num = input.nextInt();
inputDone = true;
}
catch (Exception e) {
System.out.println(e);
System.exit(0);
}
}
System.out.println("Success!");
}
}
当前,编译和运行该程序将很顺利:它将提示我输入数字,输入字母或非常长的数字,从而导致打印出异常类型并退出。输入正常数字将使其打印成功!
另一方面,如果我将!inputDone替换为inputDone = false,它只会打印出成功!当我运行程序时。
谁能解释给我之间的区别!和=假语句在while循环中?
注意之间的差异done = false
和done == false
。第一个 受让人
done
为false
和的计算结果为false
,第二个比较done
与false
和是完全相同!done
。
因此,如果您使用:
while (done = false)
{
// code here
}
然后done
设置为false
,而while循环中的代码根本不会运行。
本文向大家介绍do……while和while……do有什么区别?相关面试题,主要包含被问及do……while和while……do有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 前一个循环一遍再判断,后一个判断以后 再循环。
通过使用parseInt(x),我们可以从字符串中获取整数值。但我们也可以从(x)中实现相同的功能。具体的功能差异是什么。前任:
问题内容: Java中的x 和 x之间有区别吗? 问题答案: 称为预增量,而称为后增量。
问题内容: 这个问题引起了有关perl中无限循环的问题:while(1)Vs。for(;;)是否存在速度差异?,我决定在python中运行类似的比较。我希望编译器会为和生成相同的字节码,但是python2.7实际上不是这种情况。 以下脚本: 产生以下结果: 使用明显更复杂。为什么是这样? 在其他情况下,python的行为就好像等于1: 为什么要区分两者? 我注意到python3确实使用相同的操作评
问题内容: 执行此操作后(幕后)会发生什么? 也就是说,当变量在一个语句中后增加并分配给它自己时?我编译并执行了这个。即使整个陈述之后仍然是7 。在我的书中,它说是递增的! 问题答案: 确实增加了。但是,你正在将 的旧值分配给它自己。 1.递增x并返回其旧值。 2. 将旧值分配回自己。 因此,最后将其分配回其初始值。
本文向大家介绍C语言中while(1)和while(0)之间的区别,包括了C语言中while(1)和while(0)之间的区别的使用技巧和注意事项,需要的朋友参考一下 众所周知,在C语言中,“ while”关键字用于定义一个循环,该循环在作为参数传递给循环的条件下起作用。现在,由于condition可以具有两个值true或false,因此,如果condition为true,则while块中的代码将