今天看到一个有意思的运算题,有兴趣来看看。JSE的 int result = selforder <= order ? selforder != order ? -1 : 0 : 1;System.out.println(result); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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;了,下面又类似了。 在实际开发中千万不要这么写,不然你的Team会恨你的 int result = selforder <= order ? (selforder != order ? -1 : 0) : 1; 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!所以三目运算里面应该是先进行逻辑判断,再去找相应的代码执行,这样子比较合逻辑,代码运行起来效率也比较高,不用执行无用的代码。 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!所以三目运算里面应该是先进行逻辑判断,再去找相应的代码执行,这样子比较合逻辑,代码运行起来效率也比较高,不用执行无用的代码。+1int c= a==b? ++a>=0? 11:10 : 0;首先判断a==b?如果a!=b的话,不管里面的代码如何结果都为0 再请教个线程问题 关于JFrame的问题,希望各位高手能帮忙! 求助java.util.Timer问题 在JAVA中,怎样实现点击一个按钮就运行相应的批处理文件? 请教SWING中处理键盘事件的细节 求教一个小问题 Swing 两件事情! 请问有没有JVM方面的书啊? 高手快来!我编的applet用appletviewer能看但是用浏览器看就不行! 求大神帮忙 有关java.io.IOException: Invalid Http response怎么解决 一个关于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