Java之逻辑运算符

逻辑运算符

介绍

用于连接多个条件,最终的结果也是一个double的值。



规则

1.a&b : & 叫逻辑与:规则:当 a 和 b 同时为 true ,则结果为 true, 否则为 false
2.a&&b : && 叫短路与:规则:当 a 和 b 同时为 true ,则结果为 true,否则为 false
3.a|b: | 叫逻辑或,规则:当 a 和 b ,有一个为 true ,则结果为 t
4.a||b : || 叫短路或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false
5.!a: 叫取反,或者非运算。当 a 为 true, 则结果为 false, 当 a 为 false ,结果为 true
6.a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为false



&&和&的区别?

&&短路与,若第一个条件为false,后面的条件直接跳过,结果为false
&逻辑与,若第一个条件为false,后面的条件会执行,结果为false



练习短路与&&与逻辑与&

public class  text {
	
	public static  void main (String [] args) {
		
		
		int  a = 4;
		int  b = 9;
		//  &&短路与,若第一个条件为false,后面的条件直接跳过,结果为false
        //  &逻辑与,若第一个条件为false,后面的条件会执行,结果为false
		if(a < 3 && ++b <30) {	
				System.out.println( "结果为真");	
		}
			
				System.out.println( "a="+a+"\n b="+b);//结果输出 a= 4,b=9  
				//若中间是逻辑与&,那么结果输出 a= 4,b=10
	}
	
}



||和|的区别?

||短路或,若第一个条件为true,后面的条件直接跳过,结果为true
|逻辑与,若第一个条件为true,后面的条件会执行,结果为true



练习短路或||与逻辑或|

public class  text {
	
	public static  void main (String [] args) {
		
		
		int  a = 4;
		int  b = 9;
		//  ||短路或,若第一个条件为true,后面的条件直接跳过,结果为true
        //  |逻辑或,若第一个条件为true,后面的条件也会执行,结果为true		if(a > 3 || ++b <30) {	
				System.out.println( "结果为真");	
		}
			
				System.out.println( "a="+a+"\n b="+b);//结果输出 a= 4,b=9  
				//若中间是逻辑或|,那么结果输出 a= 4,b=10
	}
	
}



练习题

int x = 5;
int y = 5;
if(x++==6 & ++y==6) {  //按照执行x==6不成立,x=x+1;y=y+1,y==6成立
    
    x = 11;
}
System.out.println("x="+x+",y="+y); //x = 6 , y = 6

int x = 5;
int y = 5;
if(x++==6 && ++y==6) {  //按照执行x==6不成立,x=x+1;后面也不在执行
    
    x = 11;
}
System.out.println("x="+x+",y="+y); //x = 6 , y = 5

int x = 5;
int y = 5;
if(x++==5 | ++y==5) {  //按照x==5成立,x=x+1; y=y+1,y==5不成立
    
    x = 11;
}
System.out.println("x="+x+",y="+y); //x = 11, y = 6

int x = 5;
int y = 5;
if(x++==6 && ++y==6) {  //按照x==5成立,x=x+1; 后面不执行
    
    x = 11;
}
System.out.println("x="+x+",y="+y); //x = 11 , y = 5

boolean x = ture;
boolean y = false;
short z = 46;
if((z++==46)&&(y=true)) z++; //z=48,y=true是赋值语句为真,因为ture就是真
if((x=false)||(++z==49)) z++; //x=false是是赋值语句为假,因为false就是假;z=z+1, 49==49,z=z+1
System.out.println("z="+z); //z=50

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值