java 位运算符和逻辑运算符,有什么区别,&和&&

用&或者&&做比较时,好像是一个效果啊
false & false 结果是false
true & true 结果是true

false && false 结果是false
true && true 结果是true

关于&和&&我没感觉有什么区别啊

其实他们之间有一个很大的差别:短路
举个例子来解释一下吧,
false&true-->false
false&&true-->false
单从结果上看,他们结果是一样的,都是false
但是前者在运行的时候,计算机首先判断第一个条件为false,然后判断第二个条件true,然后判断出结果为false
而后者,首先也是判断第一个条件,当判断出为false时,程序立即终止,因为不管第二个条件是什么,结果一定为false
这就是他们之间的区别

希望我的回答能对你有所帮助
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-19
true = 1
false = 0
再看下面这段文字
一、逻辑运算符:

包括:1。&&逻辑与 2。||逻辑或 3。!逻辑非
逻辑运算符用于对包含关系运算符的表达式进行合并或取非
对于使用逻辑运算符的表达式,返回0表示“假”,返回1表示“真”。关于逻辑运算符的解释
请注意:任何使用两个字符做符号的运算符,两字符之间不应有空格,即将==写成= =是错误的。
假设一个程序在同时满足条件a<10和b==7时,必须执行某些操作。应使用关系运算符和逻辑运算符“与”来写这个
条件的代码。用&&表示“与”运算符,该条件代码如下:
(a<10) && (b==7);
类似地,“或”是用于检查两个条件中是否有一个为真的运算符。它由两个连续的管道符号(||)表示。如果上例
改为:如果任一语句为真,则程序需执行某些操作,则条件代码如下:
(a<10) || (b==7);
第三个逻辑运算符“非”用一个感叹号(!)表示。这个运算符对表达式的真值取反。例如,如果变量s小于10,程序
程序需执行某些操作,则条件代码如下:
(s<10)

(!(s>=10)) //s不大于等于10
关系运算符和逻辑运算符的优先级一般都低于算术运算符。例如,5>4+3的计算与5>(4+3)运算符是一样的,即
先计算4+3,再执行关系运算。此表达示的结果为“假”,即,将返回0。
下面的语句
printf("%d",5>4+3);
将输出 0

可以总结为:&&的结果是真真为真。||的结果是假假为假。

二、位运算符:

包括:1。&位与符 2。|位或符 3。^位异或符 4。~位取反符
以操作数12为例。位运算符将数字12视为1100。位运算符将操作数视为位而不是数值。数值
可以是任意进制的:十进制、八进制或十六进制。位运算符则将操作数转化为二进制,并相应地返回1或0。
位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转换为数字。例如:
表达式10&15表示(1010 & 1111),它将返回表示1010的值10。因为真真得真,或者是11得1,同位全是1结果也是1
表达式10|15表示(1010 | 1111),它将返回表示1111的值15。假假得假。全零得零。
表达式10^15表示(1010 ^ 1111), 它将返回表示0101的值5。此时是同性相斥,相同的就为假。
表达式~10表示(~1010),它将返回表示0101的值 -11。此号好理解,按位取反

参考资料:http://zhidao.baidu.com/question/87989890

本回答被网友采纳
第2个回答  推荐于2016-05-16
&:表示普通与,所有的判断条件都要依次执行;
&&:若干个条件,如果前面的条件返回false,那么后面不再判断,就是false;
|:表示普通h或,所有的判断条件都要依次执行;
||:若干个条件,如果前面的条件返回true,那么后面不再判断,就是true;
位运算:&表示位与运算,|表示位或计算
第3个回答  2010-11-19
&&是短路运算符,&是非短路运算符
区别 例如 表达式A && B 如果A返回为false, 该表达式会直接返回false ,将不会再 对B做判断,而&则无论A为什么结果都会去对B进行判断。
|| 与 |的区别和上面一样,所以从效率上来讲短路运算符的效率要高于非短路运算符

希望我的回答能给你带来帮助!
第4个回答  2010-11-19
一个是连接符,一个是运算符与
用在传值时没有多少分别!!!

java 位运算符和逻辑运算符,有什么区别,&和&&
关系运算符和逻辑运算符的优先级一般都低于算术运算符。例如,5>4+3的计算与5>(4+3)运算符是一样的,即 先计算4+3,再执行关系运算。此表达示的结果为“假”,即,将返回0。下面的语句 printf("%d",5>4+3);将输出 0 可以总结为:&&的结果是真真为真。||的结果是假假为假。二、位运算...

JAVA中&&和&、||和|的区别?
“1、Java中&叫做按位与,&&叫做短路与,它们的区别是: & 既是位运算符又是逻辑运算符,&的两侧可以是int,也可以是boolean表达式,当&两侧是int时,要先把运算符两侧的数转化为二进制数再进行运算,而短路与(&&)的两侧要求必须是布尔表达式。举例如下:12&5 的值是多少...”...

java中&和and有什么区别?
1、 相同点:在java中”&&”和”&”都是逻辑运算符。2、区别举例:int i=0,j=1。if(i++&&j++)。System.out.println(“j=”+j)。的输出结果是:j=1;而如果换成”&”则程序的输出结果将为:j=2,在我们书写的程序中一般是不会用后者的,因为我们的目的是必须两者都为真才执行下面的语...

java中&和&&的区别?
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑运算与(and).|| 按位或运算符 ,表示按位或运算,||是逻辑或算符,表示逻辑或运算。条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型的。不同点:对于A&B,不管a是否为假,仍然要判断B。对于A|B,不管a是否为...

JAVA中&&和&、||和|(短路与和逻辑与、短路或和逻辑或)的区别是什么?
首先名称是不同的 &&逻辑与 ||逻辑或 它们都是逻辑运算符 & 按位与 | 按位或 它们都是位运算符 if(a==1&&b==2) 这是说既要满足a=1也要满足b=2 if(a==1||b==2) 这是说或者满足a=1或者要满足b=2 而a&b或者a|b则是二进制的...

&和&&的区别是?
不同点:(1)&&具有短路的功能,而&不具备短路功能。(2)当&运算符两边的表达式的结果都为true时,整个运算结果才为true。而&&运算符第一个表达式为false时,则结果为false,不再计算第二个表达式。(3)&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常...

说说&和&&的区别?
1、 相同点:在java中”&&”和”&”都是逻辑运算符。2、区别举例:int i=0,j=1;if(i++&&j++)System.out.println(“j=”+j);的输出结果是:j=1;而如果换成”&”则程序的输出结果将为:j=2,在我们书写的程序中一般是不会用后者的,因为我们的目的是必须两者都为真才执行下面的语句。

(&& ) 按位与 和(&) 逻辑与有什么区别?
按位与和逻辑与的区别如下:①代表含义不同 按位与运用二进制进行计算,逻辑与比较符号两边的真假输出逻辑值。②运算法则不同 按位与对所有的表达式都要判断,逻辑与运算符第一个表达式不成立的话,后面的表达式不运算,直接返回。③输出不同 按位与&输出运算结果为不同的数值,逻辑与 && 输出逻辑值...

java &and&&区别
1.条件1&&条件2 当条件1为假,则“条件1&&条件2”为假,就不用执行条件2了 当条件1为真,则再执行条件2 2.条件1&条件2 即使条件1为假,已经能判断“条件1&&条件2”为假,还要执行条件2

什么是java运算符
Java的运算符可分为4类:算术运算符、关系运算符、逻辑运算符和位运算符。1.算术运算符Java的算术运算符分为一元运算符和二元运算符。一元运算符只有一个操作数;二元运算符有两个操作数,运算符位于两个操作数之间。算术运算符的操作数必须是数值类型。(1)一元运算符:一元运算符有:正(+)、负(-)、加1(++)和...

相似回答