逻辑运算符:
* &&:逻辑与 用于连接两个条件表达式,如果两边表达式的结果都为true,则整个表达式的结果为true
* ——&&有短路运算,如果左边表达式的结果为false,则右边表达式不执行——
* ||:逻辑或 用于连接两个条件表达式,只要有一遍表达式的结果为true,则整个表达式的结果为true,否则为false
* ——||有短路运算,如果左边表达式的结果为true,则右边表达式不执行——
* ! :逻辑非 后面放一个条件表达式,如果条件表达式的结果为true,则整个表达式的结果为false,否则相反
* 注意:条件表达式指的是返回值为boolean型的表达式
*
*/
int a=1;
int b=4;
int c=6;
boolean flag = a>b && b==c;
System.out.println(flag);
boolean flag1 = a>b && false;
int i=10;
int j=10;
boolean flag= i<10 && j++>10; //&&短路运算,如果左边表达式的结果为false,则右边表达式不执行
System.out.println(flag); //false
System.out.println(j); //10
boolean flag1= i==10 && j++>10; //j先参与运算,再进行+1操作
System.out.println(flag1); //false
System.out.println(j); //11
boolean flag2= i==10 && ++j>10; //j先+1,再参与运算
System.out.println(flag2); //true
System.out.println(j); //12
int a=5;
int b=6;
boolean flag = a==b || true;
System.out.println(flag); //true
boolean flag1 = a==b || false;
System.out.println(flag1); //false
int k=100;
int m=k++; //m=100 k=101
int n=m++; //n=100 m=101 k=101
boolean flag = k<m || m++>n++;
System.out.println(flag); //true
System.out.println(k); //101
System.out.println(m); //102
System.out.println(n); //101
int k=100;
int m=k++; //m=100 k=101
int n=m++; //n=100 m=101 k=101
boolean flag = k==m || m++>n++; //短路运算
System.out.println(flag); //true
System.out.println(k); //101
System.out.println(m); //101
System.out.println(n); //100
double d=5.6;
double d1=5;
boolean flag = !(d>d1);
System.out.println(flag); //false