&&,先计算左边是否false,如果是,直接不管右边的状态。
&,不管三七二十一,把左右都计算一遍。
但是在如下代码中,完全没有差别,是不是说在这个代码中它们是无差别的?
int i=1;
while (i>=1 && i<=99) {
i++;
}
System.out.println(i);
i=1;
while(i>=1 & i<=99) {
i++;
}
System.out.println(i);
&,不管三七二十一,把左右都计算一遍。
但是在如下代码中,完全没有差别,是不是说在这个代码中它们是无差别的?
int i=1;
while (i>=1 && i<=99) {
i++;
}
System.out.println(i);
i=1;
while(i>=1 & i<=99) {
i++;
}
System.out.println(i);
都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false
int i =1 ; while(i++>2 &i++>2){} system.out.println(i);这里面打印的i值就为3,而如果是&&,那么值就为2.