位逻辑运算符:
&(与操作AND)、^(异或操作XOR)、|(或操作OR)
逻辑运算符:
&&(与操作AND)、||(或操作符OR)
区别:
“&”与“&&”的区别:使用&,左边无论真假,右边都进行参与运算;使用&&,如果左边为真,右边参与运算,如果左边为假、右边不参与运算
“|”与“||”的区别:使用“|”,左边无论真假,右边都参与运算,使用“||”,如果左边为真,右边不参与运算,如果左边为假,右边参与运算
- public class TestDemo {
- public static void main(String[] args) {
- test7();
- }
- //验证"&"的使用,左边无论真假,右边都进行参与运算
- //左边为假
- public static void test(){
- if(10!=10 & 10/0==0){
- System.out.println("true");
- }else{
- System.out.println("false");
- }
- }
- //左边为真
- public static void test1(){
- if(10==10 & 10/0==0){
- System.out.println("true");
- }else{
- System.out.println("false");
- }
- }
- //验证"&&"的使用,如果左边为真,右边参与运算,如果左边为假、右边不参与运算
- //左边为假
- public static void test2(){
- if(10!=10 && 10/0==0){
- System.out.println("true");
- }else{
- System.out.println("false");
- }
- }
- //结果为false
- //左边为真
- public static void test3(){
- if(10==10 && 10/0==0){
- System.out.println("true");
- }else{
- System.out.println("false");
- }
- }
- //验证"|"的使用,左边无论真假,右边都参与运算
- //左边为假
- public static void test4(){
- if(10!=10 | 10/0==0){
- System.out.println("true");
- }else{
- System.out.println("false");
- }
- }
-
- //左边为真
- public static void test5(){
- if(10==10 | 10/0==0){
- System.out.println("true");
- }else{
- System.out.println("false");
- }
- }
- //验证"||"的使用,如果左边为真,右边不参与运算,如果左边为假,右边参与运算
- //左边为假
- public static void test6(){
- if(10!=10 || 10/0==0){
- System.out.println("true");
- }else{
- System.out.println("false");
- }
- }
- //左边为真
- public static void test7(){
- if(10==10 || 10/0==0){
- System.out.println("true");
- }else{
- System.out.println("false");
- }
- }
- }
- /*
- *测试结果:
- * test()、test1()、test3()、test4()、test5()和test6()方法结果为:
- * Exception in thread "main" java.lang.ArithmeticException: / by zero
- *at com.cn.TestDemo.test2(TestDemo.java:29)
- *at com.cn.TestDemo.main(TestDemo.java:5)
- *
- *test2()方法的测试结果为false
- *test7()方法的测试结果为true
- * */
复制代码
|