【问题标题】:What does ?: mean in Java [duplicate]什么?:在Java中的意思[重复]
【发布时间】:2014-09-07 11:14:43
【问题描述】:

在下面的代码中:

public static void main(String[] args) {
    String echo = (args.length == 1) ?  "Your name is "+args[0]: "Wrong number of arguments!";
    System.out.println(echo);
}

如果你只给出一个参数,它会打印你的名字,否则它会警告你参数数量错误,这很清楚,但是?: 运算符在这里如何工作?

【问题讨论】:

  • 这是“困惑的脸”运算符 - 这意味着您不知道“三元运算符”一词,因此无法在线搜索。
  • 我是Elvis
  • @BenjaminGruenbaum:我不敢苟同! google.co.uk/search?q=java%20operator - 前两次点击会给你名字。

标签: java


【解决方案1】:

?: 操作符称为Ternary operator,用法如下:

condition ? value_if_true : value_if_false

你的代码可以写成:

public static void main(String[] args) {

    String echo = null;
    if(args.length == 1){
        echo = "Your name is " + args[0];
    }else{
        echo = "Wrong number of arguments!";
    }

    System.out.println(echo);

}   

【讨论】:

    【解决方案2】:

    ternary operator

    a ? b : c
    

    表示:b 如果a 为真,否则c

    【讨论】:

      【解决方案3】:

      这有点像 if 子句。这个三元运算符的第一部分是测试语句,如果它的计算结果为真,它会执行后面的代码?如果不是,则在之后执行:

      【讨论】:

        猜你喜欢
        • 2015-09-12
        • 2016-05-14
        • 2016-05-18
        • 2012-08-13
        • 1970-01-01
        • 1970-01-01
        • 2012-05-05
        • 1970-01-01
        • 2013-10-04
        相关资源
        最近更新 更多