if语句带有“?”运算符并且断开java


نسر الصحراء
2025-03-17 02:15:18 (22天前)


我找不到任何地方怎么办方法?运营商。
只有我所知道的:

boolean something =(!再次)?真假;
这会返回我的真或假,但如果我有方法有休息吗?像这样:


3 条回复
  1. 0# 没身份别烦我 | 2019-08-31 10-32




    break;

    是一份声明。在java中,语句和表达式通常不能混合,尽管一些事情(赋值,一元递增/递减表达式,构造函数调用和方法调用)都是。



    三元运算符仅适用于表达式。



    就这么简单。打破

    不是表达
    </强>
    ,以及’a’和’b’

    cond ? a : b


    一定是
    </强>
    表达式。




    if (!again) break;

    是唯一的方法。


  2. 1# 不易青年。 | 2019-08-31 10-32





    条件运算符
    </强>
    用作一部分

    表达

    。所以




    1. x ? y : z

    2. </code>


    是一种表达。您可以在调用表达式的任何位置使用它。然而,




    1. if (some_condition) some_action;

    2. </code>


    是一个

    声明

    一般而言,表达和陈述不可互换。所以,如果你想摆脱这个

    if

    声明,没有办法做到这一点

    ?:



    另一方面,

    some_condition

    是一个(布尔)表达式,所以你

    可以

    写:




    1. if (x ? y : z) some_action;

    2. </code>


    只要x,y,z本身就是布尔子表达式。所以在你原来的条款中,这是合法的:




    1. if (!again ? true : false)
      break;

    2. </code>


    但它是多余的,并减少到




    1. if (!again)
      break;

    2. </code>


    所以用它来写它是有负面价值的

    ?:

    运营商。


登录 后才能参与评论