[英]Java operators “:” “?”
我不确定如何使用运算符:
和?
示例:方法末尾有这段代码
return row <= -1 || row == rows || col <= -1 || col == cols ?
false : lifeBoard[row][col];
如何将其拆分为if / else类型?
?:
三元运算符 )作为紧凑的if-else起作用:
if (row <= -1 || row == rows || col <= -1 || col == cols) {
return false;
}
else {
return lifeBoard[row][col];
}
之前有?
是?
条件?
和:
如果条件为真,则返回结果;之后:
如果条件为假,则返回结果。
这个:
return row <= -1 || row == rows || col <= -1 || col == cols ?
false : lifeBoard[row][col];
等效于此:
if (row <= -1 || row == rows || col <= -1 || col == cols) {
return false;
} else {
return lifeBoard[row][col];
}
三元运算符?:
的语法是:
? :
就像if / else一样,但是可以在return语句或类似语句内使用:
return (x != null ? x : "null");
如果/其他版本:
if (row <= -1 || row == rows || col <= -1 || col == cols) {
return false;
} else {
return lifeBoard[row][col];
}
这是语法:
<boolean expression> ? <value if true> : <value if false>
例
boolean myBool = getMyBool();
String myStr = myBol ? "myBol is true" : "myBol is false";
System.out.println(myStr);
这是一个三元操作。 所以举个例子
minVal = (a < b) ? a : b;
将与
if(a < b) {
minVal = a;
}
else {
minVal = b;
}
它是一个条件运算符,也称为三元运算符。 它只是if else语句的紧凑形式,其中您不必单独使用if和else。
运作方式如下...
“?”-在“?”之前写的任何东西? 是条件
“:”-如果在“?”之前提到的条件,则选择在“:”之前写的任何内容作为结果。 是真的
如果在“?”之前提到的条件,则选择“:”之后写的任何内容作为结果。 是假的
这是这样的...
因此,可以很容易地将给定代码拆分为if / else,如下所示:
if (row <= -1 || row == rows || col <= -1 || col == cols) {
return false;
}
else {
return lifeBoard[row][col];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.