关于使用问号“?”的两个问题 在打印功能的括号内加上冒号“:”运算符:它们是做什么的?另外,有人知道它们的标准术语吗,或者在哪里可以找到有关它们使用的更多信息?我读过它们类似于’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();
这是三元条件运算符,可以在任何地方使用,而不仅仅是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.");