int result = selforder <= order ? selforder != order ? -1 : 0 : 1;
System.out.println(result);
System.out.println(result);
解决方案 »
- 关于java Clone的困惑
- java是否可以显示实现引用传递
- final用来修饰变量、方法、类分别代表什么含义?
- java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失)
- 请教一般常说的256色具体是哪些颜色?
- whether input value is Chinese character and give notification
- 用GCJ将JAVA项目编译成成本地代码,和直接用JRE执行相比,性能上到底有多大的改善?
- java数据库数据查询优劣问题
- 马上给分。out.print("\3"); "\3"是什么意思,在vb里怎么输出?
- how to rename filename by using File API?SOS
- 一个关于java反射的问题
- 写的程序通过编译了,但是无限循环了,不知道怎么改,求大神看看
System.out.println(result);
三目运算符。
会先执行selforder != order ? -1 : 0这句,判断selforder != order是否为true,是就是-1,然后就是selforder <= order ? -1 : 1;了。不是就是0了,然后就是selforder <= order ? 0 : 1;了,下面又类似了。
int result = selforder <= order ? (selforder != order ? -1 : 0) : 1;
// 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!所以三目运算里面应该是先进行逻辑判断,再去找相应的代码执行,这样子比较合逻辑,代码运行起来效率也比较高,不用执行无用的代码。
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