• 35648

    文章

  • 23

    评论

  • 20

    友链

  • 最近新加了很多技术文章,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

IT兄弟连 Java语法教程 逻辑运算符 原

欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/jsh/2019/0704/5221.html

>>>

表8中显示的布尔逻辑运算符只能操作布尔类型的操作数,所有的二元逻辑运算符都可以组合两个布尔值,得到的结果为布尔类型。

 

表8  布尔逻辑运算符

ab0b3d8b2f37464cb55e202db9b366fe.png

 

布尔逻辑运算符”&“、”|“以及”^“,都会布尔值进行操作,操作方式与它们操作整数中位的方式相同。逻辑非运算符”!“反转布尔状态:!true==false并且!false==true。表9中显示了各种逻辑操作的效果。

表9  逻辑操作效果

6d25ab80d094425589ae208c4eaf9c83.png

下面的程序和前面演示的BitLogic程序几乎相同,但该程序是对布尔型逻辑值进行操作,而不是对二进制位进行操作。

public class BoolLogic{

    public static void main(String[] args){

         boolean a = true;

         boolean b = false;

         boolean c = a | b;

         boolean d = a & b;

         boolean e = a ^ b;

        boolean f = (!a & b) | (a & !b);

         boolean g = !a;

         System.out.println("        a = " + a);

         System.out.println("        b = " + b);

         System.out.println("      a|b = " + c);

         System.out.println("      a&b = " + d);

         System.out.println("      a^b = " + e);

         System.out.println("!a&b|a&!b = " + f);

         System.out.println("       !a = " + g);

    }

}

编译并运行这个程序,控制台将显示如图14所示的信息。

aebe5e3b86164d4fb9a9264435ac756b.png

图14  BoolLogic运行结果

 

●  短路逻辑运算符

Java提供了两个有趣的、其它许多计算机语言没有提供的布尔运算符。它们是布尔与运算符和布尔或运算符的辅助版本。通常称为”短路“逻辑运算符。从前面的表3.8可以看出,如果A为true,不管B的值是什么,逻辑或的结果都是true。类似地,如果A为false,不管B的值是什么,逻辑与的结果都为false。如果使用”||“和”&&“形式,而不是这些运算符的”|“和”&“形式,并且假如单独根据左操作数就能确定表达式的结果,那么Java就不会再计算有操作数的值。为了得到正确的功能,当有操作数取决于左操作数的值时,这个特性非常有用。例如,下面的代码显示了如何利用短路逻辑运算,确保再对表达式求值之前是合法的:

if(denom != 0 && num/denom > 10)

因为再此使用的是逻辑与的短路形式(&&),所以不存在由变量denom为0而引起运行时异常的风险。如果这行代码使用逻辑与的单个&符号形式进行编写,那么两边的操作数都会进行求值,这样当denom为0时,就会引起运行时异常。

相关文章

暂住......别动,不想说点什么吗?
  • 全部评论(0
    还没有评论,快来抢沙发吧!