内容纲要
68讲关系运算符、逻辑运算符
逻辑运算符
public class LogicOperater{
public static void main(String[] args){
int age = 50;
//短路与的使用&&
if(age > 20 && age < 90){
System.out.println("123213");
}
//逻辑与的使用&
if(age > 20 & age < 90){
System.out.println("asdasda");
//目前&和&&没有区别
}
//区别
int a = 4;
int b = 9;
//对于&&短路与而言,如果第一个条件为false,后面条件不再判断;
if(a < 1 && ++b < 50){
System.out.println("OK");
}
System.out.println("a=" + a + "b=" + b);//4 9
System.out.println("=========================");
int c = 4;
int d = 9;
//对于&逻辑与而言,如果第一个条件为false,后面依旧判断;
if(c < 1 & ++d < 50){
System.out.println("OK");
}
System.out.println("c=" + c + "d=" + d);//4 10
}
}
逻辑与和短路与的区别
逻辑或与短路或
public class LogicOperater{
public static void main(String[] args){
int a = 4;
int b = 9;
//对于||短路或而言,如果第一个条件为true,后面条件不再判断;
if(a > 1 || ++b < 50){
System.out.println("OK");
}
System.out.println("a=" + a + "b=" + b);//4 9
System.out.println("=========================");
int c = 4;
int d = 9;
//对于|逻辑或而言,如果第一个条件为true,后面依旧判断;
if(c > 1 | ++d < 50){
System.out.println("OK");
}
System.out.println("c=" + c + "d=" + d);//4 10
}
}
逻辑非
public class InverseOperator{
public static void main(String[] args){
System.out.println(60 > 90); //false
System.out.println(!(60 > 90));//true
//a^b :逻辑异或,当 a 和 b 不同时,结果为true,否则为false
boolean a = (10 > 5) ^ (3 < 4);
System.out.println( a );//false,上述2个值判断出来都为true,所以异或运算结果为false
}
}
注意一个陷阱
呵呵; (y=true)这个是赋值不是判断哈。离谱