1

可能重复:
什么是 Java ?: 运算符,它有什么作用?

在某些代码?中,a 用于执行数学方程。

它是什么以及如何使用它?是否可以提供一个例子以及方程最终答案的原因?

int count = getChildCount();
int top = count > 0 ? getChildAt(0).getTop() : 0;
4

8 回答 8

10

基本上是三元运算符:

String mood = (isHappy == true)?"I'm Happy!":"I'm Sad!"; 

如果是快乐,那么“我很快乐!”。“我很伤心!” 除此以外。

于 2012-10-25T17:54:45.900 回答
4

我想你的意思是x = () ? y : z;符号之类的东西?如果是这种情况,则括号内的表达式被评估为布尔值,true x = y否则x = z

于 2012-10-25T17:54:35.630 回答
4
int count = getChildCount();
int top = count > 0 ? getChildAt(0).getTop() : 0;

getChildAt(0).getTop()表示如果count变量大于 0,top 变量将包含 的值,否则将等于0

于 2012-10-25T17:56:22.447 回答
2

我的猜测是您指的是三元运算符,它的用法如下:

<some condition> ? <some value> : <some other value>;

例如:

int max = a > b ? a : b;

它是 an 的简写,if相当于:

int max;
if (a > b) {
    max = a;
} else {
    max = b;
}

但允许代码中的单行结果。

如果使用得当,由于其简洁性,它可以使代码更加清晰。但是,如果行变得太长或太复杂,建议小心:代码只有在术语简短时才保持可读性。

于 2012-10-25T17:57:37.087 回答
0

?求值表达式中的 称为三元运算符。它本质上是一个if() ... else块的简写。

http://en.wikipedia.org/wiki/%3F

于 2012-10-25T17:55:42.560 回答
0

我假设您指的是三元运算符。它是某些 if 语句的简写。你在哪里做作业,比如:

int dozen = (bakersDozen) ? 13 : 12;

假设bakersDozen为真,则为dozen13。如果为假,则为 12。

于 2012-10-25T17:56:05.287 回答
0
int result = (a > b) ? 1 : 0;

是一样的

int result;
if (a > b)
  result = 1;
else
  result = 0;
于 2012-10-25T17:56:20.157 回答
0

? 通常是三元(或三元)运算符。所以让我们解释一下它在做什么。

myValue = (a = b) ? 1 : 0;

第一部分是你的条件。“a等于b吗?”

第二部分是真实的反应。

第三部分是虚假回应。

因此,如果 a 等于 b,myValue 将为 1。如果 a 不等于 b,myValue 将为 0。

http://en.wikipedia.org/wiki/Ternary_operation

于 2012-10-25T17:56:59.270 回答