!: 逻辑非
&: 非短路运算符, 逻辑与
当两边同时为真时,结果为真,否则为假
要求左右两个表达式都为true时才返回true,两个表达式他都会计算
boolean flag = (i < 3) & (i < 4);
System.out.println(flag);
|: 非短路运算符, 逻辑或
当两边有一边为真时,结果为真,否则为假
要求左右两个表达式有一个为true时就返回true,两个表达式他都会计算
flag = (i > 4) | (i > 3);
System.out.println(flag);
}
}
&&: 短路运算符, 短路与
要求左右两个表达式都为true时才返回true,如果左边第一个表达式为false时,
它立刻就返回false,就好像短路了一样立刻返回,省去了一些无谓的计算时间。
boolean flag = (i < 3) && (i < 4);
System.out.println(flag);
||: 短路运算符, 短路或
要求左右两个表达式有一个为true时就返回true,如果左边第一个表达式为true时,
它立刻就返回true,就好像短路了一样立刻返回,省去了一些无谓的计算时间。
flag = (i > 4) || (i > 3);
System.out.println(flag);