Java逻辑运算符详解

2023-05-27 0 995

Java逻辑运算符详解

方法论演算主要就叙述的是与、或、非这种的基本上的亲密关系,采用方法论操作方式符的最重要的特征是能与此同时相连数个推论前提,比如:在以后采用的亲密关系操作方式符,每一次只能展开两个前提的推论,这种的操作方式很大不适合于更为繁杂的程序方法论。

Java逻辑运算符详解

在得出的方法论操作方式符当中非演算的认知能说是最简单的了,即使实际上是展开了穆尔求反倒已。

实例:校正“!”方法论

public class YootkDemo {

public static void main(String args[]) {

int numA = 10 ;

int numB = 20 ;

System.out.println(! (numA > numB)) ;

System.out.println(numA != numB) ; // 不等于的符号也是一种非的方法论

}

}

与方法论是相连数个前提的处理操作方式符,将若干个推论前提一起展开最终的计算,如果全部为true,最终的结果才是true,如果中间有两个前提为false(前提不满足),那么最终的结果是false。

实例:观察与方法论

public class YootkDemo {

public static void main(String args[]) {

int x = 1 ;

int y = 1 ;

System.out.println(x == y & 2 > 1) ; // 两个推论前提的演算相连在一起(true & true = true)

System.out.println(x == y & 2 < 1) ; // 两个推论前提的演算相连在一起(true & false = false)

}

}

与的概念虽然很好认知,但是在Java里面却针对于与方法论操作方式提供有两种不同的演算“&”、“&&”,那么这两种演算有什么区别呢?

实例:观察普通与存在的问题

public class YootkDemo {

public static void main(String args[]) {

// 按照高等数学的方法论来认知“数字 / 0 = 无穷大(计算机的设计来讲无穷大意味着内存占满)”

System.out.println((1 > 2) & (10 / 0 == 0)) ; // false & 出错的代码

}

}

这个时候的程序出错实际上意味着所有的推论前提都执行了,但是现在来分析两个问题:对于与操作方式的方法论来讲,最大的特征是若干个推论前提如果有两个前提是false,那么最终的与方法论的结果就全部为false(中间出现多少个true都没有意义了)。

true & true & false & true & true & true,由于中间出现有两个false,所以后面推论就没有任何意义了,这个推论的结果肯定是false,那么如果现在采用的是“&”操作方式意味要全部推论。

如果现在要想解决当前的程序方法论推论的性能问题,最佳的做法是当展开若干个前提推论的时候,如果出现有任何一次的false,那么后续的推论就全都停止了,这个就相当于是短路,而短路与的最终结果是返回false。

实例:采用短路与展开操作方式

public class YootkDemo {

public static void main(String args[]) {

// 第两个推论前提“(1 > 2)”结果为false,后面的推论没有意义了直接停止推论,返回false

System.out.println((1 > 2) && (10 / 0 == 0)) ;

}

}

或方法论的最大的特征是展开若干个前提的推论,如果有两个前提为true(满足推论前提),那么最终的结果是true(中间不管有多少个false,结果都是true),或方法论也是分为两种:普通或(|)、短路或(||)。

实例:观察普通或

实例:观察普通或public class YootkDemo {

public static void main(String args[]) {

System.out.println((1 == 1) | (10 / 0 == 0)) ;

}

}

现在第两个推论前提为true,但是由于采用的是普通或方法论,所以后续的所有推论前提都要执行,一旦执行后续的演算“10 / 0 == 0”程序就会出现异常。证明当前的所有的推论前提全部都执行了。

实例:采用短路或

public class YootkDemo {

public static void main(String args[]) {

System.out.println((1 == 1) || (10 / 0 == 0)) ;

}

}

在短路或的处理过程当中,如果中间出现有任何两个演算返回的结果为true,那么后面的推论就没有任何意义了,也就不再执行后续的推论语句,最终的结果是true。

经过以上的分析之后实际上就能得出两个重要的结论:在日后展开与方法论、或方法论的时候考虑到执行性能的问题,很大要采用短路与、短路或展开若干个推论前提的相连。

举报/反馈

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务