【问题标题】:i want to understand the code that i show for java return statement我想了解我为 java return 语句显示的代码
【发布时间】:2019-11-20 21:32:16
【问题描述】:

我在课堂作业中发现了这个问题,我很困惑

我什么都没试过

public static String evenOrOdd(int num) {
    return num%2==0?"Even":"Odd";
}

代码运行良好;我只是想知道它是如何工作的。

【问题讨论】:

  • 搜索“三元运算符”
  • 您不理解该语句中的哪个构造?取模 (%) 运算符还是三元 (? :) 运算符?
  • Ternary Operators Java的可能重复

标签: java ternary-operator


【解决方案1】:

这称为三元运算符,其逻辑如下

a question ? positive answer : negative answer

或者,使用更正式的术语

boolean expression ? return value for true : return value for false 

所以,您的问题是关于num % 2 == 0,这意味着num 除以二的余数是否为零。如果是这种情况——它是一个偶数,如果不是——它是一个奇数,这就是返回相应字符串值的原因。

【讨论】:

    【解决方案2】:

    它基本上是一个if elsestatement。

    如果条件为真,它将返回第一个选项。如果不是(如果是假的),它会返回第二个:

    num%2==0?"Even":"Odd";
    

    如果num%2==0,那么它就是Even。如果不是,则为Odd

    单行:

    if(num%2==0) return "Even";
    else return "Odd";
    

    【讨论】:

      【解决方案3】:

      寻找三元运算符 上面的代码是

      public static String evenOrOdd(int num) {
          if(num%2==0){
            return "even";
          }else{
            return "Odd";
          }
        }
      

      【讨论】:

        【解决方案4】:

        三元运算符就像if else 语句。

        if (num % 2 == 0) {
         return "Even";
        } else {
         return "Odd";
        }
        

        如果? 标记之前的部分是true,那么您将得到: 之前的结果。 如果false 则在: 之后

        【讨论】:

          猜你喜欢
          • 2021-08-21
          • 2023-03-05
          • 1970-01-01
          • 2015-07-11
          • 2018-03-05
          • 2017-09-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多