我想了解我为java return语句显示的代码

时间:2019-07-11 08:12:23

标签: java ternary-operator

这个问题是我在课堂上发现的,我很困惑

我什么都没尝试

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

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

4 个答案:

答案 0 :(得分:2)

这基本上是一个if else声明。

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

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

如果num%2==0,则为Even。如果不是,则为Odd

这是一个单行代码:

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

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

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

a question ? positive answer : negative answer

或者使用更正式的术语

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

因此,您的问题与num % 2 == 0有关,这意味着num除以2的余数是否为零。如果是这种情况,则为偶数,否则为奇数,这就是为什么要返回相应的字符串值的原因。