Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
逻辑-Java编程执行while循环_Java_Logic_Do While_Explain - Fatal编程技术网

逻辑-Java编程执行while循环

逻辑-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 --

因此,当您使用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 --");
        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;
}