📜  Java程序的输出 |第 37 集(If-else)

📅  最后修改于: 2022-05-13 01:56:11.019000             🧑  作者: Mango

Java程序的输出 |第 37 集(If-else)

先决条件:if else, for 循环

1. 以下程序的输出是什么?

public
class Test {
public
    static void main(String[] args)
    {
        for (;;)
            System.out.println("GEEKS");
    }
}

选项:
1.极客
2.编译时错误
3.运行时异常
4.GEEKS(无限)

The answer is option (4)

说明:在上面的例子中,我们使用了 for 循环。在 for 循环中,如果我们没有提供任何初始化、条件检查和递增/递减部分,那么如果我们没有在语句中提供任何条件,它将进入无限循环。

2. 以下程序的输出是什么?



class Test {
public
    static void main(String[] args)
    {
        for (int i = 0; i < 3😉
            System.out.println("GEEKS");
    }
}

选项:
1.极客极客极客
2.编译时错误
3.GEEKS(无限)
4.无输出

The answer is option (3)

解释:当我们在增量/减量部分没有采取任何语句时,因此超时它不会增加/减少 I 的值并且条件始终为真。这就是为什么它会变成极客(无限)。

3. 以下程序的输出是什么?

class Test {
public
    static void main(String[] args)
    {
        boolean b = true;
        if (b = false) {
            System.out.println("HELLO");
        } else {
            System.out.println("BYE");
        }
    }
}

选项:
1.你好
2.再见
3.编译时报错:重新初始化
4.无输出

The answer is option (2)

说明:在 if 语句的条件下,我们将 false 分配给 b,它返回一个布尔值,该值为 false。因此,控制转到 else 部分,输出为 BYE。

4. 以下程序的输出是什么?

public
class Test {
public
    static void main(String[] args)
    {
        int a = 10, b = 20;
        if (a < b) {
            if (a > b) {
                System.out.println("HELLO GEEKS");
            } else {
                System.out.println("WELCOME");
            }
        }
    }
}

选项:
1.你好极客
2.欢迎
3.编译时错误
4.你好极客欢迎

The answer is option (2)

说明:这里我们定义了嵌套的 if 和单个 else 部分。在Java,有没有在Java中晃来晃去别的问题。所有 else 都映射到最近的 if 语句。因此else部分属于上面程序中的if(x>y),它返回false,这就是为什么控制转到else部分并且输出是WELCOME。

5. 以下程序的输出是什么?

class Test {
public
    static void main(String[] args)
    {
        for (int i = 0;; i++) {
            System.out.println("HIII");
        }
        System.out.println("BYE");
    }
}

选项:
1. HIII
2. HIII(无限)
3. 再见
4.编译时错误

The answer is option (4)

说明:在上面的 for 循环中,它将无限循环,并且上面的程序不给程序的下一行任何机会。这就是为什么编译器会给出编译时错误,说 error: unreachable 语句。