int result = selforder <= order ? selforder != order ? -1 : 0 : 1;
System.out.println(result);

解决方案 »

  1.   

    int result = selforder <= order ? selforder != order ? -1 : 0 : 1;
    System.out.println(result);
    三目运算符。
    会先执行selforder != order ? -1 : 0这句,判断selforder != order是否为true,是就是-1,然后就是selforder <= order ? -1 : 1;了。不是就是0了,然后就是selforder <= order ? 0 : 1;了,下面又类似了。
      

  2.   

    在实际开发中千万不要这么写,不然你的Team会恨你的
      

  3.   


    int result = selforder <= order ? (selforder != order ? -1 : 0) : 1;
      

  4.   

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int a=2;
    int b=3;
    int c= a==b? ++a>=0? 11:10 : 0;

    System.out.println(c);感觉3楼的说法是错的,又不敢肯定,于是编写了个代码测试了一下,猜猜上面的代码执行结果是什么?是0!所以三目运算里面应该是先进行逻辑判断,再去找相应的代码执行,这样子比较合逻辑,代码运行起来效率也比较高,不用执行无用的代码。
      

  5.   


    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int a=2;
    int b=3;
    int c= a==b? ++a>=0? 11:10 : 0;

    System.out.println(c);感觉3楼的说法是错的,又不敢肯定,于是编写了个代码测试了一下,猜猜上面的代码执行结果是什么?是0!所以三目运算里面应该是先进行逻辑判断,再去找相应的代码执行,这样子比较合逻辑,代码运行起来效率也比较高,不用执行无用的代码。
    +1
    int c= a==b? ++a>=0? 11:10 : 0;首先判断a==b?如果a!=b的话,不管里面的代码如何结果都为0