什么是一元代码在java中意味着什么

时间:2013-10-30 05:44:59

标签: java

我有两种不同类型的相同代码,它们会产生相同的结果。

第一个是

public String gender(int num){
    if (num==0){
        return "Female";
    } else{               
        return "Male";
    }
}

第二个是

public String gender(int num){
    return num == 0 ? "Female" : "Male" ;
}

你能告诉我这两种绳索图案有什么不同吗? (当然不是代码长度。)我的一位朋友告诉我,第二个代码模式在java中被称为一元代码或类似的东西。我觉得这种方式非常有效。所以我想了解这一点。请帮我。

4 个答案:

答案 0 :(得分:5)

其名为ternary运算符

return  num == 0 ? "Female" : "Male";

相同
if (num==0){ 
  return "Female"; 
}else{
  return "Male"; 
}

答案 1 :(得分:2)

它是ternary operator并且等于if-else

 result = someCondition ? value1 : value2;

因此根据条件,结果变量得到一个值。

这是if else的简写形式。

  

另一个条件运算符是?:,它可以被认为是if-then-else语句的简写。此运算符也称为三元运算符,因为它使用三个操作数。在下面的示例中,此运算符应读作:“如果someCondition为true,则将value1的值赋给result。否则,将value2的值赋给result。”

答案 2 :(得分:0)

声明

 return num == 0 ? "Female" : "Male" ;
        _________     ^            ^
            ^         |            |
            |        Return this   |__ Return this if expression false
        Expression  if expression 
                       true

它返回表达式的结果 - (num == 0?“Female”:“Male”)

检查num是否等于0。如果是,则结果是第一个参数,即“女性”,否则第二个参数,即“男性”,如果num不为零。

答案 3 :(得分:0)

Have a look at this Example,它将Integer转换为Double,

使用条件运算符与使用if语句

没有性能优势

使用ternary为代码提供了更好的可读性。你正在交易一行,它简明扼要地表达你想要的九行有效混乱。