逻辑运算符
逻辑运算符
两边的操作数必须值为boolean类型(值,表达式)
一般用来用来连接两个条件
& 与
两边都满足才是满足,一个为false就是false
|
一个为true就是true,两个都为false才是false
! 取反 !true=>false !false->true
^ 异或
两边的操作数相等为false,不等为true
短路: 如果操作操作数能够决定整个结果,右边的操作数将不会执行
&&
||
注意: 逻辑运算符两边操作数结果必须为boolean
逻辑运算符最终的结果boolean类型的值
建议使用短路运算符
public class Demo09{
public static void main(String[] args){
System.out.println("----------&---------------");
System.out.println(true & false); //false
System.out.println(true & true); //true
System.out.println(false & true); //false
System.out.println(false & false); //false
System.out.println("zhangsan"!="zhangsan" & "lisi".equals("lisi")); //false
System.out.println("----------|---------------");
System.out.println(true | false); //true
System.out.println(true | true); //true
System.out.println(false | true); //true
System.out.println(false | false); //false
System.out.println("zhangsan"!="zhangsan" | "lisi".equals("lisi")); //true
System.out.println("----------!---------------");
System.out.println(!false); //true
System.out.println(!true); //false
System.out.println("----------^---------------");
System.out.println(true ^ false); //true
System.out.println(true ^ true); //false
System.out.println(false ^ true); //true
System.out.println(false ^ false); //false
System.out.println("zhangsan"!="zhangsan" | "lisi".equals("lisi")); //true
System.out.println("----------&&---------------");
System.out.println(true && false); //false
System.out.println(true && true); //true
System.out.println(false && true); //false
System.out.println(false && false); //false
System.out.println("zhangsan"!="zhangsan" & "lisi".equals("lisi")); //false
//System.out.println("zhangsan"!="zhangsan" & 5/0==0); //java.lang.ArithmeticException: / by zero
System.out.println("zhangsan"!="zhangsan" && 5/0==0); //false,因为第二个操作数不会执行,发生短路
String name = "张三";
int pwd = 1234;
//用户名与张三相等,同时必须是否为123相等,相等登录成功,不等登录失败
if(name.equals("张三") && pwd==123 ){
System.out.println("登录成功");
}else{
System.out.println("登录失败");
}
}
}
``