Java中&与&&的区别

  1. &与&&都可以用作逻辑与的运算符,当两边的结果都为true时,运算结果才为true,否则只要有一方运算结果是false,运算结果就为false。

  2. &&在开发过程中用到的概率比&大,以为&&具有短路的功能,只要第一个表达式是false,就不会再进行判断。例如:if(str!=null && !str.equals("")){}

    当str==null时,后面的表达式就不会继续执行,但是

    if(str!=null & !str.equals("")){}当str==null时,程序会报空指针异常,因为&不具有短路的功能。

  3. &同时也是位运算符,就是我们通常所说的按位与运算,当&的左右两边都是Boolean型表达式时或Boolean值时,就执行按位与运算。

 

来自于:https://jingyan.baidu.com/article/d8072ac46f7612ec95cefd91.html

posted @ 2017-12-07 10:53  带刺的小花277  Views(272)  Comments(0Edit  收藏  举报