gpt4 book ai didi

Java 一行如果不适用于打印

转载 作者:行者123 更新时间:2023-12-01 14:07:25 25 4
gpt4 key购买 nike

如果你这样写:

    boolean condition;
(...)
String out = condition ? "true" : "false";
System.out.println(out);

它有效。但是如果你写

    condition ? System.out.println("true") : System.out.println("false");

您会收到“非陈述”错误。 “正确”的方式是写(大括号的用法或“是否在一行”超出了问题的范围):

    if (condition)
System.out.println("true");
else
System.out.println("false");

为什么?单行 ifs 必须总是返回一个值?

编辑:致所有指出这一点的人

    condition ? System.out.println("true") : System.out.println("false");

不是正确的语法,是的,我得到了那部分。我不是在寻求解决方案(尽管

    System.out.println(condition ? "true" : "false");

很好。

@Andrew Tobilko 这是在哪里说明的? 是我感兴趣的。

EDIT2:接受的答案正是我想要的。谢谢

最佳答案

条件 ? System.out.println("true") : System.out.println("false");不是陈述。

来自 here :

In computer science, a ternary operator is an operator that takes three arguments.

System.out.println("true") 不适合作为参数,因为方法 println()void 类型。因此,它不是一个声明。

改用这个:

System.out.println(condition ? "true": "false");

关于Java 一行如果不适用于打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36177577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com