Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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 下面的“if语句”如何与multiple“OR”运算符一起工作_Java_If Statement - Fatal编程技术网

Java 下面的“if语句”如何与multiple“OR”运算符一起工作

Java 下面的“if语句”如何与multiple“OR”运算符一起工作,java,if-statement,Java,If Statement,我对循环的工作原理知之甚少。但是下面的程序包含多个循环,if语句包含多个OR运算符。我不确定if语句在这个程序中到底是如何工作的,所以请有人给我解释一下 public static void printSquareStar(int number) { if (number < 5) { System.out.println("Invalid Value"); } else { //Rows for (int i = 1; i

我对循环的工作原理知之甚少。但是下面的程序包含多个循环,if语句包含多个OR运算符。我不确定if语句在这个程序中到底是如何工作的,所以请有人给我解释一下

public static void printSquareStar(int number) {
    if (number < 5) {
        System.out.println("Invalid Value");
    } else {
        //Rows
        for (int i = 1; i <= number; i++) {
            //Columns
            for (int j = 1; j <= number; j++) {
                if ((i == 1) || (i == number) || (j == 1) || (j == number) || (i == j) || (j == (number - i + 1))) {
                    System.out.print("*");
                } else {
                    System.out.print(" ");
                }

            }
            System.out.println();
        }
    }
}
如果这些语句中的任何一条为true,则执行If语句。执行else块的唯一时间是当所有这些语句都为false时。这就是OR操作符的工作方式

类似地,AND&&运算符是相反的。要执行if块,所有语句都必须为true


希望这能让事情变得更清楚一点。

在if中,首先检查每个| |的左边,每当其中任何一个计算为true时,if条件完成,它不再检查整个if条件是否为true程序的输出是什么?
if ((i == 1) - variable i is equal to 1?
|| OR
(i == number) variable i is equal to number?
||
(j == 1) variable j is equal to 1?
||
(j == number) j is equal to number?
||
(i == j) i is equal to j?
||
(j == (number - i + 1))) j is equal to number subtract i plus one?