java里 &和&&代表什么? 看书上说的是&是按位运算符 &&是逻辑与 但老师却说&是逻辑与 &&是短路与;而且
发布网友
发布时间:2022-04-26 22:20
我来回答
共5个回答
热心网友
时间:2023-11-10 11:36
&既是位运算符也是逻辑运算符。
&位运算符,可以对数字的二进制数进行与操作。例如:int x = 2&3;就是将2的二进制数与3的二进制数按照位对应进行与操作。并将结果赋值给x。
&也可以用作逻辑运算符,进行条件判断。例如:if(x>=2 & y<=3)。当&是逻辑运算符的时候主要和&&的区别。&&是短路与,不需要对所有的表达式进行判断。例如:
int x = 2,y=3;
if(x>3 && y++>2)
{
......
}
System.out.println(y); //打印出的y还是3,说明y++没有执行。原因,x>3已经不成立了,所以就不必要判断后面表达式的真假了。而如果把&&换成&,那么y的值就为4了。既是前面表达式为假了,也会进行后续表达式的判断,没有短路处理。
热心网友
时间:2023-11-10 11:37
你好
&书上说的按位运算,就是你老师说的按位与,也就是逻辑与
至于& 是非短路与,&&是短路与
举个例子
boolean a = false;
boolean b = true;
a&b 和 a&&b
a&b 就是当判断出a是false,还会继续判断b的值
而a&&b 是短路与,当a判断为false,就不会在去判断后面的b了,就是&&后面的表达式 不会执行了
热心网友
时间:2023-11-10 11:37
&是按位鱼运算符,比如21&9=10101&01001=00001=1,&&是逻辑与,如A&&B,A、B均为表达式,进行如下判断,首先判断A是否为false,若A为false,则A&&B为false,否则判断B,若B为true,则A&&B为true,否则为false。
我刚才也试过,boolean类型变量亦可进行按位与运算,只有true&true结果为true,其他结果均为false。
热心网友
时间:2023-11-10 11:38
我不知道上面这些人在瞎答些什么。&既是逻辑与也是按位与。由于java中布尔型与其他类型并不能相互转换,即1与TRUE并不等效,所以&对布尔型就是逻辑与,对其他类型是按位与。
热心网友
时间:2023-11-10 11:39
当&前面的条件为false的时候,&后面的依然会比较
而&&前面的为false的时候,就直接false了
举个最简单的例子
if(user!=null & user.getName!=null){
return "";
}
如果user为null,则会报空指针异常,,因为后面的依然会在比较
而如果换成&&,则不会。因为为null的时候直接false
热心网友
时间:2023-11-10 11:37
&既是位运算符也是逻辑运算符。
&位运算符,可以对数字的二进制数进行与操作。例如:int x = 2&3;就是将2的二进制数与3的二进制数按照位对应进行与操作。并将结果赋值给x。
&也可以用作逻辑运算符,进行条件判断。例如:if(x>=2 & y<=3)。当&是逻辑运算符的时候主要和&&的区别。&&是短路与,不需要对所有的表达式进行判断。例如:
int x = 2,y=3;
if(x>3 && y++>2)
{
......
}
System.out.println(y); //打印出的y还是3,说明y++没有执行。原因,x>3已经不成立了,所以就不必要判断后面表达式的真假了。而如果把&&换成&,那么y的值就为4了。既是前面表达式为假了,也会进行后续表达式的判断,没有短路处理。
热心网友
时间:2023-11-10 11:37
你好
&书上说的按位运算,就是你老师说的按位与,也就是逻辑与
至于& 是非短路与,&&是短路与
举个例子
boolean a = false;
boolean b = true;
a&b 和 a&&b
a&b 就是当判断出a是false,还会继续判断b的值
而a&&b 是短路与,当a判断为false,就不会在去判断后面的b了,就是&&后面的表达式 不会执行了
热心网友
时间:2023-11-10 11:38
&是按位鱼运算符,比如21&9=10101&01001=00001=1,&&是逻辑与,如A&&B,A、B均为表达式,进行如下判断,首先判断A是否为false,若A为false,则A&&B为false,否则判断B,若B为true,则A&&B为true,否则为false。
我刚才也试过,boolean类型变量亦可进行按位与运算,只有true&true结果为true,其他结果均为false。
热心网友
时间:2023-11-10 11:38
我不知道上面这些人在瞎答些什么。&既是逻辑与也是按位与。由于java中布尔型与其他类型并不能相互转换,即1与TRUE并不等效,所以&对布尔型就是逻辑与,对其他类型是按位与。
热心网友
时间:2023-11-10 11:39
当&前面的条件为false的时候,&后面的依然会比较
而&&前面的为false的时候,就直接false了
举个最简单的例子
if(user!=null & user.getName!=null){
return "";
}
如果user为null,则会报空指针异常,,因为后面的依然会在比较
而如果换成&&,则不会。因为为null的时候直接false
JAVA中&&和&、||和|的区别?
“1、Java中&叫做按位与,&&叫做短路与,它们的区别是: & 既是位运算符又是逻辑运算符,&的两侧可以是int,也可以是boolean表达式,当&两侧是int时,要先把运算符两侧的数转化为二进制数再进行运算,而短路与(&&)的两侧要求必须是布尔表达式。举例如下:12&5 的值是多少...”...
请问在java中&与&&的区别是什么?请写两个简单程序对比一下
&是一般逻辑运算符,&&是短路逻辑运算符 一般逻辑运算符会求出符号两边的值进行与运算得出结果 短路逻辑运算符会先求出符号左边的。如果左边的为true,在计算右边的,如果左边的为false,就不进行右边的计算了。
java中&和&&的区别?
(&,|)它们是逻辑操作,(&&,||)它们是条件操作。&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑运算与(and).|| 按位或运算符 ,表示按位或运算,||是逻辑或算符,表示逻辑或运算。条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型的。不同点:对于A&B,不...
java中&和&&是怎么运算的
public static void main(String[] args) { System.out.println(9 & 8);} } 输出结果应该是:8 原因:1001 & 1000 = 1000 。 计算机中一般1表示真,0表示假。最左边一位1&1=1,最右边一位1&0 = 0.2) && 表示逻辑”与“ ,即java中的boolean值才可以存在于&&符号的左右两侧。tru...
java 位运算符和逻辑运算符,有什么区别,&和&&
= 1 false = 0 再看下面这段文字 一、逻辑运算符:包括:1。&&逻辑与 2。||逻辑或 3。!逻辑非 逻辑运算符用于对包含关系运算符的表达式进行合并或取非 对于使用逻辑运算符的表达式,返回0表示“假”,返回1表示“真”。关于逻辑运算符的解释 请注意:任何使用两个字符做符号的运算符,两字符之间...
java中&&和||区别是什么?
&&表示与,前后两个操作数必须都为true才返回true,否则返回false。它是先计算左边的操作数,如果左边的操作数为false,直接返回false,根本不会去计算右边的操作数。||表示或,只要两个操作数中有一个是true,就可以返回true,否则返回false。从左往右进行计算,当第一个操作数为true时,直接返回true,...
JAVA中&&和||是什么意思 怎么用
JAVA中&&和||是什么意思?怎么用
JAVA中&&意思是“条件与”逻辑操作符,使用方法是x&&y,功能描述:x和y均为true,取值是true,否则取值是false。JAVA中||意思是“条件或”逻辑操作符,使用方法是x||y,功能描述:x和y有一个为true,取值是true,否则取值是false。
简述jsp中&和&&的区别
java中,&连接两个数字的时候,它是表示两个位的按位与,而&&表示两个条件的并列,除些之外,&和&&还存在一些其他的区别,请看下面一段程序的:public class Test1 { public static void main(String[] args) { int a=2;int b=1;if((a==1)&((++b)==2)){ System.out.println("a1="...
java 中|| 和 && 这类的符号都表示什么?
&&和||是一种逻辑运算符,&&是逻辑与,当两个数都为真,则结果为真。||是逻辑或,两个数任意一个为真,则结果为真。举个例子:1、a && b 当a、b都为真时,结果为真。有一个为假或者都为假时结果为假。2、a || b 当a、b有一个为真时,结果为真。a、b都为假时结果为假。