什么是“int min =(top< bottom?top:bottom);”到底怎么办?

时间:2014-02-23 21:32:17

标签: java

我正在阅读我的教授建议我们看一下的Java程序,并考虑当我遇到这一系列编程时每行如何工作。该程序处理分数,这一行出现在一个用于确定最大公约数的方法中。令我困惑的部分是括号内的编码因为我不确定是什么“?”除了“top:bottom”之外还会做什么。如果有人能解释这是什么,我将不胜感激!

5 个答案:

答案 0 :(得分:2)

int min;
if (top < bottom)
  min = top;
else
  min = bottom;

与上述代码相同

答案 1 :(得分:1)

这称为ternary operator,基本上它是

的缩写
if (top < bottom) {
    min = top;
} else {
    min = bottom;
}

答案 2 :(得分:0)

if (top<bottom)min=top
else min=bottom

答案 3 :(得分:0)

这是一个三元运算符,执行内联if语句

答案 4 :(得分:0)

它是三元运算符(不一定特定于Java;它也用于其他编程语言)。

在Java中,它是唯一接受3个操作数的运算符。它实际上做的是:

- 给定a ? b : c

- 评估a,它应该是一个布尔表达式

- 如果atrue,则整个运算符返回b

- 否则,它会返回c