大数据必学Java基础(十七):关系运算符和逻辑运算符

举报
Lansonli 发表于 2022/07/16 10:00:07 2022/07/16
【摘要】 ​关系运算符和逻辑运算符一、关系运算符关系运算符最终结果:要么是true要么是false代码练习public class TestOpe08{ public static void main(String[] args){ //>,<,>=,<=,==,!= //关系运算符最终结果:要么是true要么是false ...

​关系运算符和逻辑运算符

一、关系运算符

关系运算符最终结果:要么是true要么是false

代码练习

public class TestOpe08{
        public static void main(String[] args){
                //>,<,>=,<=,==,!=
                //关系运算符最终结果:要么是true要么是false
                System.out.println(4>9);//false
                System.out.println(4<9);//true
                System.out.println(4>=9);//false
                System.out.println(4<=9);//true
                System.out.println(4==9);//false
                System.out.println(4!=9);//true
                System.out.println((5<9)!=(6==8));//true
        }
}


二、逻辑运算符

&,|, &&,||,!,^

逻辑运算符:进行逻辑运算的,运算符左右连接的都是 布尔类型的操作数,最终表达式的结果是布尔值:要么是true,要么false

代码练习

public class TestOpe09{
        public static void main(String[] args){
                // 逻辑与 :& 规律:只要有一个操作数是false,那么结果一定是false
                System.out.println(true&true);
                System.out.println(true&false);
                System.out.println(false&false);
                System.out.println(false&true);
                
                // 短路与:&& 规律:效率高一些,只要第一个表达式是false,那么第二个表达式就不用计算了,结果一定是false
                System.out.println(true&&true);
                System.out.println(true&&false);
                System.out.println(false&&false);
                System.out.println(false&&true);
                
                // 逻辑或:| 规律:只要有一个操作数是true,那么结果一定是true
                System.out.println(true|true);
                System.out.println(true|false);
                System.out.println(false|false);
                System.out.println(false|true);
                
                // 短路或:|| 规律:效率高一些,只要第一个表达式是true,那么第二个表达式就不用计算了,结果一定是true
                System.out.println(true||true);
                System.out.println(true||false);
                System.out.println(false||false);
                System.out.println(false||true);
                
                //逻辑非:   !  规律:相反结果
                System.out.println(!true);//false
                System.out.println(!false);//true
                
                //逻辑异或: ^  规律:两个操作数相同,结果为false,不相同,结果为true
                System.out.println(true^true);
                System.out.println(true^false);
                System.out.println(false^false);
                System.out.println(false^true);
        }
}


再做一个加深的练习:看代码 说结果:

public class TestOpe10{
        public static void main(String[] args){
                int i=8;
                System.out.println((5>7)&&(i++==2)); //false
                System.out.println(i);  //8 
                
                
                int a=8;
                System.out.println((5>7)&(a++==2)); //false
                System.out.println(a); //9
                
                
                int m=8;
                System.out.println((5<7)&&(m++==2)); //false
                System.out.println(m); //9
                
                int b=2;
                System.out.println((5<7)&(b++==2)); //true
                System.out.println(b);  //3
                
                int c=2;
                System.out.println((5<7)&(++c==2)); //false
                System.out.println(c);  //3
        }
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。