所有!我一直在学习如何在Java中使用三元语句,我达到了这个阶段:
虽然,我一直在想,如果我不想让代码在条件为false时做任何事情,是否可以应用这一点。我知道你可以这样做:如果(* 条件 ){ 操作 *}那么,是否有可能在不分配假条件的情况下使用三元语句,如果有,如何使用?谢谢大家!
kpbwa7wx1#
条件?:运算符 * 不是 * 内联if语句。?:不是一个语句。它是一个表达式。你只能以总是产生一个值的方式使用它。换句话说,你必须在条件为true和false时提供一个值。请忍受if语句的“冗长”。下面是一些关于?:为什么不是内联if语句的演示:
?:
if
condition ? "hello" : "world";
Number n; if (true) { n = Integer.valueOf(1); } else { n = Double.valueOf(1.0); }
产生不同的值:
Number n = true ? Integer.valueOf(1) : Double.valueOf(1.0);
您可能会惊讶地发现n instanceof Double is true ...
n instanceof Double
true
whitzsjs2#
“三元”的意思是由三个元素组成,如果你只有一个条件,使用它是不合乎逻辑的,保持简单!)
vcirk6k63#
没有实用的方法可以用三进制表达式来模拟if (condition) { // code }。if (condition) {}和condition ? {}无论如何基本上是相同的长度;就用if写出来!
if (condition) { // code }
if (condition) {}
condition ? {}
3条答案
按热度按时间kpbwa7wx1#
条件
?:
运算符 * 不是 * 内联if
语句。?:
不是一个语句。它是一个表达式。你只能以总是产生一个值的方式使用它。换句话说,你必须在条件为true和false时提供一个值。请忍受
if
语句的“冗长”。下面是一些关于
?:
为什么不是内联if
语句的演示:?:
用作语句表达式(即,不能单独编写condition ? "hello" : "world";
产生不同的值:
您可能会惊讶地发现
n instanceof Double
istrue
...whitzsjs2#
“三元”的意思是由三个元素组成,如果你只有一个条件,使用它是不合乎逻辑的,保持简单!)
vcirk6k63#
没有实用的方法可以用三进制表达式来模拟
if (condition) { // code }
。if (condition) {}
和condition ? {}
无论如何基本上是相同的长度;就用if
写出来!