java中的&与&&,| 与 | | 的异同及使用

java中的&与&&,| 与 | | 的异同及使用

1.逻辑运算符&和&&的区分

& : 叫做按位与
&&:叫做短路与
下面我们直接用一段代码的运行结果来更加直观的区分&和&&:
&代码:

		boolean x=true;
		int num1=10;
		if(x &(num1++>0))
		{
			System.out.println("&:A");
		}
		else {
			System.out.println("&:B");
		}
		System.out.println("num1="+num1);

&&代码:

		boolean y=true;
		int num2=10;
		if(y &&(num2++>0))
		{
			System.out.println("&&:A");
		}
		else {
			System.out.println("&&:B");
		}
		System.out.println("num2="+num2);

运行结果:
在这里插入图片描述

从以上&和&&的代码运行结果来看,&和&&的运行结果相同,参数的值也相同。
接下来我们改变x和y的真值,再来观察运行结果有何变化:
&中对x的真值加以改变:

		boolean x=true;
		x=false;
		int num1=10;
		if(x &(num1++>0))
		{
			System.out.println("  &:A");
		}
		else {
			System.out.println("  &:B");
		}
		System.out.println("  num1="+num1);

&&中对y的真值也加以相同的改变:.

		boolean y=true;
		int num2=10;
		y=false;
		if(y &&(num2++>0))
		{
			System.out.println("  &&:A");
		}
		else {
			System.out.println("  &&:B");
		}
		System.out.println("  num2="+num2);

运行结果:
在这里插入图片描述

在改变x和y的真值之后我们会发现两者的答案相同,但是我们会发现参数的值却不相同。

由此我们可得出结论:
相同点:
1.运算结果相同
2.当符号左边都是true时都会执行符号右边的运算
不同点:
1.当符号左边为flase时,&会执行右边的运算,&&不会执行右边的运算

2.区分 | 和 | |

| | 和 | 都是表示“或”的意思
|、| |和&、&&有着相同之处,我们把上边的代码进行修改就可以直接进行运用
|代码:

boolean x=true;
		x=false;
		int num1=10;
		if(x |(num1++>0))
		{
			System.out.println("  |:A");
		}
		else {
			System.out.println("  |:B");
		}
		System.out.println("  num1="+num1);
		

| |代码:

boolean y=true;
        y=false;
		int num2=10;
		if(y ||(num2++>0))
		{
			System.out.println("  ||:A");
		}
		else {
			System.out.println("  ||:B");
		}
		System.out.println("  num2="+num2);

运行结果:
在这里插入图片描述

从运行结果上来看 | 和 | | 两者的运行结果相同,参数也同样相同。

接下来我们对x和y的真值加以改变
|代码:

boolean x=true;
		int num1=10;
		if(x |(num1++>0))
		{
			System.out.println("  |:A");
		}
		else {
			System.out.println("  |:B");
		}
		System.out.println("  num1="+num1);
		

| |代码:

boolean y=true;
		int num2=10;
		if(y ||(num2++>0))
		{
			System.out.println("  ||:A");
		}
		else {
			System.out.println("  ||:B");
		}
		System.out.println("  num2="+num2);

运行结果:
在这里插入图片描述
在改变x和y的真值之后我们会发现两者的运行结果相同,但是参数不相同

由此我们可得出结论:
相同点:
1.运算结果相同
2.当符号左边都是false时都会执行符号右边的运算
不同点:
1.当符号左边为true时,| 会执行右边的运算,| | 不会执行右边的运算

总结:&、&& 和 | 、| | 的异同是有相同之处的,所以只要能够很好的掌握一种就能够快速的掌握另外一种。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值