public class test5 {
public static void main(String[]args) {
int x = 4,y=6,z=8;
boolean u=false;
u=!( (x >= --y || y++ < z-- )&& y == z );
System.out.println("u="+u);
y=6;
u=!((x>=--y|y++<z--)&y==z);
System.out.println("u="+u);
为什么结果是u=true
u=false
解决方案 »
- 新手看不懂这个电脑告诉我的什么个情况啊???
- 请问,如何把一些不同的对象存储在同一个位置,谢谢
- 怎么合并两个byte数组?
- 小女子又有问题想请教各位学长了?
- 拜个早年:祝工作顺利!麻烦大家帮我看下我写的这个java连接数据库类哪错了——?
- 枚举和抽象方法
- java 配置变量,解决初级问题
- 怎么依次读取一个目录下的所有文件?
- $.post()放入到click中接受不到数据,为什么???
- java程序能把窗体上面那一部分就放大缩小那一栏也和背景图片融合吗va程序能把窗体上面那一部分就放大缩小那一栏也和背景图片融合吗
- 请大神帮忙看看,真的是弄不了了,进行不下去了都已经
- 求助JVM高手,自己在windows7上编译openJDK出问题
所以( (x >= --y || y++ < z-- )&& y == z )) 这个是false
u=!( (x >= --y || y++ < z-- )&& y == z ); u=!false
所以最后u是true,解决了第一个问题。至于第二个问题,我相信你可以自己解决。
public static void main(String[]args) {
int x = 4,y=6,z=8;
boolean u=false;
//此时x=4>y=5,为false,继续走第二个条件, y=5<z=8,为true, 走短路与 5 == 7 为false 最终结果为false,由于取反,所以u=true;
u=!( (x >= --y || y++ < z-- )&& y == z );
System.out.println("u="+u);y=6;
//此时x=4>=y=5 false y=5<z=7 true 结果为true y =6 == z=6 true 双true 结果为true 由于取反,所以u=false;
u=!((x>=--y|y++<z--)&y==z);
System.out.println("u="+u);