小编典典

Java什么是问号“?” 和冒号“:”运算符用于什么?

java

关于使用问号“?”的两个问题 在打印功能的括号内加上冒号“:”运算符:它们是做什么的?另外,有人知道它们的标准术语吗,或者在哪里可以找到有关它们使用的更多信息?我读过它们类似于’if’‘else’语句。

int row = 10;
int column;
while (row >= 1)
{
    column = 1;
    while(column <= 10)
    {
        System.out.print(row % 2 == 1 ? "<" : "\r>");
        ++column;
    }
    --row;
    System.out.println();

阅读 1417

收藏
2020-03-13

共1个答案

小编典典

这是三元条件运算符,可以在任何地方使用,而不仅仅是print语句。它有时被称为“三元运算符”,但它不是唯一的三元运算符,而是最常见的一个。

这是Wikipedia的一个很好的例子,展示了它的工作原理:

使用C,Java和JavaScript编写传统的if-else构造:

if (a > b) {
    result = x;
} else {
    result = y;
}

可以将其重写为以下语句:

result = a > b ? x : y;

基本上采用以下形式:

boolean statement ? true result : false result;

因此,如果布尔语句为true,则得到第一部分;如果为false,则得到第二部分。

如果仍然没有意义,请尝试以下方法:

System.out.println(true ? "true!" : "false.");
System.out.println(false ? "true!" : "false.");
2020-03-13