java中&与&&的区别及实例
相同点:
&&和&都是表示与的逻辑运算符,其运算结果一致
不同点:
&(逻辑与):当两边的表达式都为true的时候,整个运算结果才为true,否则为false。
&&(短路与):当第一个表达式的值为false的时候,则不再计算第二个表达式
注意: &还可以做位运算符,当表达式不是Boolean类型的时候
实例1(&):
public class DuanLuYu {
public static void main(String[] args) {
int x = 1,y = 1;
if(x++==2 & ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
}
}
输出:
x=2,y=2
实例2(&&):
public class DuanLuYu {
public static void main(String[] args) {
int x = 1,y = 1;
if(x++==2 && ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
}
}
输出:
x=2,y=1
java中 | 与 || 的区别及实例
相同点:
| 和 || 都是表示或的逻辑运算符,其运算结果一致
不同点:
|(逻辑或):当第一个表达式的值为true的时候,仍然计算第二个表达式。
||(短路或):当第一个表达式的值为true的时候,则不再计算第二个表达式
注意: | 还可以做位运算符,当表达式不是Boolean类型的时候
实例1( | ):
public class DuanLuHuo {
public static void main(String[] args) {
int x = 1,y = 1;
if(x++==1 | ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
}
}
输出:
x=7,y=2
实例1( || ):
public class DuanLuHuo {
public static void main(String[] args) {
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
}
}
输出:
x=7,y=1