这个问题是我在课堂上发现的,我很困惑
我什么都没尝试
public static String evenOrOdd(int num) {
return num%2==0?"Even":"Odd";
}
代码运行良好;我只想知道它是如何工作的。
答案 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的余数是否为零。如果是这种情况,则为偶数,否则为奇数,这就是为什么要返回相应的字符串值的原因。