逻辑-Java编程执行while循环
因此,当您使用Java编写代码并执行do-while循环时,当有多个条件要中断循环时,您必须使用&(and)而不是| |(or)。我知道&将打破循环 在本例中,输入1、2、3或4会中断循环,但为什么是&&!??!我的教授解释不了逻辑-Java编程执行while循环,java,logic,do-while,explain,Java,Logic,Do While,Explain,因此,当您使用Java编写代码并执行do-while循环时,当有多个条件要中断循环时,您必须使用&(and)而不是| |(or)。我知道&将打破循环 在本例中,输入1、2、3或4会中断循环,但为什么是&&!??!我的教授解释不了 import java.util.*; public class ErrorTrap { public static void main(String[] args) { System.out.println("Program by --
import java.util.*;
public class ErrorTrap
{
public static void main(String[] args)
{
System.out.println("Program by --");
System.out.println();
System.out.println("Error Traps");
System.out.println();
//initialize variables
Scanner input = new Scanner(System.in);
char year;
//user input
do {
System.out.print("Please input a 1, 2, 3 or 4: ");
year = input.nextLine().charAt(0);
//output
System.out.println(num);
System.out.println();
}
while(year != '1' && year != '2' && year != '3' && year != '4');
}//end main
}//end ErrorTrap
假设用户输入
5
让我们检查一下结果:
5 != 1 is true
5 != 2 is true
5 != 3 is true
5 != 4 is true
true&&true&&true&&true&&true
为true
因此循环保持循环
例如,一旦用户输入3
,我们就有以下内容:
3 != 1 is true
3 != 2 is true
3 != 3 is false
3 != 4 is true
true&&true&&false&&true
是false
所以我们中断循环
现在让我们假设您考虑使用|
,并放入3
:
3 != 1 is true
3 != 2 is true
3 != 3 is false
3 != 4 is true
true | |任何
都会发出true
,因此代码不符合您的规范,因为您希望在输入2
、3
或4
时中断
小规则: 如果您使用的是
|
,并且第一个测试是true
,编译器甚至不必测试其余的测试,输出将是true
&
也是如此,第一个测试是false
只要年份不等于'1'和'2'以及'3'和'4',do括号内的代码就会被执行。换句话说,只要年份值不等于其中一个。但是如果您使用|
而不是&&
,那么代码将一直执行。因为一个条件就足够了1',即使year='2',也将执行代码
&& is restricted, you should meet all conditions to validate code.
|| is not restricted, you just need to meet one condition of desired
conditions to validate code.
是多个条件的正确语法,因为添加的“&&&”允许程序知道每个条件都依赖于语句中的其他条件,如果其中一个条件为false,则语句中断。-而“| |”用于独立的语句
比如说,
String Apple = "Red";
if(Apple.equals("Red")||Apple.equals("Green")){
return true;
} else {
return false;
}
if语句将返回true,即使苹果不是绿色的,它也会检查一个条件是否为true
当
无论发生什么情况,这都将返回false,因为这两个条件相互依赖
希望这有帮助
而(年份!='1'和年!='2'和年!='3'和年!='4')
您将在此处使用&&
运算符,因为为了在此处中断循环,“year”不能是1,也不能是2,也不能是3,也不能是4
如果要使用OR运算符(|
),其中一个可能为false,另一个为true,但循环仍将继续
基本上,为了打破循环,需要将year==1、2、3和4设置为false。如果您使用
&&
,则所有这些值都必须为false。如果你使用<代码> < <代码>,并不是所有的循环都必须是假的。 <代码> & & <代码>意味着所有的条件都必须是真的,以便继续执行。代码< > <代码>意味着只有一个条件足以继续执行。如果你的教授不能解释这一点,也许你应该考虑更换教授。
String Apple = "Red";
if(Apple.equals("Red")||Apple.equals("Green")){
return true;
} else {
return false;
}
String Apple = "Red";
if(Apple.equals("Red")&&Apple.equals("Green")){
return true;
} else {
return false;
}