这段代码片段做了什么(三元运算符)?

时间:2016-03-04 04:22:43

标签: java ternary-operator conditional-operator

此代码段的作用是什么?

((n % 10 != 0) ? " " : "")

5 个答案:

答案 0 :(得分:0)

如果你的数字的剩余部分除以10不是零;

然后,“”(空格)

否则,“”(空字符串)

我确定缺少一些东西。

答案 1 :(得分:0)

如果n不是10的公分母,则返回空格。

int n = 21;
String result = ((n % 10 != 0) ? " " : "");
System.out.println("---" + result + "---");

打印:

--- ---

答案 2 :(得分:0)

<强> ternaryCheck.java

public class ternaryCheck {

public static void main(String[] args) {
        String a;
        int n = 10; //if n = 10 Outputs My nameis ---- (With no space)
        //int n = 11; //if n = 11 Outputs My name is ---- (See the difference because there is a space in the middle)
        a = ((n % 10 != 0) ? " " : ""); //" " --> means a space & "" --> means no space 
        System.out.println("My name"+a+"is --");
    }
}

答案 3 :(得分:0)

((n % 10 != 0) ? " " : "")

只是

if (n % 10 != 0) {
    answer = " ";
} else {
    answer = "";
}

如果条件为真,则执行空格" "。否则执行"";

答案 4 :(得分:0)

这称为三元运算符

为什么叫它&#34;三元&#34;?您可能知道,二元运算符是对两个操作数进行操作的运算符。因此,三元运算符在3个操作数上运行。

它做什么?三元运算符只是编写if语句的一种奇特方式。例如,你有这段代码

String myString = ((n % 10 != 0) ? " " : "");

这与写作

相同
String myString;
if (n % 10 != 0) {
    myString = " ";
} else {
    myString = "";
}

因此,如果您将代码翻译成英文,

  

如果n不能被10整除,请将myString的值设置为空格字符。如果n可被10整除,请将myString的值设置为空字符串。

优点:

  • 简化代码
  • 更优雅
  • 简洁

缺点:

  • 有时很难理解
  • 如果你筑巢它们很难维护