[英]Short java if else if else statement
我有一个if else简短声明,如下所示:
(one == two) ? "do this" : "do this"
无论如何,是否要在此语句中添加if语句?
我似乎找不到其他东西...
我是专门针对简短的声明,而不是如果其他的话可以直接做。
谢谢。
您可以将其扩展到任意数量的子句,与if-else
构造完全相似。
return a == b? "b"
: a == c? "c"
: a == d? "d"
: "x";
以这种形式,它在形状和语义上都非常类似于Lisp的cond
。
但是,请注意,这不是“ if / else的简写”,因为它是一个表达式,而if / else是一个语句 。 如果表达式有任何副作用,对三元运算符的滥用将是非常糟糕的。
如果要转换类似:
if(A) {
return X;
}
else if(B) {
return Y;
}
else {
return Z;
}
您可以这样写:
A ? X : (B ? Y : Z);
因此,您可以将else if
作为条件写在上层表达式的else -part( :
之后)中。
但是,我强烈建议不要过多级联。 该代码变得极不可读,并且? :
? :
从来没有为此设计代码结构。
“:”是其他
(one == two) ? "do this" : "do that"
如果一个等于2,则“执行此操作”,否则(如果一个不等于2)则“执行此操作”。
在某些情况下,我有时会使用地图:
private final static Map <String, String> codesMap = <generate the map with values>
...
codesMap.get(one)
是的,上述语句可以使用if-else编写。 这里使用三元运算符。
if(one==two)
{
//Code
}
else
{
//code
}
三元运算符通过在一个语句中而不是使用“?:”语句编写条件来减少代码行(LOC)。
有关更多信息,请参阅:
这就像if-else-statement
但是从技术上讲,您可以将其转换为if-else-statement
。 看起来像这样:
if (one == two) {
"do this"
} else {
"do that"
}
如果您的问题是是否可以将if语句插入(one == two) ? "do this" : "do this"
(one == two) ? "do this" : "do this"
...不,您应该使用嵌套的if语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.