答案:&是位与,&一般用于取一个字节(八位)的位数,&& 是且,一般用于判断语句的双重条件,这个你应该懂吧,就说&的用法;如:
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自带的。出现问题