当前位置:编程学习 > JAVA >>

java中&与&&的区别

答案:&是位与,&一般用于取一个字节(八位)的位数,&& 是且,一般用于判断语句的双重条件,这个你应该懂吧,就说&的用法;如: a=10101000 如果我想取a的低四位,则可 10101000 & 00001111 00001000 这样我就取出了a的低四位1000 两个意义差不多,只是用的地方不同!
其他:java 里没有&    ,     
 一个是位与,第一个条件不符合的情况下中断,如false&true. 则不会判断true  ,返回false
一个是逻辑与 两个条件都满足才成立 如false&true. 则会判断true  ,并返回false &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。 这个说起来 也是很简单的!~   &是不管两边是不是真的都会去执行!~也就是说不管是对的还是错的他都去去把&左右两边的计算一下!~ 如果说两边有一个是FALSE 的话!~ 那么 他就会 把FALSE传递给 boolean  如果&两边都是真的那么他就会把 TRUE传递给 BOOLEAN当是真的情况下才能执行下面的语句
  而&&那是更简单 左右两边 如果前面的是假的后面的就不执行了直接返回FALSE 如果左边的是真的那么就在判断右边的 当左右两边都是真的 才会继续下面的操作。

总结下&左右两边不管是对错都会执行只看返回是是真还是假。
而    && 左边是错的 就之间返回 FALSE
两边都为真才真 也就是一个多了个判断 

上一个:JAVA中Math.sqrt找不到符号
下一个:在java web开发中,工具是myeclipse8.6,数据库是mysql,框架是struts,tomcat是eclipse自带的。出现问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,