可能重复:
What is the Java ?: operator called and what does it do?
对于其他一些问题,这可能是一个重复的问题,但我找不到它。
昨天我看到一个人使用?
和:
编写if语句的新方法,我不确定他们的意思是什么。
如果有人可以指出我的教程或已经回答的问题,我将非常感激。
答案 0 :(得分:7)
答案 1 :(得分:5)
(condition) ? (what happens if true) : (what happens if false);
使用示例:
int a = 1;
int b = (a == 1) ? 2 : (a + 1);
答案 2 :(得分:5)
这是一个三元运营商。一般形式:
expr1 ? expr2 : expr3
如果expr1
的计算结果为true,则返回的结果为expr2
,否则为expr3
。例如:
Object obj = (obj != null) ? obj : new Object();
如果对象是null
,则可以轻松初始化对象。
答案 3 :(得分:4)
(声明)? TRUE:FALSE
伪代码示例:a = (5 > 3) ? 1 : 0
如果该陈述为真,则a将为1(它是),否则为0.
答案 4 :(得分:2)
这被称为三元运算符,它是一种可爱的(如果有时难以阅读)编写IF语句的方式。
if ( x == 3) {
do-magic
}
else {
do-other-magic
}
将表达如下:
x == 3 ? do-magic : do-other-magic