java 运算符 && vs & 和 || vs | 的区别

&& vs & 和 || vs | 的区别

&& 和 ||  做的是逻辑运算(具有短路功能)

&  和 |  可做位运算和逻辑运算(没有短路功能)

案例   && 与 &

public static void main(String[] args) {
		//短路与&& vs 非短路与&
		int a =10;
		int b =20;
		int c =30;
		
		//boolean flag = a>b && ++b>c;//左边为假,右边短路了
		//System.out.println(flag);//false
		//System.out.println(b);//20
		
		boolean flag = a>b & ++b>c;//右边不短路
		System.out.println(flag);//false
		System.out.println(b);//21			

	}

案例 || 与 |

public static void main(String[] args) {
		//短路或|| vs 非短路|		
		int a =10;
		int b =20;
		int c =30;
		
		//boolean flag = a<b||++b>c;//左边为真,右边短路了
		//System.out.println(flag);//true
		//System.out.println(b);//20
		
		boolean flag = a<b|++b>c;//右边不短路
		System.out.println(flag);//true
		System.out.println(b);//21	

	}

三目运算符

三目条件运算符的语法为:

表达式1 ? 表达式2 : 表达式3

举例如下:

int a=3, b=6;

int x = a>b? a:b;

那么计算结果就是x=6。

在三目条件运算中,表达式1和表达式2的值可以是任意一种基本数据类型。

例子

public static void main(String[] args) {
        // 三目条件运算符        
        int a=10;
        int b=20;
        
        boolean flag = a<b?true:false;    // ture
        char c = a<b?'真':'假';            //真
        String ret = a<b?"正确":"错误";  //正确
        int x = a<b?1:0;         //1
        double y = a<b?1.0:2.0;   //1.0

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值