内联If-Statement Java

kmynzznz  于 2023-03-28  发布在  Java
关注(0)|答案(3)|浏览(86)

所有!我一直在学习如何在Java中使用三元语句,我达到了这个阶段:

  • variable* =(condition)?* 如果condition为false会发生什么 如果条件为真会发生什么 *

虽然,我一直在想,如果我不想让代码在条件为false时做任何事情,是否可以应用这一点。我知道你可以这样做:
如果(* 条件 ){ 操作 *}
那么,是否有可能在不分配假条件的情况下使用三元语句,如果有,如何使用?
谢谢大家!

kpbwa7wx

kpbwa7wx1#

条件?:运算符 * 不是 * 内联if语句。
?:不是一个语句。它是一个表达式。你只能以总是产生一个值的方式使用它。换句话说,你必须在条件为true和false时提供一个值。
请忍受if语句的“冗长”。
下面是一些关于?:为什么不是内联if语句的演示:

  • 你不能从任何一个分支返回
  • 你不能从树枝上扔
  • 不能将?:用作语句表达式(即,不能单独编写condition ? "hello" : "world";
  • 不能在其中一个分支中(直接)调用void方法
  • 也许最令人好奇的是:
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 ...

whitzsjs

whitzsjs2#

“三元”的意思是由三个元素组成,如果你只有一个条件,使用它是不合乎逻辑的,保持简单!)

vcirk6k6

vcirk6k63#

没有实用的方法可以用三进制表达式来模拟if (condition) { // code }
if (condition) {}condition ? {}无论如何基本上是相同的长度;就用if写出来!

相关问题