Java学习-java中的与或非

文章目录

  • 前言
  • 一、 与(&)和短路与(&&)
    • (1)概念与区别
    • (2)代码示例
  • 二、或(|)与短路或(||)
    • (1)概念与区别
    • (2)代码示例
  • 三、非(!)
  • 四、异或(^)
  • 总结


前言

在以后的开发工作当中,经常会使用到判断语句(如if等),当满足某一个或多个条件下就可以继续往下执行。对于多个条件时这难免就要需要逻辑运算符,常用的就是与(&)、或(|)、以及非(!),另外还有短路与(&&)、短路或(||)、以及异或(^),那它们之间有啥区别,又如何使用呢!


下面将讲述这些区别(下面案例可供参考):

一、 与(&)和短路与(&&)

(1)概念与区别

1、使用“与(&)"操作,表示在前后两个条件都要满足,结果才为“真”,任何一边为“假”,结果都为“假”,这里有点像数学里的“交集”概念,生活中的”并且“;(java中用"true"表示真,"false"表示假)
2、使用”短路与(&&)“操作,表示也进行”与“的操作,区别就是,当前面第一个条件为”“时,结果就直接为”“,后面条件就不再判断,这里就有点像电路中的”短路“,这种操作明显更加智能。

(2)代码示例

下面代码进行进一步说明。
代码如下(示例):

        int a = 10;
		int b = 20;
		int c = 30;
		int d = 40;
		System.out.println(a>b);//false
		System.out.println(c<d);//true
		System.out.println(a>b & c<d);
		System.out.println(a>b && c<d);

最后结果为false,因为”与“操作,两边要同时成立:
Java学习-java中的与或非_第1张图片

二、或(|)与短路或(||)

(1)概念与区别

1、使用“或(|)"操作,表示在前后两个条件任何一个满足,结果就为“真”,只有都为”假“时,结果才为“假”,这里有点像数学里的“并集”概念,生活中的”或者“;
2、使用”短路或(||)“操作,表示也进行”或“的操作,区别就是,当前面第一个条件为”“时,结果就直接为”“,后面条件就不再判断,这种操作明显也更加智能。

(2)代码示例

下面代码进行进一步说明。
代码如下(示例):

        int a = 10;
		int b = 20;
		int c = 30;
		int d = 40;
		System.out.println(a>b);//false
		System.out.println(c<d);//true
		System.out.println(a>b | c<d);
		System.out.println(a>b || c<d);

最后结果为true,因为有一方为true,结果一定为true:
Java学习-java中的与或非_第2张图片

三、非(!)

非(!),也就是取反,”真“取反为”假“,”假“取反为”真“!
代码如下(示例):

		boolean e = true;
		System.out.println(e);//true
		System.out.println(!e);

true取反,结果为false:
结果为false

四、异或(^)

异或(^)操作就是相同为0,不同为1;也就是说同时为假才为假。(在计算机中默认1为真,实际上是只要非零为真,0为假)
代码如下(示例):

        int a = 10;
		int b = 20;
		int c = 30;
		int d = 40;		
		System.out.println(a>b);//false
		System.out.println(c<d);//true
		System.out.println(a>b ^ c<d);

两边不同,不同为1,结果一定为真:
结果为真


总结

这里主要讲述了Java中的逻辑运算符:”与”、“或”、“非“,以及比较智能的”短路与“、”短路或“、”异或“,熟悉这些的使用,对工作具有重大的帮助,本文有不妥之处,请指教交流!

你可能感兴趣的:(JAVA学习,java,windows,eclipse)