java 短路运算符用法 和 短路运算符的好处

本文与逻辑运算符有关 如果不了解逻辑运算符清先观看
https://blog.csdn.net/weixin_45966674/article/details/125474939?spm=1001.2014.3001.5501
在这里插入图片描述
&&和|| 对应前面的 & 和 | 那么他们有什么区别呢

来看 | 和 ||

public class HelloWorld {
    
    
    public static void main(String args[]) {
    
    
		int i = 10;
		int j = 20;
		System.out.println((i++ > 5) | (j++ > 30));
	    System.out.println("i"+i);
		System.out.println("j"+j);
    }
}

| 输出效果如下
在这里插入图片描述
然后是 ||

public class HelloWorld {
    
    
    public static void main(String args[]) {
    
    
		int i = 10;
		int j = 20;
		System.out.println((i++ > 5) || (j++ > 30));
	    System.out.println("i"+i);
		System.out.println("j"+j);
    }
}

输出结果如下
在这里插入图片描述
两者的不同在于 最后输出的j |为 21 || 为20 为什么 因为|的逻辑是
先把 i++ 就是给i加了1 然后判断 之后再把 j++ 就是j +1 判断 最后发现
第一个条件成立 第二个条件不成立 因为是或 所以整体返回成立
而 ||是 将i+1后 判断条件成立 OK 后面不执行了 为什么 因为条件是或 只要有一个成立了 那条件就是成立的 后面的条件无论成不成立 整体都成立了 没必要继续判断了

简单说 || 只要判断到一个成立的 后面就不再走了 直接返回 true
而 && 判断到任意一个为 false 后面的就不执行了 因为同理 只要有任何一个不成立 且的整体结果就是不成立 后面的条件成不成立已经不重要了 所以在开发过程中 建议大家用短路运算符 || 和 &&
因为他们更节省性能

&和| 不管中间发生什么 都会把逻辑走完 就不是很节省性能了

猜你喜欢

转载自blog.csdn.net/weixin_45966674/article/details/125475631