【问题标题】:what does this code snippet do (ternary operator)?这个代码片段有什么作用(三元运算符)?
【发布时间】:2016-06-17 17:01:21
【问题描述】:

这段代码 sn-p 有什么作用?

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

【问题讨论】:

  • 是的,因为在这两种情况下,你都提供了空格,要么 n 模 10 返回 o,要么不返回。但是区别是“”和“”都是空白,但在空格方面不同
  • “”和“”是有区别的。请做好你的基础知识。

标签: java ternary-operator conditional-operator


【解决方案1】:

如果你的数字除以十的余数不为零;

然后," "(空格)

否则,“”(空字符串)

我确定有些东西不见了。

【讨论】:

  • 我会发表评论,但我不能评论其他人的东西我不知道——也没有回答——是怎么回事。换句话说,对空格或空字符串做了什么
【解决方案2】:

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

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

打印:

--- ---

【讨论】:

    【解决方案3】:

    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 --");
        }
    }
    

    【讨论】:

      【解决方案4】:
      ((n % 10 != 0) ? " " : "")
      

      只是

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

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

      【讨论】:

        【解决方案5】:

        这称为三元运算符

        为什么叫“三元”?您可能知道,二元运算符是对两个操作数进行运算的运算符。因此,三元运算符对 3 个操作数进行操作。

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

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

        这和写是一样的

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

        所以如果你把代码翻译成英文,

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

        好处:

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

        缺点:

        • 有时很难理解
        • 如果嵌套它们,则很难维护

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-17
          • 2019-10-10
          • 1970-01-01
          • 2020-11-05
          • 1970-01-01
          相关资源
          最近更新 更多