表达式1 逻辑运算符 表达式2
表达式1和表达式2的结果都必须是布尔类型
表达式1&&表达式2
规则1:只有当表达式1和表达式2的结果都为true,&&的最终结果才会为true
规则2:当表达式1结果为false时,表达式2不会去执行,&&的最终结果为false
规则3:表达式1、表达式2的结果中至少有一个为false时,那么&&的最终结果必然是false
接下来我们去验证一下规则2----表达式2到底执不执行???
示例代码如下所示:
public class Test {
public static void main(String[] args) {
int m=9,n=8;
boolean result=m<8&&n++>5;
System.out.print("&&的最终结果为: "+result);
System.out.print("n的值为: "+n);
// 如果表达式2不执行的话,那么n=8,若执行n=9;
}
}
示例代码运行截图如下所示:
表达式1&表达式2
规则1:只有当表达式1和表达式2的结果都为true,&的最终结果才会为true
规则2:当表达式1结果为false时,表达式2也还是会去执行,&的最终结果为false
规则3:表达式1、表达式2的结果中至少有一个为false时,那么&的最终结果必然是false
接下来我们去验证一下规则2----表达式2到底执不执行???
示例代码如下所示:
public class Test {
public static void main(String[] args) {
int m=9,n=8;
boolean result=m<8&n++>5;
System.out.print("&的最终结果为: "+result);
System.out.print("n的值为: "+n);
// 如果表达式2不执行的话,那么n=8,若执行n=9;
}
}
示例代码运行截图如下所示:
表达式1||表达式2
规则1:只有当表达式1和表达式2的结果都为false,&&的最终结果才会为false
规则2:当表达式1结果为true时,表达式2不会去执行,||的最终结果为true
规则3:表达式1、表达式2的结果中至少有一个为true时,那么||的最终结果必然是true
接下来我们去验证一下规则2----表达式2到底执不执行???
示例代码如下所示:
public class Test {
public static void main(String[] args) {
int r=9,s=8;
boolean result=r<100||s++>5;
System.out.println("||的最终结果为: "+result);
System.out.print("s的值为: "+s);
// 如果表达式2不执行的话,那么s=8,若执行s=9;
}
}
示例代码运行截图如下所示:
表达式1|表达式2
规则1:只有当表达式1和表达式2的结果都为false,|的最终结果才会为false
规则2:当表达式1结果为true时,表达式2也还是会去执行,|的最终结果为true
规则3:表达式1、表达式2的结果中至少有一个为true时,那么&的最终结果必然是true
接下来我们去验证一下规则2----表达式2到底执不执行???
示例代码如下所示:
public class Test {
public static void main(String[] args) {
int r=9,s=8;
boolean result=r<100|s++>5;
System.out.println("|的最终结果为: "+result);
System.out.print("s的值为: "+s);
// 如果表达式2不执行的话,那么s=8,若执行s=9;
}
}
示例代码运行截图如下所示:
规则:++在前,先加后用
解释:就是先把数加1,然后再去执行当前操作,执行完当前操作后数字还是会加上1
示例代码如下所示:
public class Test {
public static void main(String[] args) {
int r=9,s=8;
System.out.println("++r的最终结果为: "+(++r));
//先加再用,因此此时会打印10
System.out.println("执行完++r操作后, r的结果为: "+r);
}
}
示例代码运行截图如下所示:
规则:++在后,先用后加
解释:就是先把执行当前操作,执行完当前操作后数字才会加上1
示例代码如下所示:
public class Test {
public static void main(String[] args) {
int r=9,s=8;
System.out.println("r++的最终结果为: "+(r++));
//先用再加,因此此时会打印9
System.out.println("执行完r++操作后, r的结果为: "+r);
}
}
示例代码运行截图如下所示:
规则**:- -在前(变量前),先减后用**
解释:就是先把数减1,然后再去执行当前操作
示例代码如下所示:
public class Test {
public static void main(String[] args) {
int r=9,s=8;
System.out.println("--r的最终结果为: "+(--r));
// 先减后执行当前操作,会打印8
System.out.println("执行完--r操作后, r的结果为: "+r);
}
}
示例代码运行截图如下所示:
规则:- -在后,先用后减
解释:就是先执行完当前操作,执行完当前操作后数字才会减去1
示例代码如下所示:
public class Test {
public static void main(String[] args) {
int r=9,s=8;
System.out.println("r--的最终结果为: "+(r--));
// 先减后执行当前操作,会打印8
System.out.println("执行完r--操作后, r的结果为: "+r);
}
}
示例代码运行截图如下所示:
语法:表达式1?表达式2:表达式3;
规则:当表达式1的结果为true时,返回表达式2的结果
当表达式1的结果为false时,返回表达式3的结果
示例代码如下所示:
public class Test02{
public static void main(String[] args) {
int a=10,b=90;
int max=a>b?a:b;
//因为a<b所以表达式1的结果为false,返回表达式3的结果,即max的值为b
//int min=a<b?a:b;
System.out.println("max的值为: "+max);
}
}
示例代码运行截图如下所示: