📜  Java程序的输出 |第 35 组(决策)

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

Java程序的输出 |第 35 组(决策)

先决条件: Java的决策
预测以下程序的输出

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

public
class Test {
public
    static void main(String[] args)
    {
        int x = 10;
        if (x) {
            System.out.println("HELLO GEEKS");
        } else {
            System.out.println("BYE");
        }
    }
}

选项:
1.你好极客
2.编译时错误
3. 运行时错误
4. 再见
输出:

The answer is option (2).

说明: if 语句的参数应该是布尔类型。错误地如果我们试图提供任何其他数据类型,那么我们将收到编译时错误,提示类型不兼容。这里的参数是 int 类型,因此我们会得到编译时错误,说 error: incompatible types: int cannot be convert to Boolean

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



public
class Test {
public
    static void main(String[] args)
    {
        int x = 10;
        if (x)
            System.out.println("HELLO GEEKS");
        System.out.println("WELCOME");
  
        else
        {
            System.out.println("BYE");
        }
    }
}

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

The answer is option (4)

说明:花括号在 if 部分是可选的。如果没有花括号,则在 if 下只允许一个语句。如果我们尝试给出多个语句,那么我们将得到编译时错误,提示 error: 'else' without 'if'。

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

public
class Test {
public
    static void main(String[] args)
    {
        int x = 10, y = 20;
        if (x < y)
            int a = 10;
        else {
            System.out.println("BYE");
        }
    }
}

选项:
1. 10
2. 再见
3.无输出
4.编译时错误
输出:

The answer is option (4).

说明:在上面的程序中,if 语句中有一个没有花括号的声明性语句,这就是为什么我们会得到编译时错误消息 Error: variable declaration not allowed here 。

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

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

输出:
1.你好极客
2.编译时错误
3. 欢迎
4. 无输出

The answer is option (3)

说明: Java没有悬空 else 问题。每个 else 都映射到最近的 if 语句。这里的内部 else if 映射到最近的 if 部分,即 if(x>y)。



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

public
class Test {
public
    static void main(String[] args)
    {
        if (true)
            ;
    }
}

选项:
1. 无输出
2.编译时错误
3. 运行时错误
4. 运行时异常
输出:

The answer is option (1)

说明: ;(分号) 是一个有效的Java语句,也称为空语句。因此我们也可以在 if 语句中应用它。

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

class Test {
public
    static void main(String[] args)
    {
        String day = "Sunday";
        switch (day) {
        case "Monday":
            System.out.println("Let's Work");
            break;
        case "Saturday":
            System.out.println("waiting for Sunday");
            break;
        case "Sunday":
            System.out.println("Today is fun day");
        }
    }
}

选项:
1.编译时错误
2.让我们工作
3. 运行时错误
4.今天是有趣的一天
输出:

The answer is option (4)

说明: switch 语句允许的参数类型是 byte、short、char、int,直到 1.4 版本。但是从 1.5 版本开始,也允许相应的包装类和枚举类型。从 1.7 版本开始,也允许 String 类型。详细参考这篇文章

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

public
class MainClass {
    enum day { MON,
               SAT,
               SUN } public static void main(String[] args)
    {
        day ch = day.SUN;
        switch (ch) {
        case MON:
            System.out.println("Lets work!");
            break;
        case SAT:
            System.out.println("Waiting for sunday");
            break;
        case SUN:
            System.out.println("Lets have fun!");
            break;
        }
    }
}

选项:
1. 无输出
2. 语法错误
3.让我们玩得开心!
4.编译时错误
输出:

The answer is option (3)

说明: switch 语句允许的参数类型是 byte、short、char、int,直到 1.4 版本。但是从 1.5 版本开始,也允许相应的包装类和枚举类型。从 1.7 版本开始,也允许 String 类型。

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



class MainClass {
public
    static void main(String[] args)
    {
        int x = 10;
        Switch(x)
        {
            System.out.println("GEEKS");
        }
    }
}

选项:
1.极客
2.编译时错误
3. 无输出
4. 运行时错误
输出:

The answer is option (2)

说明:在 switch 内部,每个语句都应该在某种情况下或默认情况下,即在 switch 内部不允许独立,否则我们会得到编译时错误,说 error:';'预期的。

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

class MainClass {
public
    static void main(String[] args)
    {
        int x = 10;
        int y = 20;
        switch (x) {
        case 10:
            System.out.println("HELLO");
            break;
        case y:
            System.out.println("GEEKS");
            break;
        }
    }
}

选项:
1. 你好
2. 无输出
3.极客
4.编译时错误
输出:

The answer is option (4)

说明:每个 case 标签都应该是常量,否则我们会得到编译时错误。但是我们可以添加变量作为 case 标签,但我们必须将该变量声明为 final。但是这里我们使用变量 y 作为 case 标签,这就是为什么我们会得到编译时错误,说错误:需要常量表达式。

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

class MainClass {
public
    static void main(String[] args)
    {
        int x = 10;
        final int y = 20;
        switch (x) {
        case 10:
            System.out.println("HELLO");
            break;
        case y:
            System.out.println("GEEKS");
            break;
        }
    }
}

选项:
1.极客
2.编译时错误
3. 你好
4. 无输出
输出:

The answer is option (3)

说明:每个 case 标签都应该是常量,否则我们会得到编译时错误。但是我们可以添加变量作为 case 标签,但我们必须将该变量声明为 final。但是这里我们使用变量 y 作为案例标签,这就是为什么我们会得到 HELLO 的结果。

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

class MainClass {
public
    static void main(String[] args)
    {
        int x = 10;
        switch (x + 1 + 1) {
        case 10:
            System.out.println("HELLO");
            break;
        case 10 + 1 + 1:
            System.out.println("GEEKS");
            break;
        }
    }
}

输出:
1.编译时错误
2.极客
3. 你好
4. 无输出

The answer is option (2).

说明: Switch 参数和 case 标签都可以是表达式。但是 case 标签应该是常量表达式。 这里 case 标签“10+1+1”被视为 case 12,switch 参数“x+1+1”也被视为 12。

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

class MainClass {
public
    static void main(String arg[])
    {
        char stream = 'C';
        int x = 2;
  
        switch (x) {
        case 1:
            System.out.println("SCIENCE, MATHS, PHYSICS");
            break;
        case 2:
            switch (stream) {
            case 'A':
                System.out.println("Welcome");
                break;
            case 'C':
                System.out.println("Geeksforgeeks");
                break;
            case 'B':
                System.out.println("Have a nice day");
                break;
            }
            break;
        case 3:
            switch (stream) {
            case 'C':
                System.out.println("Welcome");
                break;
            case 'D':
                System.out.println("In");
                break;
            case 'E':
                System.out.println("GFG");
                break;
            }
            break;
        }
    }
}

选项:
1.编译时错误
2.GFG
3. 无输出
4. Geeksforgeeks
输出:

The answer is option (4)

说明:在Java可以使用嵌套 switch case。嵌套的 switch 语句是另一个 switch 语句中的 switch 语句。