关系运算和逻辑运算( &与&& 和 |与||的区别)

关系运算和逻辑运算

关系运算(比较)

>    >=    <    <=    !=    ==  (对象 instanceof 类)
1.区分= 和 == 区别

⑴ =赋值符号 将=后面的结果(值 引用)存入=左边的变量空间内
⑵ = =比较符号 比较= =后面的元素(值 引用)与前面的是否一致

2.比较运算的最终结果为true或false

运算结果为boolean型,只有两种结果(true或false)

逻辑运算

逻辑运算符前后连接的两个都是boolean的值
逻辑运算最终的结果还是boolean

&逻辑与逻辑或^逻辑异或
&&短路与短路或!逻辑非
   | 逻辑或    ||短路或
		(3>2) & (3>1)    //逻辑与,前面和后面的都要判断出来,才输出
//		true	true
//			true
//		-------------------------
		(3>4)  |  (3>5)   //逻辑或,前后都要判断,才输出
//		false		false
//				false
//		-------------------------
		(3>1)  ^  (3>2)   //异(不同的)--->前后两个结果不一致  就可以
//		true         true
//		       false       
//		-------------------------
		!(3>2)
	 // !true  ==> false   
		//非--取反 将原来的结果取反
//		-------------------------
		(3>1) && (3>2)  
		true  &&  true	//与两个条件同时满足  如果当第一个条件已经为false  最终肯定是false
		      true
		-------------------------
		(3>2) || (3>4) = ?
		true    ||                    或两个条件有一个满足  如果当第一个条件为true  最终肯定为true
		       true

代码演示说明如下

public class luojipaiduan {
    public static void main(String[] args) {
        boolean result = true;
        int i = 1;
        int j = 1;
        result = ((i++) == 2) & ((j++) == 1);
        //与运算,前后都要判断,都要进行运算
        System.out.println("i=" + i);//i=2
        System.out.println("j=" + j);//i=2
        System.out.println(result);
        System.out.println("-------------");
        int i1 = 1;
        int j1 = 1;
        result = ((i1 ++) == 2) && ((j1 ++) == 2);
        //i++先看等于 再加加,所以(i++) == 2是false
        //&&短路与,在前面的为false则直接退出逻辑运算
        System.out.println("i1=" + i1);//i=2
        System.out.println("j1=" + j1);//i=1
        System.out.println(result);
        System.out.println("-------------");
        int x = 1;
        int y = 1;
        result = ((++x) == 2) | ((y++) == 2);
        //与运算,|前后都要运行,才能结束
        System.out.println("x=" + x);//x=2
        System.out.println("y=" + y);//y=2
        System.out.println(result);
        System.out.println("-------------");
        int x1 = 1;
        int y1 = 1;
        result = ((++x1) == 2) || ((y1++) == 2);
        //逻辑或运算,前面的为true则直接退出逻辑判断,不执行后面的判断
        System.out.println("x1=" + x1);//x1=2
        System.out.println("y1=" + y1);//y1=1
        System.out.println(result);
    }
}

在这里插入图片描述

为什么有了||和&&运算,还要|和&运算

程序对于这个运算符的存在,并且长期存在,就预示着,存在即合理
就像上面的|和&代码,不仅要执行逻辑判断,也要执行逻辑判断后面的算数语句。也是一个执行语句。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值